addrbookFor publishers
← The evidence ledger

Evidence row 2034191

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 20067acd-811e-4847-82a6-726a7374cb64
Recorded
Previous row
#813665
Body SHA-256
fab50894590b38f629cb8fa56464f65aa4914ed8e3fb75e190813b7a1b991d9f
Leaf
0xe5b3031cfc7369fbe5d3e049d2d8e95d1077ec022264c79db5fe17fdf8c7e8da

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "Runs one Wafermap resource and pays its exact USD price over x402, in USDG on Robinhood Chain or USDC on Solana, Base, Arbitrum or Polygon. Send a signed x402 v2 PaymentPayload in params._meta[\"x402/payment\"]; without it the tool returns isError with the payment requirements (price, networks, payTo) to sign. The work runs before the payment settles, so failed calls are never charged; a successful call returns the result plus a receipt with the transaction hash in _meta[\"x402/payment-response\"]. Agents without an x402 wallet can use the Wafermap CLI (`wafermap mcp`), which pays automatically within spending caps.",
      "inputSchema": {
        "properties": {
          "input": {
            "description": "Input object matching the resource's schema from wafermap_resource_schema, e.g. {\"network\":\"base\"}.",
            "type": "object"
          },
          "payer": {
            "description": "Optional: the EVM wallet that will sign the payment. A wallet holding 100,000 $WAFERMAP on Robinhood Chain is quoted 50% less for Wafermap's own resources (checked again against the signer).",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "resource": {
            "description": "Resource id from wafermap_resources, e.g. \"gas-now\".",
            "type": "string"
          }
        },
        "required": [
          "resource"
        ],
        "type": "object"
      },
      "name": "wafermap_call"
    },
    {
      "description": "Searches the open x402 Bazaar index (run by Coinbase CDP) for paid APIs outside Wafermap's own catalog, such as weather, web search, data enrichment or token prices. Returns each service's URL, HTTP method, price, accepted networks, an example input and whether Wafermap can pay it (payable = accepts USDG on Robinhood Chain or USDC on Solana, Base, Arbitrum or Polygon). Use it when no Wafermap resource fits the task. Free, no payment needed.",
      "inputSchema": {
        "properties": {
          "limit": {
            "description": "How many services to return (default 10, max 20).",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "What you need in a few words, e.g. \"weather forecast\" or \"web search\".",
            "minLength": 2,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "wafermap_discover"
    },
    {
      "description": "Returns everything needed to call one Wafermap resource: its USD price, the JSON Schema of its input, a ready-to-use example input, what it returns, and its HTTP endpoint. Use it after wafermap_resources and before wafermap_call so the input is valid (invalid input is rejected before any payment). Free, no payment needed.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "Resource id from wafermap_resources, e.g. \"stock-signal\" or \"prediction-markets\".",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "wafermap_resource_schema"
    },
    {
      "description": "Lists Wafermap's pay-per-call resources (35 of its own) and the live Inference Marketplace listings (ids \"m/<name>\", run and paid directly to their seller, provider \"community\") with id, name, category, USD price and a one-line summary. Use it first to find the right resource id; then read its input schema with wafermap_resource_schema and run it with wafermap_call. Categories: LLMs, image generation, audio (speech and transcription), vision, web (reading and translation), on-chain data on Robinhood Chain and Base, tokenized stocks, Polymarket prediction markets and content tools. Free, no payment needed.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Optional category filter.",
            "enum": [
              "llm",
              "image",
              "audio",
              "vision",
              "web",
              "onchain",
              "stocks",
              "prediction",
              "content"
            ],
            "type": "string"
          },
          "query": {
            "description": "Optional words to match against the id, name, summary and tags, e.g. \"stock\", \"image\", \"polymarket\". Omit to list everything.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "wafermap_resources"
    },
    {
      "description": "Lists the tokens a Wafermap wallet can swap through the KyberSwap aggregator on one network, with symbol, name and contract address. On Robinhood Chain this includes ETH, WETH, USDG and every Robinhood stock token (TSLA, NVDA, AAPL…); on Base it includes ETH, WETH and USDC. Use it to resolve a ticker to its contract address before quoting or executing a swap with the Wafermap CLI. Read-only and free; it does not trade.",
      "inputSchema": {
        "properties": {
          "network": {
            "description": "Which chain's tokens to list. Defaults to robinhood.",
            "enum": [
              "robinhood",
              "base"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "wafermap_tokens"
    }
  ]
}

What the leaf hashes

{"body":"fab50894590b38f629cb8fa56464f65aa4914ed8e3fb75e190813b7a1b991d9f","id":2034191,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793585559782255,"prev":813665,"subject":"20067acd-811e-4847-82a6-726a7374cb64","subject_kind":"endpoint"}

Proof

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

  1. 0xe5b31a23ca2623bf69b2721699aaa10d2f97421f079cfbad08b72e1f6f7663a8
  2. 0xdf558d85ddbd278a87eaca9dc535e06747cd9db6b86f0e94ee7e54fb1348f023
  3. 0x57799a0fe7cf219852c41df31e7e7a1cef51a0adcc2da2bb2c2e63da978465b4
  4. 0x1be61856ce6145f7b70de1357e45d6bb1e4d124c23dcd61d21eed48527fdfa34
  5. 0x58c486da7911f29ee1c36fa6a23923060b90fe2beb6c4f27f680d8e25adb922d
  6. 0x1f21061fb498c090e138cead4bca2f97195d3d9128f400dd2e1fb90ebad93f08
  7. 0x9ac632c06eaa60f279142855e03d5ed0148c070e007738f4e2aef4ef391bd594
  8. 0x5302166313ec37680b69b4e81624a126657c2cd5dbafdf75e5bb8d8e6ddf2f4a
  9. 0x7c2f1fb11cd2ac48a56d8c6b656846ac21b5e04d016682724c3d046050c5074c
  10. 0x992e42a8c5e129d33fac3f6988791edf80c6d799494b032372ec09b03091414b
  11. 0xb11db742ce4f8b1a66d552c1cd8fcefce0bada54ae42fe0e3def7fd89318192a
  12. 0x5de7f05542dbb95181c4cd655efb5f574870082798b2bebb6b2d8842abbb03ca
  13. 0x699db14025d495a48d39671ab634de3d8cbdf71cc080884a285592176d87ef84
  14. 0x3e441d3f53c7b69d6c73ef93d327dfc3071a522c550856540832b34fcb531738
  15. 0xd643f764eee39146411d4bff8903a327f4f8f55616e14e57281a245206d6ed2b
  16. 0x6dd7e4db65395e8670c7c2747d44fec79e03305934ef4746bf5dbca04ec6ec49
  17. 0xec5d643575d83c9e07e65deeef71943b53cbf3007e7e2b9a6ef414081509b0cc
  18. 0x252cce55f1a3d5391c16f82d7f62494429a5f69b03486d4cfcfb7b2c96d6c884
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON