addrbookFor publishers
← The evidence ledger

Evidence row 2633167

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://readfetch.com/v1/batch
Recorded
Previous row
#1261565
Body SHA-256
c8e11b37e69a2f16cfe813a5bcca6130b5298c055ad4f48d149382e73161a94f
Leaf
0x18ea04e7e1c4e538ddef06bc7a1a7e65ce2df35a0e949bb87bf387bac27d1fa4

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://readfetch.com/v1/batch"
    ]
  ],
  "name": "readfetch.com",
  "owner_address": "0x26c2308adc8fe5ffe6d4183588dd2dd22ed86071",
  "raw": {
    "accepts": [
      {
        "amount": "15000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "description": "Read a fixed list of public HTML pages in one call—the same article extraction as POST /v1/text for each URL (Markdown or plain text plus title and metadata). One x402 payment covers the batch (minimum 10 pages quoted; URLs deduped, max 50). Returns results in input order: each item has url, status_code, text, billed, and hint when undelivered, plus batch-level delivered, failed, billed_pages, and optional credit for unused pages. Undelivered pages are not billed. Use readfet",
        "extra": {
          "name": "USD Coin",
          "paymentFlow": "authorization",
          "version": "2"
        },
        "maxAmountRequired": "15000",
        "maxTimeoutSeconds": 60,
        "mimeType": "application/json",
        "network": "eip155:8453",
        "payTo": "0x26C2308aDC8fe5FFE6d4183588DD2DD22ed86071",
        "resource": "https://readfetch.com/v1/batch",
        "scheme": "exact"
      }
    ],
    "description": "Read a fixed list of public HTML pages in one call—the same article extraction as POST /v1/text for each URL (Markdown or plain text plus title and metadata). One x402 payment covers the batch (minimum 10 pages quoted; URLs deduped, max 50). Returns results in input order: each item has url, status_code, text, billed, and hint when undelivered, plus batch-level delivered, failed, billed_pages, and optional credit for unused pages. Undelivered pages are not billed. Use readfet",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "format": "markdown",
              "fresh": false,
              "pipeline": "text",
              "timeout_s": 95,
              "urls": [
                "https://example.com"
              ]
            },
            "bodyType": "json",
            "description": "Read up to 50 HTML pages in one payment (same /v1/text extraction per URL). Results in input order; undelivered pages are credited, not billed.",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "description": "Read a fixed list of public HTML pages in one call—the same article extraction as POST /v1/text for each URL (Markdown or plain text plus title and metadata). One x402 payment covers the batch (minimum 10 pages quoted; URLs deduped, max 50). Returns results in input order: each item has url, status_code, text, billed, and hint when undelivered, plus batch-level delivered, failed, billed_pages, and optional credit for unused pages. Undelivered pages are not billed. Use readfetch_text for one URL, readfetch_map then readfetch_crawl to discover and walk a site, readfetch_scrape when JavaScript is required. Read-only; 402 without PAYMENT-SIGNATURE like other paid tools.",
            "example": {
              "billed_pages": 1,
              "credit": "credit-token-when-refund-applies",
              "delivered": 1,
              "failed": 1,
              "results": [
                {
                  "billed": true,
                  "content_sha256": "...",
                  "hint": null,
                  "requested_url": "https://example.com",
                  "status_code": 200,
                  "text": "...",
                  "title": "Example Domain",
                  "url": "https://example.com/",
                  "used_browser": false
                },
                {
                  "billed": false,
                  "content_sha256": null,
                  "hint": "upstream error",
                  "requested_url": "https://example.invalid/",
                  "status_code": 502,
                  "text": "",
                  "title": null,
                  "url": "https://example.invalid/",
                  "used_browser": false
                }
              ],
              "status": "partial"
            },
            "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 for every item, e.g. 'de-DE,de;q=0.9'. Defaults to en-US when omitted."
                    },
                    "format": {
                      "default": "markdown",
                      "description": "Per-item output flavour, same as /v1/text: markdown (default) or plain text.",
                      "enum": [
                        "markdown",
                        "text"
                      ],
                      "type": "string"
                    },
                    "fresh": {
                      "default": false,
                      "description": "When true, bypass cached responses for each item (default false).",
                      "type": "boolean"
                    },
                    "pipeline": {
                      "default": "text",
                      "description": "text (default) = HTTP-first per URL, same as readfetch_text; use render when probe reported challenge:true or items need JavaScript — bills like scrape per undelivered page, not like plain text.",
                      "enum": [
                        "text",
                        "render"
                      ],
                      "type": "string"
                    },
                    "timeout_s": {
                      "default": 95,
                      "description": "Total budget for the whole batch in seconds; every item shares it and no item restarts it.",
                      "maximum": 95,
                      "minimum": 1,
                      "type": "number"
                    },
                    "urls": {
                      "description": "URLs to read, deduped before quoting.",
                      "items": {
                        "format": "uri",
                        "type": "string"
                      },
                      "maxItems": 50,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "required": [
                    "urls"
                  ],
                  "type": "object"
                },
                "bodyType": {
                  "const": "json"
                },
                "method": {
                  "enum": [
                    "POST"
                  ]
                },
                "type": {
                  "const": "http"
                }
              },
              "required": [
                "type",
                "method",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "billed_pages": {
                  "type": "integer"
                },
                "credit": {
                  "type": "string"
                },
                "delivered": {
                  "type": "integer"
                },
                "failed": {
                  "type": "integer"
                },
                "results": {
                  "items": {
                    "properties": {
                      "billed": {
                        "type": "boolean"
                      },
                      "content_sha256": {
                        "type": "string"
                      },
                      "hint": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "requested_url": {
                        "format": "uri",
                        "type": "string"
                      },
                      "status_code": {
                        "type": "integer"
                      },
                      "text": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "format": "uri",
                        "type": "string"
                      },
                      "used_browser": {
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "status": {
                  "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/map"
          },
          {
            "path": "/v1/probe"
          }
        ],
        "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:13:14.138Z",
    "quality": {
      "l30DaysTotalCalls": 4,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-11-03T11:13:13.576Z"
    },
    "resource": "https://readfetch.com/v1/batch",
    "serviceName": "readfetch.com",
    "tags": [
      "batch",
      "bulk",
      "concurrent",
      "data",
      "markdown"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Read a fixed list of public HTML pages in one call—the same article extraction as POST /v1/text for each URL (Markdown or plain text plus title and metadata). One x402 payment covers the batch (minimum 10 pages quoted; URLs deduped, max 50). Returns results in input order: each item has url, status_code, text, billed, and hint when undelivered, plus batch-level delivered, failed, billed_pages, and optional credit for unused pages. Undelivered pages are not billed. Use readfet"
}

What the leaf hashes

{"body":"c8e11b37e69a2f16cfe813a5bcca6130b5298c055ad4f48d149382e73161a94f","id":2633167,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793734401180891,"prev":1261565,"subject":"x402_bazaar:https://readfetch.com/v1/batch","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. 0x18ea10b42d97d7701534226af7c22b4235ac8b569e98fbd8c0c12b89ee2ffbab
  2. 0x14e3cada17ab71022eb7af7f9ed6659f983cf8414e9507491768254c7c22a29f
  3. 0xaa68309d209461ae9a7f2286df9f62fa546ec61861f7692b593d595d99a66c54
  4. 0xfe5d15a9c7f8370da331e3a4a4a2d0f1a70bd3820b70150fc8ec9157f6af54cb
  5. 0x81009fa3afcd0458efbb4e531ec3bff2fa5cf4da9b27fe74a4679683022a1cec
  6. 0x11c5e49757ae6d07d2bb15553343963ce8c2ecdd3f45dcf6c97905ca18b11114
  7. 0xf448c98fba37d8f14729a512955dd65cd0e5d95c17e7f03944fc72ec4faeb63c
  8. 0xa6ca0d980ed7756c4be0027b63781af084519d978440015adbc8fe2ddbb30362
  9. 0xe61d3f0701d3874546e0d32e18b93f8ad6d064aa83882ddfca0b5ef635360235
  10. 0xbb29962b40a870e2fe3c76be5d20b01b55f9ebb214ed2b669991afa7cd8f238d
  11. 0x026eebab8fd647249f276b592e7cf280361a29685ede56f3ce76ea8dc156e4eb
  12. 0x0afedfb5d94e21e502c5ea2f88ca41ada9eaa1d8dee6056c446b424b6e1fabd4
  13. 0x6393e3b006f758b9dc2efca97748e8b94b587bc90cac45f81eb08fb9398fed9a
  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