addrbookFor publishers
← The evidence ledger

Evidence row 587248

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint d7528fde-26c3-4c3d-bb63-15724b860496
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
3c5672fe9396b8d6ee92acce57d040a6df628ba765b4fb88a34a0f746cc2a612
Leaf
0x0fcd4c964e49470e2e24a25248de1c01147a0647597ef3dc438c47887c3f1864

What was observed

{
  "count": 12,
  "tools": [
    {
      "description": "Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed function/arg names, and read its provenance.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chain": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              }
            ],
            "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
          },
          "rpc_url": {
            "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
            "pattern": "^https?:\\/\\/\\S+$",
            "type": "string"
          },
          "tx_hash": {
            "description": "0x transaction hash.",
            "pattern": "^0x[0-9a-fA-F]{64}$",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "tx_hash"
        ],
        "type": "object"
      },
      "name": "decode_tx"
    },
    {
      "description": "Encode a function call to calldata (0x…) without sending anything.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "0x contract address.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "args": {
            "default": [],
            "description": "Function arguments, in order. Pass uint values as decimal strings.",
            "type": "array"
          },
          "chain": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              }
            ],
            "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
          },
          "function": {
            "description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded.",
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "rpc_url": {
            "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
            "pattern": "^https?:\\/\\/\\S+$",
            "type": "string"
          },
          "value": {
            "description": "Native value in wei (decimal string), for payable functions.",
            "pattern": "^\\d+$",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "address",
          "function"
        ],
        "type": "object"
      },
      "name": "encode_call"
    },
    {
      "description": "Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "export_registry"
    },
    {
      "description": "List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "has_default_rpc": {
            "description": "When true, only chains gulltoppr can query without rpc_url.",
            "type": "boolean"
          },
          "q": {
            "description": "Search by chain id, name, alias, or native symbol; multi-word queries also match token-by-token and without whitespace.",
            "type": "string"
          },
          "testnets": {
            "description": "When true, only testnets; when false, only mainnets.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "list_chains"
    },
    {
      "description": "Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "selector": {
            "description": "4-byte function/error selector or 32-byte event topic0.",
            "pattern": "^0x([0-9a-fA-F]{8}|[0-9a-fA-F]{64})$",
            "type": "string"
          }
        },
        "required": [
          "selector"
        ],
        "type": "object"
      },
      "name": "lookup_selector"
    },
    {
      "description": "Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configured signing deeplink, and an EIP-1193 wallet request when signing is recommended. IMPORTANT: this tool NEVER signs or broadcasts. Present the summary + simulation + warnings to the user. Only hand them the `deeplink` or `wallet_request` when `safety.signing_recommended` is true. If `safety.risk_level` is high or blocked, make that explicit; blocked means do not send.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "0x contract address.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "args": {
            "default": [],
            "description": "Function arguments, in order. Pass uint values as decimal strings.",
            "type": "array"
          },
          "chain": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              }
            ],
            "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
          },
          "from": {
            "description": "The sender address (the user's wallet). No key is needed — nothing is signed.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "function": {
            "description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded.",
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "rpc_url": {
            "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
            "pattern": "^https?:\\/\\/\\S+$",
            "type": "string"
          },
          "value": {
            "description": "Native value in wei (decimal string), for payable functions.",
            "pattern": "^\\d+$",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "address",
          "function",
          "from"
        ],
        "type": "object"
      },
      "name": "prepare_tx"
    },
    {
      "description": "Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "0x contract address.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "args": {
            "default": [],
            "description": "Function arguments, in order. Pass uint values as decimal strings.",
            "type": "array"
          },
          "chain": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              }
            ],
            "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
          },
          "function": {
            "description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded.",
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "rpc_url": {
            "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
            "pattern": "^https?:\\/\\/\\S+$",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "address",
          "function"
        ],
        "type": "object"
      },
      "name": "read_contract"
    },
    {
      "description": "Read selector commons counts by proof grade and bytecode-match index size.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "registry_stats"
    },
    {
      "description": "Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capability manifest (read vs write functions, the 'buttons'), proxy chain, token metadata, and PROVENANCE. ALWAYS read `provenance`: a `decompiled` ABI has synthetic function names — treat it with care and confirm intent before writing. Partial, proxy, and bytecode-match results lead with a WARNING before the JSON. The compact manifest/provenance is also returned as structuredContent. Use method_q/method_kind/method_limit for large ABIs. Raw ABI is omitted from MCP output to save tokens; use REST/SDK resolve_abi with include_abi=true if needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "0x contract address.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "chain": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              }
            ],
            "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
          },
          "method_kind": {
            "description": "Restrict manifest methods to read, write, or all.",
            "enum": [
              "read",
              "write",
              "all"
            ],
            "type": "string"
          },
          "method_limit": {
            "description": "Maximum number of manifest methods to return after filtering.",
            "maximum": 500,
            "minimum": 0,
            "type": "integer"
          },
          "method_q": {
            "description": "Case-insensitive manifest method search across names, signatures, parameters, outputs, and hints.",
            "type": "string"
          },
          "rpc_url": {
            "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
            "pattern": "^https?:\\/\\/\\S+$",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "address"
        ],
        "type": "object"
      },
      "name": "resolve_abi"
    },
    {
      "description": "Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "chain": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              }
            ],
            "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
          },
          "name": {
            "description": "An ENS/Basename (vitalik.eth, name.base.eth) or a 0x address.",
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "resolve_name"
    },
    {
      "description": "Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "runtime_metrics"
    },
    {
      "description": "Simulate a call and return success, gas, decoded return, and best-effort state diff / asset changes / logs. Provide a high-level call (address + function + args) or raw (to + data), never both.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "0x contract address.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "args": {
            "default": [],
            "description": "Function arguments, in order. Pass uint values as decimal strings.",
            "type": "array"
          },
          "chain": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              }
            ],
            "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
          },
          "data": {
            "description": "Raw form: calldata (0x-prefixed hex bytes).",
            "pattern": "^0x([0-9a-fA-F]{2})*$",
            "type": "string"
          },
          "from": {
            "description": "The sender address (the user's wallet). No key is needed — nothing is signed.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "function": {
            "description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded.",
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "rpc_url": {
            "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
            "pattern": "^https?:\\/\\/\\S+$",
            "type": "string"
          },
          "to": {
            "$ref": "#/properties/address",
            "description": "Raw form: target address."
          },
          "value": {
            "description": "Native value in wei (decimal string), for payable functions.",
            "pattern": "^\\d+$",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "from"
        ],
        "type": "object"
      },
      "name": "simulate"
    }
  ]
}

What the leaf hashes

{"body":"3c5672fe9396b8d6ee92acce57d040a6df628ba765b4fb88a34a0f746cc2a612","id":587248,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793147843039119,"prev":null,"subject":"d7528fde-26c3-4c3d-bb63-15724b860496","subject_kind":"endpoint"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON