addrbookFor publishers
← The evidence ledger

Evidence row 2633172

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://readfetch.com/v1/text
Recorded
Previous row
#2200229
Body SHA-256
96f49fd9a665a6b55c4ae0b8c81c4b6f1477a083629de05929d1f56e4f8b973f
Leaf
0x1d939d2124c8a4006a62ac94a18eb91d6e04ae12a533d5dae944b02a3a87fc7e

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://readfetch.com/v1/text"
    ]
  ],
  "name": "readfetch.com",
  "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 by default (cheaper than readfetch_scrape); one Chromium fallback when plain HTTP is blocked. Prefer readfetch_fetch when you need raw status, headers, or non-HTML bytes; readfetch_scrape when the article only appears after JavaScript runs.",
        "extra": {
          "name": "USD Coin",
          "paymentFlow": "authorization",
          "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 by default (cheaper than readfetch_scrape); one Chromium fallback when plain HTTP is blocked. Prefer readfetch_fetch when you need raw status, headers, or non-HTML bytes; readfetch_scrape when the article only appears after JavaScript runs.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "format": "markdown",
              "max_bytes": 5000000,
              "timeout_s": 30,
              "url": "https://example.com"
            },
            "bodyType": "json",
            "description": "Article text and metadata, boilerplate stripped. No browser by default; falls back to one when a page blocks plain HTTP.",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "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 by default (cheaper than readfetch_scrape); one Chromium fallback when plain HTTP is blocked. Prefer readfetch_fetch when you need raw status, headers, or non-HTML bytes; readfetch_scrape when the article only appears after JavaScript runs.",
            "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"
                    },
                    "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": {
                "format": {
                  "type": "string"
                },
                "metadata": {
                  "properties": {
                    "author": {
                      "type": "string"
                    },
                    "date": {
                      "type": "string"
                    },
                    "sitename": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "size": {
                  "type": "integer"
                },
                "status": {
                  "type": "string"
                },
                "status_code": {
                  "type": "integer"
                },
                "text": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "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": {
          "free": true,
          "method": "POST",
          "note": "The only free POST — no wallet, no 402, no x402. Metadata plus optional ~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",
        "support": {
          "claims": {
            "method": "POST",
            "path": "/v1/claims",
            "url": "https://readfetch.com/v1/claims",
            "when": "paid delivery dispute; needs RECEIPT + EIP-191 signature"
          },
          "feedback": {
            "body": {
              "category": "integration|docs|site|other",
              "message": "≤500 chars",
              "request_id": "<from X-Request-Id>"
            },
            "free": true,
            "mcp_tool": "readfetch_feedback",
            "method": "POST",
            "path": "/v1/feedback",
            "url": "https://readfetch.com/v1/feedback"
          },
          "request_id_header": "X-Request-Id"
        },
        "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-11-03T11:12:44.824Z",
    "quality": {
      "l30DaysTotalCalls": 39,
      "l30DaysUniquePayers": 2,
      "lastCalledAt": "2026-11-03T11:12:51.283Z"
    },
    "resource": "https://readfetch.com/v1/text",
    "serviceName": "readfetch.com",
    "tags": [
      "ai agents",
      "article extraction",
      "data",
      "html to markdown",
      "html to 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 by default (cheaper than readfetch_scrape); one Chromium fallback when plain HTTP is blocked. Prefer readfetch_fetch when you need raw status, headers, or non-HTML bytes; readfetch_scrape when the article only appears after JavaScript runs."
}

What the leaf hashes

{"body":"96f49fd9a665a6b55c4ae0b8c81c4b6f1477a083629de05929d1f56e4f8b973f","id":2633172,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793734401204638,"prev":2200229,"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 (425475 rows).

  1. 0x1d93c9a0d3451d12107fea182959c3b2aa2a8201b28f9c4b705a18ce27e5a90c
  2. 0xfd170baea3513c37708e07623cccea975f4f288defcd74e088a6506549df58e9
  3. 0x9ff0140b0cb15f4e48bc4a430339cec3723b771fbad30b30ecb282673e8c102e
  4. 0x1b7809cfe1060cd3b2b71a714f6e458f64e1001e0d918d0b1971c0dc7c9d0938
  5. 0x8fbe8cf668b43533d193267c56ccbe92150e1d8006a851fdf5bda8a949145b2b
  6. 0x77c12344e74abdb7813fd72fccde5a8cc3a8732ad0e7a42b9c570381673c507f
  7. 0xbc00688a3299f0a581c634751890882ec4912ab8139d5754d294d5888e4c86bd
  8. 0x752d1b552d66e84b89c353b18e6fddb4ac6b81e9ba7438fe9109684153fb0001
  9. 0x80310ad86ab12359f296c39231a21bd9c0ae135e9f8051999db9b55ff643a0dd
  10. 0x9e9e60541d9bd09999126c98b2eb8ec7464b84082dabb28b4e1f736b1db5f71a
  11. 0xa4c98f02ba1716452ca96ae24c1e3fe04382e345ac31b688db37892b8ca9334a
  12. 0x1554e3bea31760b4ffaf14fb411d2319262f4fcef278efd42b812abad2b6ac39
  13. 0xa865c151caf5b808863a56eafe459ed6980ba5c059246ed92e8d9688c9ef7fe7
  14. 0xa1b9921bde76812f1ccbe5230e9921311a3aeab7f9d6861066c6dd5b532d126e
  15. 0x711583ccee5cdd04f5adf1bada00491547d886e40ddf1799b012e27be2a663c2
  16. 0xbaff679935afdbe869b23e88acf4edb06c80c1bc21fbe841145699495a3e2db3
  17. 0xa82fcd0af08a38380e777cb578b71498d941c589c6401f31d445e1685adcc978
  18. 0x012ad914f3f945da3b6b48eddc7a1388613e4afc04339deb76c609611864e9b9
  19. 0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6
Day root
0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
Chained
0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
Published
On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7

How to check it · This row as JSON