← The evidence ledger
Evidence row 549105
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://scrooge-x402-tool-mill.vercel.app/v1/watch
- Recorded
- Previous row
- #453690
- Body SHA-256
- d16ad2b039d2539f208c5162edf6897f257711147601140e87c8f3527e298abb
- Leaf
- 0xf0b905853e7dbbd2ea083638cf5b4350f6e4b05d9a9a8b88efaa4425884c9a78
What was observed
{
"endpoints": [
[
"x402",
"https://scrooge-x402-tool-mill.vercel.app/v1/watch"
]
],
"name": "scrooge-x402-tool-mill.vercel.app/v1/watch",
"owner_address": "0xfe2353c808f2409ccb81508005a62cef29457706",
"raw": {
"accepts": [
{
"amount": "100000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0xfE2353C808F2409cCb81508005A62cef29457706",
"scheme": "exact"
}
],
"description": "Watch one public page for 7 days. Checks hourly. When the content hash changes, POST {watch_id,url,old_fingerprint,new_fingerprint,changed_at} to your https callback (5s timeout, one retry). POST JSON {\"url\":\"https://example.com\",\"callback_url\":\"https://example.com/hook\"}. Returns {watch_id,url,expires,status_url}. Free status is GET /v1/watch/:id and does not show the callback. At 500 active watches, POST returns 503 before payment. $0.10 USDC on Base (eip155:8453). No API key.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"callback_url": "https://example.com/hook",
"url": "https://example.com"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"expires": "2026-10-12T00:00:00.000Z",
"status_url": "https://scrooge-x402-tool-mill.vercel.app/v1/watch/0123456789abcdef0123456789abcdef",
"url": "https://example.com/",
"watch_id": "0123456789abcdef0123456789abcdef"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"callback_url": {
"description": "Public https URL that receives one POST when the page content hash changes",
"format": "uri",
"type": "string"
},
"url": {
"description": "Public http(s) URL to fetch (SSRF-safe; private/link-local blocked)",
"format": "uri",
"type": "string"
}
},
"required": [
"url",
"callback_url"
],
"type": "object"
},
"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": {
"additionalProperties": false,
"properties": {
"expires": {
"description": "When the 7-day watch ends",
"format": "date-time",
"type": "string"
},
"status_url": {
"description": "GET this for status. The callback URL is not included.",
"type": "string"
},
"url": {
"description": "Page being watched",
"type": "string"
},
"watch_id": {
"description": "Id for the free status URL",
"type": "string"
}
},
"required": [
"watch_id",
"url",
"expires",
"status_url"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-10-27T07:26:36.663Z",
"quality": {
"l30DaysTotalCalls": 3,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-10-27T07:26:36.083Z"
},
"resource": "https://scrooge-x402-tool-mill.vercel.app/v1/watch",
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Watch one public page for 7 days. Checks hourly. When the content hash changes, POST {watch_id,url,old_fingerprint,new_fingerprint,changed_at} to your https callback (5s timeout, one retry). POST JSON {\"url\":\"https://example.com\",\"callback_url\":\"https://example.com/hook\"}. Returns {watch_id,url,expires,status_url}. Free status is GET /v1/watch/:id and does not show the callback. At 500 active watches, POST returns 503 before payment. $0.10 USDC on Base (eip155:8453). No API key."
}What the leaf hashes
{"body":"d16ad2b039d2539f208c5162edf6897f257711147601140e87c8f3527e298abb","id":549105,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793133349874965,"prev":453690,"subject":"x402_bazaar:https://scrooge-x402-tool-mill.vercel.app/v1/watch","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0xf0b90fbf1d4e1805f6221ec164d37866948412629572a085bcce4f7bcdbc6cec
- 0x61e179a30c1b42cf14155de1844608b412a2503845fa951f037d4f84619756f3
- 0x5258e69a5fa2ce8cd58ddad8afe6b0e82bb0cf96a92adf18ff1e179cfd386a6e
- 0x690285b58f1a3dc95371484bcae47fbe914c835d53f09870ab3eb3d0b000e50c
- 0xae9f626c50ee5ece815d8443298159d2f8188cf4d71d37112e7e7bd170c8f62f
- 0xb364aed7f9a1c5de17bf8b7495fe93f5c65460f213e3522fc8880fe9dbd774a4
- 0xcf12c8f37a1b036323f10607731e8609ce66b7aa6a24c51b259792134ba39da0
- 0xdb2c8271f2a265dfc431c9629ab6df406b2429b55f3da290ef03c1fc4df944ed
- 0xde7a56f4c3cfd442962cc4b161de5f6b061d36c3ad3bed01b0bd8be6e01f96bb
- 0xa8ede6cbd2329bd5bed9232d36784842db5d39cce33fa60c3f43dfb8d8d175a2
- 0x86a162701c5c4382d7e2217c5bfe590eb52de9faf1001063b4fb50d51cc6745b
- 0x8b1294df8f40a2bb6ff0bafdf2505700af24dfe2985fb999b2353f4c85cb56ba
- 0xe0ddf3e1c8349b7fe55d4b2a6864486a77de3e3c0e371df44d69aeb837cfd79c
- 0xce1471491ffb52101d7cd9884cca0fb37a9496f6e8250375054907d24a35d04f
- 0x56f7109d4cde42492651beb1237c13cdcbf95e6fee2b2482391a2388e04c4629
- 0x8745bd887f5ce9f7a49558fd2b04cdcd97a05ea9f8a23f62d0e80cb13d328b0f
- 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4