addrbookFor publishers
← The evidence ledger

Evidence row 1039794

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://readfetch.com/v1/text
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
16b01280d0b85a38535403c4a30dc3f54e15c4e52e85146b9efab4529c4a77e0
Leaf
0x28a5cd188f75e470efd5d9693abd0840eddaa70af6ff086452b6017e60488487

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://readfetch.com/v1/text"
    ]
  ],
  "name": "readfetch.com/v1/text",
  "owner_address": "0x26c2308adc8fe5ffe6d4183588dd2dd22ed86071",
  "raw": {
    "accepts": [
      {
        "amount": "5000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "description": "Fetch a public URL and return its main readable content as Markdown or plain text, plus title, author, published date and site name. Strips navigation, ads and boilerplate. No JavaScript rendering, so it costs a fraction of a browser scrape; use /v1/scrape when the content only appears after JavaScript runs.",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxAmountRequired": "5000",
        "maxTimeoutSeconds": 60,
        "mimeType": "application/json",
        "network": "eip155:8453",
        "payTo": "0x26C2308aDC8fe5FFE6d4183588DD2DD22ed86071",
        "resource": "https://readfetch.com/v1/text",
        "scheme": "exact"
      }
    ],
    "description": "Fetch a public URL and return its main readable content as Markdown or plain text, plus title, author, published date and site name. Strips navigation, ads and boilerplate. No JavaScript rendering, so it costs a fraction of a browser scrape; use /v1/scrape when the content only appears after JavaScript runs.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "format": "markdown",
              "max_bytes": 5000000,
              "timeout_s": 30,
              "url": "https://example.com"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "format": "markdown",
              "metadata": {
                "author": "A. Writer",
                "date": "2026-04-01",
                "sitename": "Example"
              },
              "size": 48213,
              "status": "success",
              "status_code": 200,
              "text": "# Post title\n\nBody as Markdown...",
              "title": "Post title",
              "url": "https://example.com/blog/post"
            },
            "format": "application/json",
            "type": "json"
          }
        },
        "schema": {
          "$defs": {},
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "properties": {
                "body": {
                  "properties": {
                    "accept_language": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Accept-Language header, e.g. 'de-DE,de;q=0.9'. Defaults to en-US.",
                      "title": "Accept Language"
                    },
                    "egress": {
                      "description": "Egress pool to leave through: `direct` (the default route, no proxy) or any pool the operator configured, e.g. `residential` (the home exit) or `local`. Omit to route by host rules.",
                      "title": "Egress",
                      "type": "string"
                    },
                    "egress_fallback": {
                      "description": "Pool to retry through once when the first attempt is refused (bot check, wall, empty extraction, origin 403/429/5xx); must differ from `egress`. Absent keeps one exit for the whole call.",
                      "title": "Egress Fallback",
                      "type": "string"
                    },
                    "format": {
                      "default": "markdown",
                      "description": "Output flavour: Markdown keeps headings, lists and tables.",
                      "enum": [
                        "markdown",
                        "text"
                      ],
                      "title": "Format",
                      "type": "string"
                    },
                    "max_bytes": {
                      "default": 5000000,
                      "description": "Abort if the response body exceeds this many bytes.",
                      "maximum": 20000000,
                      "minimum": 1024,
                      "title": "Max Bytes",
                      "type": "integer"
                    },
                    "timeout_s": {
                      "default": 30,
                      "description": "Total budget for the whole call in seconds: DNS, redirects, the render fallback and any retry share it.",
                      "maximum": 60,
                      "minimum": 1,
                      "title": "Timeout S",
                      "type": "number"
                    },
                    "url": {
                      "description": "Public http(s) URL to read.",
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "title": "Url",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "title": "TextRequest",
                  "type": "object"
                },
                "bodyType": {
                  "const": "json"
                },
                "method": {
                  "enum": [
                    "POST"
                  ]
                },
                "type": {
                  "const": "http"
                }
              },
              "required": [
                "type",
                "method",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "billed": {
                  "type": "boolean"
                },
                "status": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        }
      }
    },
    "lastUpdated": "2026-10-28T18:50:04.179Z",
    "quality": {
      "l30DaysTotalCalls": 2,
      "l30DaysUniquePayers": 2,
      "lastCalledAt": "2026-10-29T11:58:56.212Z"
    },
    "resource": "https://readfetch.com/v1/text",
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Fetch a public URL and return its main readable content as Markdown or plain text, plus title, author, published date and site name. Strips navigation, ads and boilerplate. No JavaScript rendering, so it costs a fraction of a browser scrape; use /v1/scrape when the content only appears after JavaScript runs."
}

What the leaf hashes

{"body":"16b01280d0b85a38535403c4a30dc3f54e15c4e52e85146b9efab4529c4a77e0","id":1039794,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793298461825057,"prev":null,"subject":"x402_bazaar:https://readfetch.com/v1/text","subject_kind":"source_record"}

Proof

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

  1. 0x28a5db485c5521e06c63dc8ea3e5e6eb56f17c0baad67fd73ac6b81b97230d46
  2. 0xec37003b9f92ccc7e4a41eee45fd923abd7185b5f86ed9cdd227384e16f939b5
  3. 0x87c6153f113e1e488f3eec45444161e741578592a175b3e8975b62d6d40498da
  4. 0x460dd44a10687ec40d80c2067aec7a8b1756c49f31a4bc9b2d70ff4aa35ff10c
  5. 0xe268ee995311b3858d703eb74de02a150206ebe42f1b1300302e3ad1b1d4ba14
  6. 0xf5c357305f9d2f03a4c375ddc0558118d8bf0ba72f8fe514309048a73ded2e3d
  7. 0xb9eb39a4aa916ad4a692f54b0c5c710807d2b1bb69a4501b270b2b79570d450e
  8. 0x1ea81f5945b9fbb4a2f857e0eaf7f6985c5b43852d0fc66723e2b6c3a6b6db67
  9. 0x3e5d45fe94b1fe37a7011de4ba995da72a62012e2acbfbe58a7ebc924f866656
  10. 0x663c7bd0670830a8716caaf5349f3ef0c95152d3471d4e2785a862f56776e7fa
  11. 0x2faa12cb35a7f746704eeee08d99b0799c5b3a6c630dff1d49ff9bc05004aea5
  12. 0xf30da75fe0e12b1668c26a6b3d0bb8e0c311e494aa0f674a84e8a5c6af4ebeaa
  13. 0x0578ac51015c13b031ebae2ad1327fb530b3c3e756fcd27ad5aec34155ce2a69
  14. 0xe5630d765942d2009587828da7f2d173776eecb52114ac282f05c7b772bfe337
  15. 0x00268e62f7d5ca6313e0e60afdc2bd4f52c6dbdb3b4b4d27e01e634b4bcb1d2c
  16. 0x1c3764b490d23b94e5ac838c89f8d3850dedb0819196f367da2479c7a88bf2c0
  17. 0xd76435ead496863d8b0bfab3434f54cd11da3c49d104fc4064b9cb3381567bbd
  18. 0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON