addrbookFor publishers
← The evidence ledger

Evidence row 1038731

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://readfetch.com/v1/map
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
1c4c09794935328fcee23b44b786a6fb7df2731490399a06828044d6c243f2bd
Leaf
0x8f33196baf5b9861fa05c96d57649d56fc72c8516cc439fbbf4c4c0f621ab851

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://readfetch.com/v1/map"
    ]
  ],
  "name": "readfetch.com",
  "owner_address": "0x26c2308adc8fe5ffe6d4183588dd2dd22ed86071",
  "raw": {
    "accepts": [
      {
        "amount": "5000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "description": "Discover a site's crawlable surface without crawling it: parse robots.txt allow/disallow rules, collect URLs from sitemap.xml and sitemap indexes, find RSS, Atom and JSON feeds, and count internal and external links on the homepage. Use the returned URLs to plan a /v1/scrape or /v1/crawl.",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxAmountRequired": "5000",
        "maxTimeoutSeconds": 60,
        "mimeType": "application/json",
        "network": "eip155:8453",
        "payTo": "0x26C2308aDC8fe5FFE6d4183588DD2DD22ed86071",
        "resource": "https://readfetch.com/v1/map",
        "scheme": "exact"
      }
    ],
    "description": "Discover a site's crawlable surface without crawling it: parse robots.txt allow/disallow rules, collect URLs from sitemap.xml and sitemap indexes, find RSS, Atom and JSON feeds, and count internal and external links on the homepage. Use the returned URLs to plan a /v1/scrape or /v1/crawl.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "limit": 200,
              "max_bytes": 5000000,
              "timeout_s": 60,
              "url": "https://example.com"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "feeds": [
                "https://example.com/feed.xml"
              ],
              "host": "example.com",
              "links": {
                "external": 6,
                "internal": 34
              },
              "robots": {
                "allow": [],
                "crawl_delay": null,
                "disallow": [
                  "/admin"
                ],
                "sitemaps": [
                  "https://example.com/sitemap.xml"
                ]
              },
              "sitemaps": [
                "https://example.com/sitemap.xml"
              ],
              "status": "success",
              "status_code": 200,
              "total_found": 2,
              "url": "https://example.com",
              "url_count": 2,
              "urls": [
                "https://example.com/",
                "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": {
                    "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"
                    },
                    "limit": {
                      "default": 200,
                      "description": "Maximum number of URLs to return (1-1000).",
                      "maximum": 1000,
                      "minimum": 1,
                      "title": "Limit",
                      "type": "integer"
                    },
                    "max_bytes": {
                      "default": 5000000,
                      "description": "Abort if any single document exceeds this many bytes.",
                      "maximum": 20000000,
                      "minimum": 1024,
                      "title": "Max Bytes",
                      "type": "integer"
                    },
                    "timeout_s": {
                      "default": 60,
                      "description": "Total budget for the whole call in seconds; every sitemap fetch and the browser fallback share it. 95 s is the edge ceiling (Cloudflare closes at 100 s).",
                      "maximum": 95,
                      "minimum": 1,
                      "title": "Timeout S",
                      "type": "number"
                    },
                    "url": {
                      "description": "Public http(s) URL of the site to map.",
                      "format": "uri",
                      "maxLength": 2083,
                      "minLength": 1,
                      "title": "Url",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "title": "MapRequest",
                  "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"
            }
          }
        }
      }
    },
    "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-29T13:03:09.26Z",
    "quality": {
      "l30DaysTotalCalls": 2,
      "l30DaysUniquePayers": 2,
      "lastCalledAt": "2026-10-29T13:03:08.545Z"
    },
    "resource": "https://readfetch.com/v1/map",
    "serviceName": "readfetch.com",
    "tags": [
      "search",
      "sitemap",
      "robots.txt",
      "rss",
      "atom"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Discover a site's crawlable surface without crawling it: parse robots.txt allow/disallow rules, collect URLs from sitemap.xml and sitemap indexes, find RSS, Atom and JSON feeds, and count internal and external links on the homepage. Use the returned URLs to plan a /v1/scrape or /v1/crawl."
}

What the leaf hashes

{"body":"1c4c09794935328fcee23b44b786a6fb7df2731490399a06828044d6c243f2bd","id":1038731,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793298274808102,"prev":null,"subject":"x402_bazaar:https://readfetch.com/v1/map","subject_kind":"source_record"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON