addrbookFor publishers
← The evidence ledger

Evidence row 123581

Observed , by baseline/1.

Kind
listing
About
source_record x402_bazaar:https://url2md.io/v1/md
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
95b03541070b29137906ae40c570cad7ab8ff1682626021fbfafd307e50e1559
Leaf
0xbb44fe6bfb105422005b0a1942874a66c4af6d3fa9b71d4cff78d0d320abd063

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-20T04:58:49.177Z",
    "quality": {
      "l30DaysTotalCalls": 1,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-20T04:58:48.22Z"
    },
    "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":"95b03541070b29137906ae40c570cad7ab8ff1682626021fbfafd307e50e1559","id":123581,"kind":"listing","method":"baseline/1","observed_us":1793025623341969,"prev":null,"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 (296695 rows).

  1. 0xbb44e06c50ee4dbbb007564afba5fe9291ec2e10b014208c277ce4308a3a5683
  2. 0x94c0b4f9d867325f73db60ac9166f628caea21fe5dfc36f91c6c4ba08b9b1e16
  3. 0x331fa3984785209b2076dfac41200f357a29e3218f069e76ff8f11b52c294b91
  4. 0xe5139b91ce270a3a0d82e00e1129c1c9731066631b8faed0165f046259960d99
  5. 0x17e9126d962a00d1263bf7e00c16a04026c3980f570ce18b4d5d06daab933b25
  6. 0x12c0da03fb233dc766e08e69dd851dd0e40389316b86587d594fb61b3c87e02e
  7. 0x6c32c7638b2dadbaed6c3b9b076cfccd8570a9869b8f71f288e639a923ad09d9
  8. 0x8b947a9bbb3d4910700a84680d0c4cae655e5eea94cbcc3513852c291b75fe25
  9. 0x206a624728b19a5b5bd91707511c617a7ede1aff6dcfc2098707256c7658eea0
  10. 0xbae474fb988c71d46b488892998702dab209a22890a406d07014d6a096000d33
  11. 0x66ed746e8b7893417ecf36cd9e7178eac8d5a36914238191ee21e14d3aa57d8d
  12. 0x571bf2cc487a35d2ef7662b375d1fa9179fe0f6cab6f6cebdb1a6113d25f3c92
  13. 0xd5b5bb5812612371a70171b2252d90e95bb0581ea5a3be198122adc8442e4f79
  14. 0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519
  15. 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON