addrbookFor publishers
← The evidence ledger

Evidence row 406909

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://url2md.io/v1/md
Recorded
Previous row
#278364
Body SHA-256
5b27500f62272f58745295c5cc9f83c59ab0e9b92c34256d35c5f3db825e0c1b
Leaf
0x74b4167f0345477e7f9d81fd5b47b87fe9701d1cb5e074ee337ce050f98aa99f

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://url2md.io/v1/md"
    ]
  ],
  "name": "url2md",
  "owner_address": "0xa09ae66ec8664475697ffc0eb45aa3fe52aa6030",
  "raw": {
    "accepts": [
      {
        "amount": "5000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 120,
        "network": "eip155:8453",
        "payTo": "0xa09aE66Ec8664475697FfC0eb45aa3Fe52Aa6030",
        "scheme": "exact"
      }
    ],
    "description": "PDFs, JavaScript pages and ordinary HTML as clean Markdown. Pays a page's x402 toll for you. Follows robots.txt.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "format": "json",
              "render": "auto",
              "url": "https://example.com"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "canonical": null,
              "charset": "utf-8",
              "contentSignal": null,
              "contentType": "text/html",
              "description": null,
              "fetchedAt": "2026-09-06T03:45:14.033Z",
              "finalUrl": "https://example.com/",
              "lang": null,
              "markdown": "# Example Domain\n\nThis domain is for use in documentation examples without needing permission. Avoid use in operations.\n\n[Learn more](https://iana.org/domains/example)",
              "redirects": [],
              "render": {
                "escalated": false,
                "mode": "auto",
                "reasons": []
              },
              "source": "static",
              "timing": {
                "browserMsUsed": null,
                "convertMs": 3,
                "fetchMs": 268,
                "renderMs": null,
                "totalMs": 412
              },
              "title": "Example Domain",
              "tokensEstimate": 42,
              "url": "https://example.com",
              "warnings": [],
              "words": 24
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "properties": {
                    "format": {
                      "description": "json: the whole result object. markdown: the markdown body alone, sent as text/markdown. Omit it and the format follows the Accept header (text/markdown → markdown), else json.",
                      "enum": [
                        "json",
                        "markdown"
                      ],
                      "type": "string"
                    },
                    "render": {
                      "default": "auto",
                      "description": "auto: static first, browser only when the page looks client-rendered. static: never use a browser. browser: always render in a headless browser.",
                      "enum": [
                        "auto",
                        "static",
                        "browser"
                      ],
                      "type": "string"
                    },
                    "url": {
                      "description": "Absolute http(s) URL to convert; percent-encode it in the query string. http and https only, no credentials in the URL, no private, loopback or internal hosts, and the port must be one Cloudflare proxies (80, 443, 8080, 8443, 8880, 2052/2053/2082/2083/2086/2087/2095/2096). robots.txt is honoured for the user-agent token url2md.",
                      "format": "uri",
                      "maxLength": 2048,
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ]
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "description": "The conversion result. The same metadata always travels in response headers as well, so a caller that asked for text/markdown still gets it: X-Url2md-Source (static | browser | pdf | origin-markdown | text), X-Url2md-Final-Url, X-Url2md-Title (percent-encoded), X-Url2md-Words, X-Url2md-Tokens-Estimate, X-Url2md-Ledger-Id (the ledger row for the settled payment), and X-Url2md-Upstream-Toll (USD paid to the origin when the page itself charged an x402 toll, absent otherwise). The x402 settlement receipt is in PAYMENT-RESPONSE. Errors are JSON with a stable error.code, and any error after a charge carries error.details.callerCharged with the ledger id.",
                  "properties": {
                    "blockSuspected": {
                      "description": "set when what came back looks like a bot challenge or block page rather than the page: the origin answered 200 and the call was charged, but the content is probably not what was asked for. Also sent as X-Url2md-Block-Suspected, and named in warnings[].",
                      "properties": {
                        "markers": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "canonical": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "charset": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "contentSignal": {
                      "description": "Upstream Content-Signal header, passed through untouched",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "contentType": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "description": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fetchedAt": {
                      "format": "date-time",
                      "type": "string"
                    },
                    "finalUrl": {
                      "description": "the URL after redirects; also sent as X-Url2md-Final-Url",
                      "type": "string"
                    },
                    "lang": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "markdown": {
                      "description": "the converted page",
                      "type": "string"
                    },
                    "redirects": {
                      "items": {
                        "properties": {
                          "from": {
                            "type": "string"
                          },
                          "status": {
                            "type": "integer"
                          },
                          "to": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "render": {
                      "properties": {
                        "escalated": {
                          "type": "boolean"
                        },
                        "mode": {
                          "enum": [
                            "auto",
                            "static",
                            "browser"
                          ],
                          "type": "string"
                        },
                        "reasons": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    "source": {
                      "description": "how the markdown was produced; also sent as X-Url2md-Source",
                      "enum": [
                        "static",
                        "browser",
                        "pdf",
                        "origin-markdown",
                        "text"
                      ],
                      "type": "string"
                    },
                    "timing": {
                      "properties": {
                        "browserMsUsed": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "convertMs": {
                          "type": "integer"
                        },
                        "fetchMs": {
                          "type": "integer"
                        },
                        "renderMs": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "totalMs": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "title": {
                      "description": "also sent percent-encoded as X-Url2md-Title",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "tokensEstimate": {
                      "description": "also sent as X-Url2md-Tokens-Estimate",
                      "type": "integer"
                    },
                    "url": {
                      "description": "the URL as asked for",
                      "type": "string"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "words": {
                      "description": "also sent as X-Url2md-Words",
                      "type": "integer"
                    }
                  },
                  "required": [
                    "url",
                    "finalUrl",
                    "source",
                    "markdown",
                    "words",
                    "tokensEstimate",
                    "fetchedAt",
                    "timing",
                    "render",
                    "warnings"
                  ],
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1788758385/bazaar-icons/15f099e9360c95e5.png",
    "lastUpdated": "2026-10-26T18:22:02.13Z",
    "quality": {
      "l30DaysTotalCalls": 2,
      "l30DaysUniquePayers": 2,
      "lastCalledAt": "2026-10-26T18:22:01.295Z"
    },
    "resource": "https://url2md.io/v1/md",
    "serviceName": "url2md",
    "tags": [
      "markdown",
      "url-to-markdown",
      "scraping",
      "pdf",
      "llm-context"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "PDFs, JavaScript pages and ordinary HTML as clean Markdown. Pays a page's x402 toll for you. Follows robots.txt."
}

What the leaf hashes

{"body":"5b27500f62272f58745295c5cc9f83c59ab0e9b92c34256d35c5f3db825e0c1b","id":406909,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793080221689313,"prev":278364,"subject":"x402_bazaar:https://url2md.io/v1/md","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0x74b445bb3b716442313587328a725c2298cc17cc3fe6b2970f589b21b5473e46
  2. 0x33f7703bdd7d1057870661d37a484d17f2e40019083ac28b492f7c611b8d941a
  3. 0x7b90b449763b791a94bb19383b660be7cb6074f4a50168e05b68f477eaab6c17
  4. 0x6c075f2b85c3dcc3ed800339aa0d7c5f1e6ab88af08ab56f521330c39581a052
  5. 0xe046b59885692515a8bbaaf5a2a2435705bc18509b963ccc50983d534b29d63c
  6. 0xa9fb758f1817b08b67a677b90d7aaee6bed2a869d284ebaa2323e4364db24fb1
  7. 0x1175827273cb89b88a0d60eba0f8d515b0e3d0c42056b0d7af79ef32c4c30085
  8. 0x4330392a7e6cd4e8348c816942bfbfbaece1c06a705ba0129e591006cb8977ae
  9. 0x34ee03736d944ec264d6b3a603d31ee25e7ed9474b26a8d82efa4c23027ecb25
  10. 0x9493aba2492f75151d57e31ffc8db1954a6902dab8a752b7a4b6973dbb3cf815
  11. 0xbadb694e30e3b4990c80e04bb35fb64efec74cc8e401fd0ef8cb0e7b20c88505
  12. 0x58a1b7d7965722efb70d69acfb10b39e77f817864b8d4b4069d33ff29884a3bd
  13. 0x4094bd5bc2ab60e4518d1ee8a13455a69d7484ea62ecdca2618d0f39d3403503
  14. 0x9848c068b1371232529d2b5738fdc45b854c57da041b69ea7c9e112b14e2d9d1
  15. 0x275720ecabb68df33eee92ae4fd70572a8d952d6c61c061c2869cfc3217aa5c5
  16. 0x23cf9bb4337ee8be7fcae368fd69d24c62c11fb45882127b4cd919bb96a19996
  17. 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON