addrbookFor publishers
← The evidence ledger

Evidence row 565775

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 7a1b7fe8-288c-494a-a9e4-290d8681165c
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
f38a21a11fcef8a8801b7ef49fa35b67e829af8ee617c2aaa3f6226ff1de8544
Leaf
0x26d6706e334705f2fbadcc40bdfc7736e32a5132f1fffab39b8a9b46e2728d51

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Use when you need what a wallet or contract holds: reads the native ETH balance and ERC-20 balances (a default set of major tokens, or up to 20 token symbols/addresses you pass) for one address on Base or Ethereum in a single multicall, with human-readable amounts and USD values from Chainlink feeds, plus a total. Zero balances are omitted unless asked. Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Wallet or contract address (0x…).",
            "type": "string"
          },
          "chain": {
            "default": "base",
            "description": "Chain.",
            "enum": [
              "base",
              "ethereum"
            ],
            "type": "string"
          },
          "includeZero": {
            "default": "false",
            "description": "Also list zero balances (true/false).",
            "type": "string"
          },
          "tokens": {
            "description": "Comma-separated token symbols (from the default list) or 0x token addresses, max 20. Default: major tokens of the chain.",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "type": "object"
      },
      "name": "balances"
    },
    {
      "description": "Use when a token has no Chainlink feed (long-tail, new or memecoins) and you need its current market price: finds every Uniswap v3 pool of the token against WETH, USDC (and USDT on Ethereum) across fee tiers, reads each pool's price (slot0) and reserves in one multicall, converts to USD with Chainlink, and returns the price from the deepest pool plus all pools with their depth. Flags thin liquidity. Uniswap v3 only (Aerodrome and other DEXs not included). Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "chain": {
            "default": "base",
            "description": "Chain.",
            "enum": [
              "base",
              "ethereum"
            ],
            "type": "string"
          },
          "token": {
            "description": "ERC-20 contract address.",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "name": "dex_price"
    },
    {
      "description": "Use before sending funds or when you only have a human-readable name: resolves ENS names (.eth and DNS names on ENS, including offchain/wildcard resolvers via CCIP-Read such as *.cb.id) and Basenames (*.base.eth, read directly on Base) to a checksummed address; or, given an address, returns its primary ENS name and primary Basename, each forward-verified (the name must resolve back to the address). Names are normalized per ENSIP-15. Unresolvable names are not charged. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Address to reverse-resolve (0x… 40 hex). Give name or address.",
            "type": "string"
          },
          "name": {
            "description": "ENS name or Basename to resolve, e.g. vitalik.eth or jesse.base.eth. Give name or address.",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "ens"
    },
    {
      "description": "Use before sending a transaction or to tell a user what it will cost: reads eth_feeHistory over the last 20 blocks (10th/50th/90th percentile tips), the next base fee and gas price, on Base also the L1 data fee upper bound from the OP-stack GasPriceOracle, and prices typical actions (ETH transfer 21k gas, ERC-20 transfer 65k, DEX swap 180k) in ETH and USD (Chainlink ETH/USD). Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "chain": {
            "default": "base",
            "description": "Chain.",
            "enum": [
              "base",
              "ethereum"
            ],
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "gas"
    },
    {
      "description": "Use when you need who holds a token (concentration, whales, treasury): returns the top N holders of an ERC-20 contract on Base or Ethereum with rank, checksummed address, raw and formatted balance, and share of total supply when the explorer provides it. Public name tags and ENS from the explorer are included as labels; no personal identity is invented and emails are stripped. Ethereum prefers Blockscout, falls back to Ethplorer. Base uses Blockscout; if that explorer blocks the request, the call returns 503 and is not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Token contract address (0x…) on the chosen chain. Example: USDT on Ethereum (use with chain=ethereum).",
            "type": "string"
          },
          "chain": {
            "default": "base",
            "description": "Chain. The example address is on Ethereum, so it needs chain=ethereum.",
            "enum": [
              "base",
              "ethereum"
            ],
            "type": "string"
          },
          "limit": {
            "default": "10",
            "description": "Max holders to return (1-50).",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "type": "object"
      },
      "name": "holders"
    },
    {
      "description": "Use when you need a trustworthy USD price for crypto assets (ETH, BTC, cbBTC, SOL, LINK, AAVE, stablecoins), fiat FX rates (EUR, GBP, JPY…) or metals (XAU, XAG): reads the Chainlink price feed contracts directly from Base or Ethereum in one multicall and returns price, last update time, age in seconds, a stale flag and the feed address so the value is verifiable on-chain. Up to 10 symbols per call. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "chain": {
            "default": "base",
            "description": "Chain to read the feeds from.",
            "enum": [
              "base",
              "ethereum"
            ],
            "type": "string"
          },
          "symbols": {
            "description": "Comma-separated asset symbols (max 10), e.g. \"ETH,BTC,USDC,EUR\". GET / lists all supported symbols per chain.",
            "type": "string"
          }
        },
        "required": [
          "symbols"
        ],
        "type": "object"
      },
      "name": "price"
    },
    {
      "description": "Use when you have a token contract address and need to know what it is: reads name, symbol, decimals and totalSupply straight from the contract (one multicall) on Base or Ethereum, confirms there is contract code at the address, and adds a Chainlink USD price when one exists for the symbol. Answers 404 (not charged) when the address is not a token. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Token contract address (0x…).",
            "type": "string"
          },
          "chain": {
            "default": "base",
            "description": "Chain.",
            "enum": [
              "base",
              "ethereum"
            ],
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "type": "object"
      },
      "name": "token"
    },
    {
      "description": "Use when you need to confirm or explain a transaction (e.g. verify a payment arrived): fetches the transaction, its receipt and block from Base or Ethereum and returns success/failed/pending, confirmations, timestamp, from, to, native value, gas used and fee, the 4-byte method selector, contract created, and every ERC-20 Transfer log decoded with token symbol and human amount. 404 (not charged) if the hash is unknown. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "chain": {
            "default": "base",
            "description": "Chain.",
            "enum": [
              "base",
              "ethereum"
            ],
            "type": "string"
          },
          "hash": {
            "description": "Transaction hash (0x + 64 hex).",
            "type": "string"
          }
        },
        "required": [
          "hash"
        ],
        "type": "object"
      },
      "name": "tx"
    }
  ]
}

What the leaf hashes

{"body":"f38a21a11fcef8a8801b7ef49fa35b67e829af8ee617c2aaa3f6226ff1de8544","id":565775,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138266316279,"prev":null,"subject":"7a1b7fe8-288c-494a-a9e4-290d8681165c","subject_kind":"endpoint"}

Proof

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

  1. 0x26d663a46d178109cb9c9ee41068891f4850e764dd06ad912ebb7462e4240cc2
  2. 0xe9a36dd2f26cc7a6ec6c5fbf6837bc3f4b4f7cbf249b3ee6201bb7ac0003d11b
  3. 0x170b523917705612fca74fefabaeeced6dcaef3039dd6c4cd02bf3da60bf306b
  4. 0x71bb851ccfbd7f6652d31c7c14484fd0acc6a670b23cd150cf7349cabf71b060
  5. 0xcd9bf0086bbed39ad257f91305d18e96a88ea798d1c462a616a44dc8c1f36eaf
  6. 0x31a969abaa56ae496dc1520755d6151c24156927c94d830dd056f66589b777c9
  7. 0xbffe09d10c193fe5adf9687b3b33e3fdb09d02cd2a89baf79829762af23cf763
  8. 0x982dfc482ff7712c73acba3d460467c56a52fc239a1fb3ca50f3d228e4559539
  9. 0x7eef3e84cbbf8e3022478f42694672ed3489a1c7c41c067024be8e6c6490540d
  10. 0x5aba22f3dc53cd93af636c89bbe0c1859d33e4e88ee22eb9667b233d6252b74b
  11. 0x2d75a3b8f36f049e598ecd7557138ba9fd051a8555ec519a603c54db3bb1093f
  12. 0xf5aa0adf486bca586314afc4935e732d521d3d8275e51eb4c8d2de46b00ea2c1
  13. 0x28be2f2303fcac4decdb6323b0f4ee8f8a31038beb758eaafc604a98626292e4
  14. 0x8ff18b1523f9fbdd16a5796cbe184b46854c06256508af8de5509b598370c725
  15. 0xa383a1cfe9b3f6af67eb4c7642564b9424d46d7fca90e7ba175d549f8b67dd0c
  16. 0x52efa60e0c3d8525486d2310eb3b6b566c9677c64fd1f819edb072cf101bcbdb
  17. 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON