addrbookFor publishers
← The evidence ledger

Evidence row 296251

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 7f0b0813-c54e-43e2-9836-a20ce3fcf408
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
cdff3b8371f942479b910fa87a81bc81c6d1fee4dd85ac533ff52ba9dab7b4c5
Leaf
0x86507f4c373914226271782335e89ffd35c8ea62ed0a56cfab95528469076a22

What was observed

{
  "count": 4,
  "tools": [
    {
      "description": "PAID $0.002 (x402, USDC on Base). Fetch the verified ABI + metadata for a contract. Give {address, chain}; get the ABI JSON, verification status/source (Sourcify or Blockscout), the callable function/event signatures, and full proxy-implementation resolution (EIP-1967/1822/OZ-legacy/beacon) — returning the implementation's ABI when it's a proxy. Without payment returns the x402 challenge; pass x_payment to settle.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Contract address (0x + 40 hex).",
            "type": "string"
          },
          "chain": {
            "description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc.",
            "enum": [
              "ethereum",
              "base",
              "arbitrum",
              "optimism",
              "polygon",
              "bsc"
            ],
            "type": "string"
          },
          "x_payment": {
            "description": "x402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "address"
        ],
        "type": "object"
      },
      "name": "abi_fetch"
    },
    {
      "description": "PAID $0.002 (x402, USDC on Base). Decode a contract function call. Give {chain, to?, data, abi?}; get the 4-byte selector resolved to a function signature (via provided ABI, the verified contract source, or 4byte.directory) plus fully decoded, typed arguments (tuples/arrays/nested included). Without payment returns the x402 challenge.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "abi": {
            "anyOf": [
              {
                "type": "array"
              },
              {
                "type": "string"
              }
            ],
            "description": "Optional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory."
          },
          "chain": {
            "description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc.",
            "enum": [
              "ethereum",
              "base",
              "arbitrum",
              "optimism",
              "polygon",
              "bsc"
            ],
            "type": "string"
          },
          "data": {
            "description": "Calldata (0x hex, at least the 4-byte selector).",
            "type": "string"
          },
          "to": {
            "description": "Contract address the call targets (optional; enables verified-ABI resolution).",
            "type": "string"
          },
          "x_payment": {
            "description": "x402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "data"
        ],
        "type": "object"
      },
      "name": "decode_calldata"
    },
    {
      "description": "PAID $0.003 (x402, USDC on Base). FLAGSHIP: decode EVM event LOGS to human-readable JSON. Give {chain, tx_hash} to decode every log in a transaction, OR {chain, address, topics[], data} for a single log; optional {abi}. Returns each event's name, canonical signature and named/typed args — correctly handling tuple/array/nested params, anonymous events, and indexed vs non-indexed. Resolves the ABI via Sourcify/Blockscout + 4byte event signatures when none is supplied. Without payment returns the x402 challenge; pass x_payment to settle.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "abi": {
            "anyOf": [
              {
                "type": "array"
              },
              {
                "type": "string"
              }
            ],
            "description": "Optional contract ABI (JSON array or JSON string). If omitted, the ABI is resolved from the verified source (Sourcify/Blockscout) or 4byte.directory."
          },
          "address": {
            "description": "Contract address of a single log (used with topics + data).",
            "type": "string"
          },
          "chain": {
            "description": "EVM chain: ethereum | base | arbitrum | optimism | polygon | bsc.",
            "enum": [
              "ethereum",
              "base",
              "arbitrum",
              "optimism",
              "polygon",
              "bsc"
            ],
            "type": "string"
          },
          "data": {
            "description": "Log data field (0x hex) holding the non-indexed args.",
            "type": "string"
          },
          "topics": {
            "description": "Log topics array (topic0 is the event signature hash for non-anonymous events).",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "tx_hash": {
            "description": "Transaction hash (0x + 64 hex) — decodes every event log in the tx.",
            "type": "string"
          },
          "x_payment": {
            "description": "x402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.",
            "type": "string"
          }
        },
        "required": [
          "chain"
        ],
        "type": "object"
      },
      "name": "decode_log"
    },
    {
      "description": "PAID $0.001 (x402, USDC on Base). Resolve a 4-byte function selector (0x + 8 hex) OR a 32-byte event topic hash (0x + 64 hex) to its human-readable signature(s) via 4byte.directory + openchain.xyz. Returns all matches (selectors can collide) with a verified flag. Without payment returns the x402 challenge; pass x_payment to settle.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "selector": {
            "description": "A 4-byte function selector (0x + 8 hex) or a 32-byte event topic hash (0x + 64 hex).",
            "type": "string"
          },
          "x_payment": {
            "description": "x402 payment payload (base64) for this PAID decode. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.",
            "type": "string"
          }
        },
        "required": [
          "selector"
        ],
        "type": "object"
      },
      "name": "selector_lookup"
    }
  ]
}

What the leaf hashes

{"body":"cdff3b8371f942479b910fa87a81bc81c6d1fee4dd85ac533ff52ba9dab7b4c5","id":296251,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793051543664838,"prev":null,"subject":"7f0b0813-c54e-43e2-9836-a20ce3fcf408","subject_kind":"endpoint"}

Proof

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

  1. 0x865094ddb252432a4d984f426755b9c3dafca02c21265d30557bfda1ca3deeff
  2. 0xf57096a3e2b5a59d2e9090919082c40fe8ed5651589a3f40e31b899ff0f4b631
  3. 0xa7a7fb14f6afd1bfb80dde67a83ed676a19dec984f3132e7c59402b6577931d7
  4. 0xfb5170af58c9dfbf7dcc23826691a8e9070396df8d4cdc5a63a3c89eebe49a0d
  5. 0x9b3826dae52262070e6c2ca19bc1a45de2708b77979e4e7b5790c927cf8dea78
  6. 0xed8a0c29ff72196787a2550b07905cc11af643e4af1e3e850c9870426defcd75
  7. 0xa3381d407d013f9e92cb885a3c6a16d0c99b206c048fe4926f070afa5e8c99c9
  8. 0x0c8f800d358371bafd5718ad6abead346c2bd8786b10999ef8207790a4ee7639
  9. 0x71c0daefd140cec252c986d779edb4efc65fc2b221c658a7e6c7224d8aba2fc0
  10. 0x0d847b9eb30e194e701d2d4f8af4f34ef43f6c033fe5e001b93f122bdbea7c80
  11. 0xd6d2fb435c815b0341c19086a636cc9a706a6129405e2030054a243942b686fe
  12. 0x146f43471a3bde6d8a04e87b6afd3ee6860c6e38a009f86aee705ce722b67748
  13. 0x91c2ae93ec20c7fed5088112fe3941ca622dfb3f8f1022c4844726c361244bd4
  14. 0x0eff463856b0992d53ab7d8c0b97c71541413358bdd445710c1e4b6aeb4d8f78
  15. 0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2
  16. 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON