addrbookFor publishers
← The evidence ledger

Evidence row 278364

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://url2md.io/v1/md
Recorded
Previous row
#123581
Body SHA-256
d64377a41c77b81a93afc1fcc064b35f9d2063afb797dfbc4d475fba82d6388a
Leaf
0xdffe786d2237e4e74385d5d07b4c0402be1f37851eebb73e4aba74e9a86302f0

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": 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":"d64377a41c77b81a93afc1fcc064b35f9d2063afb797dfbc4d475fba82d6388a","id":278364,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793042065542553,"prev":123581,"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. 0xdffe3a0644a7b63fcb75c5d36a558b2fc99710153c618ee45706d835eba3217f
  2. 0xf6a0eb5d4e30f6d496dd741d6261d90b525d71914382abf0a8664b8795b53386
  3. 0xaaffed83d814244a62e94745cdba667f23462d0f328b5ad76d60edf2a8a45a8e
  4. 0x0b7fb86f8fbceb00203fab2a83c5413381e083dec98c190f7544179d19e6ea3f
  5. 0x6a6598fc1ddb99f7d10bb2f451d6829cf7e8bc617ce3df2ff2ac1fda17ec0308
  6. 0x3e8c49f46694421114bc264dadb94cb5217a4895682f642f3a15a2d3ad74ce4a
  7. 0x2c58620b48fadabcaa147023d25e59cefcc71aad9d5093fab3c93ed6322014de
  8. 0xfe12d86bfc2a52f7c0c3ac3e2c3ca759c7c1cc6a27aa8b8d37bdb3846eebb513
  9. 0x2edbb7de6b89440a274c0604df7dd607df1194850f67f7dfdcacd6df98a5dbec
  10. 0x5fcf567390d60c3be94cd0675a7a9d8d57ca82ceeb7b8db2c45bb7a13bb42b90
  11. 0x07a6fcdebada154e3a5a086ae2c78ad003011940759e5f38c005cc9b2ec3ef9d
  12. 0x1cde596bd397df62b2525df79e5a761af7d1a292cbcfd283ea8977aecf9334e7
  13. 0x3fcdf7fa32ccefe771eb57ae3015142065d64e3ce732fea7d11b9a3c99dde44f
  14. 0x0b7541c75cc482a7134110311d7dbd02095d969ba21177de9b21a52a55981718
  15. 0x6dc40f983a3840a0ad927a9ca17f4ff1e3b649a6c735e2a09b140db7c2caf13b
  16. 0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023
  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