addrbookFor publishers
← The evidence ledger

Evidence row 1260273

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://url2md.io/v1/md
Recorded
Previous row
#1037238
Body SHA-256
c4a42f1b1dee74fdaa7351a0d4559f85990a52472869b90981bf7f16f733e9a3
Leaf
0xdb699a211d9a19298c101f3486849738747d2f9f597b7c10ff28676ed4471f47

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-30T03:21:14.89Z",
    "quality": {
      "l30DaysTotalCalls": 4,
      "l30DaysUniquePayers": 4,
      "lastCalledAt": "2026-10-30T03:21:14.201Z"
    },
    "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":"c4a42f1b1dee74fdaa7351a0d4559f85990a52472869b90981bf7f16f733e9a3","id":1260273,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793385469216479,"prev":1037238,"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 (243099 rows).

  1. 0xdb6a4b819f4b96c450458649a60b4ad760839d906f7e50ee616a0dde07b3d610
  2. 0x3b2feeec6be2259179633187c09997c73fe14d005c76f836aa485a130aa2fc72
  3. 0x6a48ff958293318354131d806e026df3813648ebf8c0c0f34c0e390e9147afab
  4. 0xbee3ec0d39801c0322a2e7494d25735681c7488daade704419a385e55d5cdf7f
  5. 0xeadeb88d94c7a5c443c76b489cda89c38927d25db31377e0e5bf1b7979883572
  6. 0xf1fdfec3c79d3085c037f7b1b348faffa43dd84f8545ec1fde6a05d22370cd66
  7. 0x759f4b634eaeb8df180e0b0f97c35afd8e6d89249017bbdfb82118844578e132
  8. 0x18035e366168fbc9b8305b83a7ba83ebc4568c57fc0bf25b9a53fbe02f8c81c2
  9. 0x4f6fc5445dfa7ebbbffd4334a037c142cf05d1d6cd7fb02689ec7b275d643f36
  10. 0x784957aa582d2d1714ce457b374fd19420cafb509b92e7ca6043dc52934673b8
  11. 0xaf7d9cdeb8a2834cc812b57574a6b7e99e3b5113240202d4b4affb51ae46cbe6
  12. 0x2a219c68eb39d5a14e7ca9204174c5ccd37f75dbb6af537702cb6f0d7d2e54b3
  13. 0xffdeb8d65b887604686b39ec0582e84786c68382b3e12fe6f56a19f9e0665614
  14. 0xbfb4e09ea246d6cb4bd9c9eab033e6c0a787969a9a66a77312e83430b0de95f8
  15. 0xf007cd9640267a58ddffce96e27f5682cf5c47530f53dc15dc53e4ccd405c6c9
  16. 0xfbe61dc2d59668ac573e5eab865747e21d38bf2fe4c64762beef01f1018a4dea
  17. 0x71e74c274b23c9047354edb6dcd2c654415e3986b8bd875dae992996ea12e22b
  18. 0x0c43c73b62a5d49ee1444b5dc4195fc5b16b141d3f4458e2e9fbd5fd6ecb367d
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON