← The evidence ledger
Evidence row 275738
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 2395fd2a-dfc0-47a2-955d-efef907f088c
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- c98b0b961fcc12e4bdc1fadb15454054a8f79a0c6e39337afb2f834c6f4afd89
- Leaf
- 0x7cec4e946b8fc96ea0700a9ed3fa5d8d995dbbe62bbe84668c46ceb127609c21
What was observed
{
"count": 7,
"tools": [
{
"description": "Price-check Quietforge's paid x402 HTTP routes before paying (free read-only list, not tools here): convert docx, xlsx, pptx, csv to pdf; PDF text; URL/HTML to PNG; sudoku books; manuscript typesetting; crosswords; family trees from GEDCOM; dataset quality audits; x402 index API. USD prices, pay-to address, how an x402 client pays.",
"inputSchema": {
"properties": {},
"title": "quietforge_pricingArguments",
"type": "object"
},
"name": "quietforge_pricing"
},
{
"description": "Use this when a user wants a sudoku to play or print, or an app needs a verified puzzle at a named difficulty. Generates ONE sudoku puzzle with a unique solution, 180-degree symmetry, graded by the solving techniques it needs (easy | medium | hard | expert). Returns 81-char puzzle and solution strings (row by row, 0 = empty), given count and technique list. Deterministic when a seed is supplied. 20 per minute shared by all clients.",
"inputSchema": {
"properties": {
"level": {
"default": "medium",
"description": "Difficulty by solving technique: easy, medium, hard or expert.",
"title": "Level",
"type": "string"
},
"seed": {
"description": "Integer 1-2147483647 for a reproducible puzzle; omit for a random one.",
"title": "Seed",
"type": "integer"
}
},
"title": "sudoku_puzzleArguments",
"type": "object"
},
"name": "sudoku_puzzle"
},
{
"description": "Use this to answer \"is anyone actually paying for x402 APIs today\" with settled on-chain numbers instead of listings. Market-level demand signal for the x402 ecosystem, verified against on-chain USDC settlement on Base rather than self-reported call counts: how many seller addresses were paid in the last 24h, total USD settled, and the distribution of sellers by payment count. Free and aggregate-only; the per-seller breakdown (distinct payers per address; payer counts include sampler/grader wallets that pay many sellers once, so read them as an upper bound on customers) is the paid GET /v1/x402/demand route. Refuses to answer rather than serve a stale snapshot.",
"inputSchema": {
"properties": {},
"title": "x402_demandArguments",
"type": "object"
},
"name": "x402_demand"
},
{
"description": "Use this to see how much this index covers (it is a subset of the x402 market, not all of it) and to sanity-check x402_search coverage before relying on it. Summary of the index: totals, how many endpoints answered on the last probe, counts per network and per source, and when the crawl ran.",
"inputSchema": {
"properties": {},
"title": "x402_index_statsArguments",
"type": "object"
},
"name": "x402_index_stats"
},
{
"description": "Use this to check a URL you are about to pay (or one you operate) for a well-formed x402 challenge before sending funds; a challenge is no guarantee the service delivers. Makes ONE live unpaid request to a public http(s) URL and reports whether it is an x402 endpoint: status code, latency, alive flag, whether a PAYMENT-REQUIRED challenge came back and the parsed USD price. GET only, except that a URL already in the index is probed with its listed method. Public hosts only (redirects re-checked), delisted hosts never contacted, results cached 60 s, 3 probes per host per 5 min and 30 per minute overall.",
"inputSchema": {
"properties": {
"method": {
"default": "GET",
"description": "HTTP method. GET unless the URL is already in the index with a different listed method (then that method is allowed).",
"title": "Method",
"type": "string"
},
"url": {
"description": "Absolute http(s) URL to probe, max 2048 chars; public hosts only.",
"title": "Url",
"type": "string"
}
},
"required": [
"url"
],
"title": "x402_probeArguments",
"type": "object"
},
"name": "x402_probe"
},
{
"description": "Use this to find a pay-per-call x402 API for a given task, network or price cap before calling it (mostly USDC on Base; check each row's network and asset, some are testnet or other assets). Searches a health-probed directory of live x402 pay-per-call HTTP endpoints on Base, Solana and other networks (x402_index_stats gives the current count). Returns id, resource URL, method, network, USD price, description, 30-day call/payer counts and our own uptime/probe data. Data is re-crawled a few times a day, not real-time. Quietforge operates this directory and also operates some listed endpoints (source=quietforge) under the same per-host cap as every operator; ordering is by 30-day usage, then liveness, then freshness, never by operator.",
"inputSchema": {
"properties": {
"alive": {
"description": "true = answered its paid route on our last probe; false = did not; omit for both.",
"title": "Alive",
"type": "boolean"
},
"limit": {
"default": 20,
"description": "Page size, 1-100; out-of-range values are clamped.",
"title": "Limit",
"type": "integer"
},
"max_price_usd": {
"description": "Only endpoints priced at or below this USD amount per call; omit for any price.",
"title": "Max Price Usd",
"type": "number"
},
"network": {
"description": "CAIP-2 network id to filter on, e.g. eip155:8453 (Base mainnet); omit for all networks.",
"title": "Network",
"type": "string"
},
"offset": {
"default": 0,
"description": "Rows to skip for paging; negative is treated as 0.",
"title": "Offset",
"type": "integer"
},
"q": {
"description": "Case-insensitive substring matched against the resource URL, description and service name; omit for no text filter.",
"title": "Q",
"type": "string"
},
"source": {
"description": "Listing source: cdp (Coinbase CDP bazaar), payai (PayAI discovery) or quietforge (our own endpoints); omit for all sources.",
"title": "Source",
"type": "string"
}
},
"title": "x402_searchArguments",
"type": "object"
},
"name": "x402_search"
},
{
"description": "Use this to check whether one endpoint from x402_search is reliable enough to pay: its record plus its last 20 health probes (status code, latency, alive) and uptime across them.",
"inputSchema": {
"properties": {
"id": {
"description": "Service id exactly as returned by x402_search.",
"title": "Id",
"type": "string"
}
},
"required": [
"id"
],
"title": "x402_serviceArguments",
"type": "object"
},
"name": "x402_service"
}
]
}What the leaf hashes
{"body":"c98b0b961fcc12e4bdc1fadb15454054a8f79a0c6e39337afb2f834c6f4afd89","id":275738,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793040791651590,"prev":null,"subject":"2395fd2a-dfc0-47a2-955d-efef907f088c","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x7cec6e22f0bb3fd2718fafd317f43ef3e6e796e292a59dda5e979769d5a1bc6d
- 0xd34b1fa36176c7f78e00301440959d6c453b4ddd855e145ee9a54057c19408fe
- 0x5143d6b5f4be9e5f36a54d0bef43c5b86e7e9bd1b8983a12fd40186e5ff279ed
- 0x9d289d4634d4bf829ea9ba740b533d55c7eaf0e4b7d0eb67a6c76fb53837b11c
- 0x39bd58a9b2f0cff6b0bd83d5c60fa11edaf44e89f6f9092c28ca31807d15b561
- 0xef67ff104ca7e7dab32309dc6709ed6631c86d61fc3672b7ce23e45c641fb8ab
- 0xb1c25d2ad813d33d7053705740e7b913959fdd92d8a0840a58433ef7734a6834
- 0x354bc6b8aeb51bd026e07bfcdee12cbee908417336ed6fb6ca314fa05eafbfc6
- 0x08b3760a00c7c63570a34f14cb3fff681c9dc8817ae7392edd6927f2dce3759c
- 0xf0ed0e925a8a7da0329fe426ca59f504fc92f30b2f6f61a5828a859ff9cdb816
- 0x05b818019343d04f2973b36329a447f88301721891653961b94822610edda553
- 0x779c77295186b32da6387dfb36d3a76522e7d713472a7cebed7c93529ccc4be6
- 0x0bffb634300aa5609bddaa79e8d31d7cde36c0a5a4465472f809b9f5287e40d2
- 0x7721d38652b6444b18e1193824e50490ade04851ce6221771f6e374c4527d80f
- 0x15039087bf60ae9b06b756ec3cbc299760e59923a438bbd91e34d105186db0ed
- 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae