addrbookFor publishers
← The evidence ledger

Evidence row 1508283

Observed , by sync.x402_bazaar/1.

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

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-30T22:02:02.203Z",
    "quality": {
      "l30DaysTotalCalls": 15,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-30T22:02:01.605Z"
    },
    "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":"5a398a405833d50f85290711637f661f024b31c7499500bc675bcdb804e14858","id":1508283,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793472709204089,"prev":1261546,"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 (246033 rows).

  1. 0xf46322438f678a1584803b26fa204b443a8ffb498faf18121e2ab723b2052ccc
  2. 0x4030bfb57f687d7fbc21818f4974a6f25bd91dea81ea890d718c41ebbe286fd7
  3. 0xc818bb3f919bec0919a82145008fea009192319838349f4d2dbea9a28d1d9891
  4. 0x1603249f4d6fb2edf2856cd2624f3ef608c301b5955a22926d99e4b8c4f8db1d
  5. 0xdb1d77027ae70aab83c60fb5c057dea320ad97036ed8df935ddc6f63a2a483ed
  6. 0x1d8043b820aa99da58ba4cd8e69abffd038bc64ebf7927f2e05968b510268d3a
  7. 0x4f74e597e1879db6e6c2d828f3f90e433044b15294d917123047130f26b875b4
  8. 0x97c39c1ff501b5d8e18107dd1b583933e97478222b9ab5f77cc0d9834f875dad
  9. 0x171372f3d04411b613ecbead94769e21a1d5d0371bb3fd1f6445b73a25a538af
  10. 0xa16bfaed59967ffe78d8c3b0dea1ba192067a26dc97bfd0df26beae5f5d30552
  11. 0xfb414f397bf261659331f25e87b3f2adfc83b26217e512e6ed94261399f32f7d
  12. 0xc6a372780b5af570c9fabec485e08bf61b0b444515ef7024eeebb43178091de1
  13. 0x35aeb2af720d62e4e729c2722ba5be89b317dd41ceb7710fd363aea93b412c29
  14. 0xb9926eb0976a5b473833dada1e63c048bf8ef05dbd747135d29c85140274baf8
  15. 0xe9e97d8cdaf19b6da06606a22b4eea548063df6bacb661abea4c37aa637b5c3b
  16. 0x4befbbd74452b2a3a89b7e1e809ba011f1be78aeb8153059503fda47c454d086
  17. 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
  18. 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON