addrbookFor publishers
← The evidence ledger

Evidence row 1261546

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://readfetch.com/v1/fetch
Recorded
Previous row
#1040165
Body SHA-256
5dbbd113e6c82a14026cfebe4f8c51d3b2dd632c955e436f34d988c1b584d268
Leaf
0xfde007943170d80ff77349aa6501bb39dd2af0f58c15856a566a448fd4f2073e

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://readfetch.com/v1/fetch"
    ]
  ],
  "name": "readfetch.com",
  "owner_address": "0x26c2308adc8fe5ffe6d4183588dd2dd22ed86071",
  "raw": {
    "accepts": [
      {
        "amount": "3000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "description": "Send an arbitrary HTTP request (GET, POST, PUT, PATCH, DELETE, HEAD) and return the response with status, headers and body, as text or base64. Intended for APIs, GraphQL, PDFs, byte ranges and large payloads where a browser is not needed.",
        "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/fetch",
        "scheme": "exact"
      }
    ],
    "description": "Send an arbitrary HTTP request (GET, POST, PUT, PATCH, DELETE, HEAD) and return the response with status, headers and body, as text or base64. Intended for APIs, GraphQL, PDFs, byte ranges and large payloads where a browser is not needed.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "binary": false,
              "follow_redirects": true,
              "max_bytes": 10000000,
              "method": "GET",
              "timeout_s": 95,
              "url": "https://example.com"
            },
            "bodyType": "json",
            "description": "Raw HTTP through the same egress. JSON APIs, GraphQL, PDFs, byte ranges - anything that is not a page.",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "description": "Send an arbitrary HTTP request (GET, POST, PUT, PATCH, DELETE, HEAD) and return the response with status, headers and body, as text or base64. Intended for APIs, GraphQL, PDFs, byte ranges and large payloads where a browser is not needed.",
            "example": {
              "content_type": "application/json",
              "size": 512,
              "status": "success",
              "status_code": 200,
              "text": "{\"items\": []}",
              "url": "https://api.example.com/items"
            },
            "format": "application/json",
            "type": "json"
          }
        },
        "schema": {
          "$defs": {},
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "properties": {
                "body": {
                  "properties": {
                    "binary": {
                      "default": false,
                      "title": "Binary",
                      "type": "boolean"
                    },
                    "body": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Body"
                    },
                    "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"
                    },
                    "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"
                    },
                    "follow_redirects": {
                      "default": true,
                      "title": "Follow Redirects",
                      "type": "boolean"
                    },
                    "headers": {
                      "anyOf": [
                        {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Headers"
                    },
                    "json_body": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Json Body"
                    },
                    "max_bytes": {
                      "default": 10000000,
                      "maximum": 50000000,
                      "minimum": 1024,
                      "title": "Max Bytes",
                      "type": "integer"
                    },
                    "method": {
                      "default": "GET",
                      "enum": [
                        "GET",
                        "POST",
                        "PUT",
                        "PATCH",
                        "DELETE",
                        "HEAD"
                      ],
                      "title": "Method",
                      "type": "string"
                    },
                    "timeout_s": {
                      "default": 95,
                      "description": "Total budget for the whole call in seconds, redirect hops included.",
                      "maximum": 95,
                      "minimum": 1,
                      "title": "Timeout S",
                      "type": "number"
                    },
                    "url": {
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "title": "Url",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "title": "FetchRequest",
                  "type": "object"
                },
                "bodyType": {
                  "const": "json"
                },
                "method": {
                  "enum": [
                    "POST"
                  ]
                },
                "type": {
                  "const": "http"
                }
              },
              "required": [
                "type",
                "method",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "content_type": {
                  "type": "string"
                },
                "size": {
                  "type": "integer"
                },
                "status": {
                  "type": "string"
                },
                "status_code": {
                  "type": "integer"
                },
                "text": {
                  "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": {
          "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/text"
          }
        ],
        "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:25:00.315Z",
    "quality": {
      "l30DaysTotalCalls": 11,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-30T16:25:17.467Z"
    },
    "resource": "https://readfetch.com/v1/fetch",
    "serviceName": "readfetch.com",
    "tags": [
      "api calls",
      "graphql",
      "http client",
      "infra",
      "proxy"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Send an arbitrary HTTP request (GET, POST, PUT, PATCH, DELETE, HEAD) and return the response with status, headers and body, as text or base64. Intended for APIs, GraphQL, PDFs, byte ranges and large payloads where a browser is not needed."
}

What the leaf hashes

{"body":"5dbbd113e6c82a14026cfebe4f8c51d3b2dd632c955e436f34d988c1b584d268","id":1261546,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793385513231789,"prev":1040165,"subject":"x402_bazaar:https://readfetch.com/v1/fetch","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. 0xfde0a8fa8014121e3126bc6ad6b191b22b00098f437f6fb242ca4ecd168d0e6c
  2. 0x67b711d7628ed3a32624f2c1395a29a4ef9605349fee54485f73e70e78a298a5
  3. 0x0053d73d355c2757dd947964f1590c8ce92e1f0a514d0431476d46734f37547e
  4. 0xdd651bb80654325d03478c39e6bfa5224957d0092881c08f77fe221c58381d4d
  5. 0x795f2de5b2baf8a4bbd9ad63ee36a8f1a2af9cc8b4da2f757a20984cba756a78
  6. 0x69e38045f10731131e01403e0036e4f860097050d07f996970e363c76afc90d0
  7. 0xeb3d123dea4debab0f98fb291f2a9b6baa810082644e601b3bb97a95b3f02165
  8. 0x0abbee9af7b4a20d09f8fc367fad2bcf3b0918015d0d2f3596abca040b8484c5
  9. 0x5270f74d6ebf07f2d53b48155b52e3de80e785d9fc7aaf97cc5781f566699fcd
  10. 0xb7ba7976ec9343c0b7d24223b384dc7eef8ba98f4b9975f2a4b86681d38e2a4f
  11. 0xc95b51f6d1ff81f347528d7e9741cdee03e2e04a7d0bf5e8abfacf463870ffaf
  12. 0x46187d2b159bfccec3c24ebc2f1e41e82133e3b171e192c1282c5434fa6d11d0
  13. 0x79594d72fb70613c6a2b4c1ecd92ae15b13d4b81445a6a934b9b245d994a0bef
  14. 0x030ea611a04a437f2c80577f6ab0971a98e22d40a72366c4d176ac9c95399553
  15. 0x70547116135ca2b169483009739d1d461bcb7d178c352479612fae712aca3f88
  16. 0x71e74c274b23c9047354edb6dcd2c654415e3986b8bd875dae992996ea12e22b
  17. 0x0c43c73b62a5d49ee1444b5dc4195fc5b16b141d3f4458e2e9fbd5fd6ecb367d
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON