mirrored listing x402 eip155:8453

Livecheck Sentinel watch - 30-day URL condition watcher

Livecheck Sentinel watch - 30-day URL condition watcher. POST /v1/watch with {target, condition, callback, interval_s}. Detectors: status_change, keyword (same as /v1/check). HMAC-signed callbacks. Returns wtc_ id, owner_token (once), baseline, and a signed receipt. Fixed $2.50 USDC (2500000 atomic). GET/DELETE /v1/watch/{id} and GET /v1/watch/{id}/events with X-Livecheck-Owner-Token. No Playwright. Not /v1/check ($0.02) and not Confirm.

Do you run livecheck.fly.dev? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
2500000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-10
updated

Provider

livecheck.fly.dev · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x33693228b706cb30f4b4dbf35f79129a763f91c5",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "2500000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "callback": {
            "deliver": "on_change",
            "secret": "whsec_example",
            "url": "https://example.com/hooks/livecheck"
          },
          "condition": {
            "detector": "status_change",
            "params": {}
          },
          "interval_s": 900,
          "target": {
            "render": "never",
            "selector": null,
            "type": "url",
            "url": "https://boards.greenhouse.io/example/jobs/1842"
          }
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": {
          "baseline": {
            "captured": true,
            "hash": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
            "summary": "live 2xx (200); apply form present, no closure banner"
          },
          "checks_remaining": 2880,
          "condition": {
            "detector": "status_change",
            "params": {}
          },
          "expires_at": "2026-10-10T18:00:00Z",
          "first_check_at": "2026-09-10T18:00:00Z",
          "id": "wtc_01J8Z0K3N4P5Q6R7S8T9V0WWTC",
          "interval_s": 900,
          "next_check_at": "2026-09-10T18:15:00Z",
          "owner_token": "owt_01J8Z0K3N4P5Q6R7S8T9V0WOWT",
          "price_usd": 2.5,
          "receipt": {
            "hash": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
            "verify_url": "https://livecheck.fly.dev/v1/receipt/wtc_01J8Z0K3N4P5Q6R7S8T9V0WWTC"
          },
          "run": "none",
          "status": "active",
          "target": {
            "render": "never",
            "selector": null,
            "type": "url",
            "url": "https://boards.greenhouse.io/example/jobs/1842"
          },
          "tier": "standard"
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "properties": {
                "callback": {
                  "description": "url + secret. deliver=on_change or every_check. HMAC-SHA256 over the raw JSON body (X-Sentinel-Signature).",
                  "type": "object"
                },
                "chain_budget_usd": {
                  "description": "Accepted and ignored in Phase 2. run stays none.",
                  "type": "number"
                },
                "condition": {
                  "description": "detector status_change or keyword. Same as POST /v1/check.",
                  "type": "object"
                },
                "context": {
                  "type": "object"
                },
                "interval_s": {
                  "description": "Seconds between observations. Min 300, default 900.",
                  "type": "number"
                },
                "label": {
                  "type": "string"
                },
                "target": {
                  "description": "URL target. type=url, render=never. render=always is 400 render_not_available.",
                  "type": "object"
                }
              },
              "required": [
                "target",
                "condition",
                "callback"
              ]
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "properties": {
                "baseline": {
                  "properties": {
                    "captured": {
                      "type": "boolean"
                    },
                    "hash": {
                      "type": "string"
                    },
                    "summary": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "captured"
                  ],
                  "type": "object"
                },
                "checks_remaining": {
                  "type": "number"
                },
                "condition": {
                  "properties": {
                    "detector": {
                      "enum": [
                        "status_change",
                        "keyword"
                      ],
                      "type": "string"
                    },
                    "params": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "detector"
                  ],
                  "type": "object"
                },
                "expires_at": {
                  "type": "string"
                },
                "first_check_at": {
                  "type": "string"
                },
                "id": {
                  "description": "Stable watcher id (wtc_ + ULID).",
                  "type": "string"
                },
                "interval_s": {
                  "type": "number"
                },
                "next_check_at": {
                  "type": "string"
                },
                "owner_token": {
                  "description": "Returned once on create. Send as X-Livecheck-Owner-Token.",
                  "type": "string"
                },
                "price_usd": {
                  "type": "number"
                },
                "receipt": {
                  "properties": {
                    "hash": {
                      "type": "string"
                    },
                    "signature": {
                      "type": "string"
                    },
                    "signer": {
                      "type": "string"
                    },
                    "verify_url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "hash",
                    "verify_url"
                  ],
                  "type": "object"
                },
                "run": {
                  "enum": [
                    "none"
                  ],
                  "type": "string"
                },
                "status": {
                  "enum": [
                    "active",
                    "stopped",
                    "expired"
                  ],
                  "type": "string"
                },
                "target": {
                  "properties": {
                    "render": {
                      "enum": [
                        "never"
                      ],
                      "type": "string"
                    },
                    "selector": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "type": {
                      "enum": [
                        "url"
                      ],
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type",
                    "url",
                    "render"
                  ],
                  "type": "object"
                },
                "tier": {
                  "enum": [
                    "standard"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "id",
                "tier",
                "owner_token",
                "expires_at",
                "checks_remaining",
                "interval_s",
                "first_check_at",
                "baseline",
                "price_usd",
                "receipt"
              ],
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://livecheck.fly.dev/v1/watch"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://livecheck.fly.dev/v1/watch");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://livecheck.fly.dev/v1/watch")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/12329.json, and this resource appears in /discovery/resources and /discovery/search.