addrbookFor publishers
← The evidence ledger

Evidence row 1261539

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://readfetch.com/v1/diff
Recorded
Previous row
#1040163
Body SHA-256
cca20e7e9bb7ea39765cc9d26a4e363c0cb4a2dfc87a815d0dd2cc81ff72a513
Leaf
0xec55248758ddae707d3ca8cc9434b2d01cd268b3970591640b3be7d72f560af1

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://readfetch.com/v1/diff"
    ]
  ],
  "name": "readfetch.com",
  "owner_address": "0x26c2308adc8fe5ffe6d4183588dd2dd22ed86071",
  "raw": {
    "accepts": [
      {
        "amount": "3000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "description": "Stateless change detection: send the hash you hold, get changed/unchanged and a bounded diff. A no-change answer is billable.",
        "extra": {
          "name": "USD Coin",
          "paymentFlow": "authorization",
          "version": "2"
        },
        "maxAmountRequired": "3000",
        "maxTimeoutSeconds": 60,
        "mimeType": "application/json",
        "network": "eip155:8453",
        "payTo": "0x26C2308aDC8fe5FFE6d4183588DD2DD22ed86071",
        "resource": "https://readfetch.com/v1/diff",
        "scheme": "exact"
      }
    ],
    "description": "Stateless change detection: send the hash you hold, get changed/unchanged and a bounded diff. A no-change answer is billable.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "format": "text",
              "url": "https://example.com"
            },
            "bodyType": "json",
            "description": "Stateless change detection. Send the hash you hold, get back whether it changed and a bounded diff.",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "description": "Stateless change detection: send the hash you hold, get changed/unchanged and a bounded diff. A no-change answer is billable.",
            "example": {
              "added": [
                "New line"
              ],
              "billed": true,
              "changed": true,
              "diff": "@@ -1 +1 @@\n-Old line\n+New line",
              "hash": "sha256:...",
              "hint": null,
              "removed": [
                "Old line"
              ],
              "status": "changed",
              "status_code": 200,
              "url": "https://example.com/pricing"
            },
            "format": "application/json",
            "type": "json"
          }
        },
        "schema": {
          "$defs": {},
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "properties": {
                "body": {
                  "properties": {
                    "egress": {
                      "description": "Exit to leave through: `direct` (this service's own datacentre egress) or `residential` (a residential address pool, for targets that refuse datacentre addresses). Omit to use the default route.",
                      "title": "Egress",
                      "type": "string"
                    },
                    "format": {
                      "default": "text",
                      "enum": [
                        "text",
                        "markdown"
                      ],
                      "type": "string"
                    },
                    "previous_content": {
                      "description": "Previous text, for an added/removed diff.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "previous_hash": {
                      "description": "sha256:... from a previous call.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "timeout_s": {
                      "maximum": 120,
                      "minimum": 1,
                      "type": "number"
                    },
                    "url": {
                      "format": "uri",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "type": "object"
                },
                "bodyType": {
                  "const": "json"
                },
                "method": {
                  "enum": [
                    "POST"
                  ]
                },
                "type": {
                  "const": "http"
                }
              },
              "required": [
                "type",
                "method",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "added": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "billed": {
                  "type": "boolean"
                },
                "changed": {
                  "type": "boolean"
                },
                "diff": {
                  "type": "string"
                },
                "hash": {
                  "type": "string"
                },
                "hint": {
                  "type": "null"
                },
                "removed": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "status": {
                  "type": "string"
                },
                "status_code": {
                  "type": "integer"
                },
                "url": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "readfetch": {
        "llms_txt": "https://readfetch.com/llms.txt",
        "mcp": "https://readfetch.com/mcp",
        "mcp_manifest": "https://readfetch.com/.well-known/mcp.json",
        "openapi": "https://readfetch.com/openapi.json",
        "payment_status": "live",
        "probe": {
          "method": "POST",
          "note": "Free ~400-character preview for the same URL before paying",
          "path": "/v1/probe",
          "price_usd": 0
        },
        "related_endpoints": [
          {
            "path": "/v1/probe"
          },
          {
            "path": "/v1/scrape"
          }
        ],
        "service_manifest": "https://readfetch.com/.well-known/service.json",
        "skill": "https://readfetch.com/SKILL.md",
        "x402_resources": "https://readfetch.com/.well-known/x402-resources.json"
      }
    },
    "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1793278990/bazaar-icons/a51ede90f06a90b8.png",
    "lastUpdated": "2026-10-30T16:47:05.285Z",
    "quality": {
      "l30DaysTotalCalls": 3,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-30T16:47:05.027Z"
    },
    "resource": "https://readfetch.com/v1/diff",
    "serviceName": "readfetch.com",
    "tags": [
      "change detection",
      "data",
      "diff",
      "hash",
      "monitoring"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Stateless change detection: send the hash you hold, get changed/unchanged and a bounded diff. A no-change answer is billable."
}

What the leaf hashes

{"body":"cca20e7e9bb7ea39765cc9d26a4e363c0cb4a2dfc87a815d0dd2cc81ff72a513","id":1261539,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793385513211709,"prev":1040163,"subject":"x402_bazaar:https://readfetch.com/v1/diff","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (243099 rows).

  1. 0xec551ff7a4c9935dfa8c8c959cf76156f60e0a26b9d47710732e29569ba9766a
  2. 0x5f7d081c439223d0baf0b0d900bc09fc63348b4859883ce303f36c8af23576ae
  3. 0xa6e6f580943181ca90adedaef1f4034054f158797449bf822109bed19602f291
  4. 0x0957db2a2c57a77b5816b86fa94c4dc345b80360b58947acaeb4e49ee7649a7f
  5. 0x9cafdccff339d20cf798ad6bf55e5d584a18636707d0e6ba733b1d223782ca58
  6. 0x6288074a21878c48e09410d7ec7cebf25def68aeedc3d57beaa2288546391666
  7. 0x176c7523707079dfb0d06f526a1d9b63858c23699d87447cdb1cb73c7461846c
  8. 0x4177dfcd93969de36c35034944a5e9fcfa22a9ff0ac75573d9c61eba78cfe448
  9. 0xb09c55c6559d54c563f6cb91724748d1c1de4250c1cc4b92f7afa9c51f75c420
  10. 0x27df256061a37c64da4b8473fbf1d514b4259605dcb23b3638ff04ae959834ba
  11. 0x686d017bffd8bb3a0ca896b687ce4d4f20799c75c84b2b7ebc8fdb5d2f62be28
  12. 0x2908b57ec5863fc27e3649606b46ec5a2818a2464f4a19174c020d4fd8780e06
  13. 0xe74b8a5bc06a9232ee8afb3c06edda55c8b71304b37e8d1a772d97f50d4d5d01
  14. 0x480837169e0b2dae12e25a5963879f1d41492816181ac128eeca59bf75b8d55d
  15. 0xea7df1002501052c124b5aed2b1a5df3d59be54394c6a8539c86fad1df339a9e
  16. 0xfbe61dc2d59668ac573e5eab865747e21d38bf2fe4c64762beef01f1018a4dea
  17. 0x71e74c274b23c9047354edb6dcd2c654415e3986b8bd875dae992996ea12e22b
  18. 0x0c43c73b62a5d49ee1444b5dc4195fc5b16b141d3f4458e2e9fbd5fd6ecb367d
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON