addrbookFor publishers
← The evidence ledger

Evidence row 383842

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 4d9a12cb-18af-4ae2-ba59-22dae5223434
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
446dc059b10ad3ab629f0bc21ec69b4ae91d6d61f39966e17c681d915acc47b1
Leaf
0x3f02a21e8980163cbeb4faa7451474d149e6b9d5cf80396c0926e3eda3677eca

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Token security screen for a contract address: honeypot, taxes, ownership, and related GoPlus risk datapoints, plus a summary of LP lock status, top-holder concentration, and creator/owner balances with plain-language verdicts. EVM chains use chain + address; Solana addresses are detected automatically.",
      "inputSchema": {
        "additionalProperties": true,
        "properties": {
          "address": {
            "description": "Required. Token contract address (0x… for EVM, base58 for Solana).",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "chain": {
            "description": "Chain name or EVM chain id, for example \"eth\", \"bsc\", \"8453\", or \"solana\". Defaults to eth for 0x addresses; Solana is auto-detected.",
            "maxLength": 40,
            "type": "string"
          },
          "response_format": {
            "description": "concise (default) returns the trimmed essentials; detailed returns the full provider payload. json and markdown, the platform-wide values every other tool advertises, are accepted and treated as concise.",
            "enum": [
              "concise",
              "detailed",
              "json",
              "markdown"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "check_token_safety"
    },
    {
      "description": "Returns the full input schema, operation type, and correct root invoker for any Hive tool by name. Tool names come from search_tools; inspect this contract before execution.",
      "inputSchema": {
        "additionalProperties": true,
        "properties": {
          "endpoint": {
            "description": "The name of the endpoint to get the schema for.",
            "type": "string"
          },
          "endpoint_name": {
            "description": "Alias for 'endpoint', accepted for symmetry with invoke_api_endpoint. Provide one of the two.",
            "type": "string"
          },
          "response_format": {
            "description": "Output format: 'json' for structured data (default) or 'markdown' for human-readable text.",
            "enum": [
              "json",
              "markdown"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_api_endpoint_schema"
    },
    {
      "description": "Current price for one token. Pass token as a CoinGecko id or symbol (\"bitcoin\", \"BTC\"), or pass chain + address for a specific contract. Returns price, market cap, and 24h change with provider provenance.",
      "inputSchema": {
        "additionalProperties": true,
        "properties": {
          "address": {
            "description": "Token contract address; requires chain.",
            "maxLength": 100,
            "type": "string"
          },
          "chain": {
            "description": "Chain name for the contract-address variant, for example \"eth\", \"base\", \"bsc\", or \"solana\".",
            "maxLength": 40,
            "type": "string"
          },
          "response_format": {
            "description": "concise (default) returns the trimmed essentials; detailed returns the full provider payload. json and markdown, the platform-wide values every other tool advertises, are accepted and treated as concise.",
            "enum": [
              "concise",
              "detailed",
              "json",
              "markdown"
            ],
            "type": "string"
          },
          "token": {
            "description": "CoinGecko coin id or ticker symbol, for example \"bitcoin\" or \"BTC\". Omit when passing chain + address.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "vs_currency": {
            "description": "Quote currency. Default \"usd\".",
            "maxLength": 20,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_token_price"
    },
    {
      "description": "Token holdings for a wallet with balances, USD values, and 24h price change where available. Likely spam airdrops are hidden and counted (include_spam=true shows them). EVM chains route through CoinGecko (eth, base, bsc, polygon_pos, arbitrum, optimism, avax, linea, stable, robinhood, arc) with Alchemy as the fallback; Solana wallets are detected automatically and route through Helius.",
      "inputSchema": {
        "additionalProperties": true,
        "properties": {
          "address": {
            "description": "Required. Wallet address (0x… for EVM, base58 for Solana).",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "chain": {
            "description": "Chain name, for example \"eth\", \"base\", \"arbitrum\", or \"solana\". Defaults to eth for 0x addresses; Solana is auto-detected.",
            "maxLength": 40,
            "type": "string"
          },
          "include_spam": {
            "description": "Show likely spam airdrops (tokens with a URL or claim lure in the name, and on EVM chains tokens with no market price). Default false; the response says how many were hidden.",
            "type": "boolean"
          },
          "response_format": {
            "description": "concise (default) returns the trimmed essentials; detailed returns the full provider payload. json and markdown, the platform-wide values every other tool advertises, are accepted and treated as concise.",
            "enum": [
              "concise",
              "detailed",
              "json",
              "markdown"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_wallet_portfolio"
    },
    {
      "description": "Invokes only read-only Hive endpoints by name. First discover the tool, inspect get_api_endpoint_schema, and pass bounded schema-valid arguments. State-changing endpoints are rejected and must use invoke_stateful_endpoint after explicit user approval.",
      "inputSchema": {
        "additionalProperties": {},
        "properties": {
          "args": {
            "additionalProperties": {},
            "description": "The arguments to pass to the endpoint. This must match the schema returned by the `get_api_endpoint_schema` tool. You may also pass arguments as flat top-level keys alongside endpoint_name.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "endpoint": {
            "description": "Alias for 'endpoint_name', accepted by both root invokers. Provide one of the two.",
            "type": "string"
          },
          "endpoint_name": {
            "description": "The name of the endpoint to invoke.",
            "type": "string"
          },
          "response_format": {
            "description": "Output format: 'json' for structured data (default) or 'markdown' for human-readable text.",
            "enum": [
              "json",
              "markdown"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "invoke_api_endpoint"
    },
    {
      "description": "Invokes a Hive-native state-changing endpoint after explicit user approval. This router can create, update, archive, remember, forget, acknowledge, or resolve durable Hive state, so clients must not auto-approve it. Inspect get_api_endpoint_schema first and verify the saved result after execution.",
      "inputSchema": {
        "additionalProperties": {},
        "properties": {
          "args": {
            "additionalProperties": {},
            "description": "The arguments to pass to the endpoint. This must match the schema returned by the `get_api_endpoint_schema` tool. You may also pass arguments as flat top-level keys alongside endpoint_name.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "endpoint": {
            "description": "Alias for 'endpoint_name', accepted by both root invokers. Provide one of the two.",
            "type": "string"
          },
          "endpoint_name": {
            "description": "The name of the endpoint to invoke.",
            "type": "string"
          },
          "response_format": {
            "description": "Output format: 'json' for structured data (default) or 'markdown' for human-readable text.",
            "enum": [
              "json",
              "markdown"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "invoke_stateful_endpoint"
    },
    {
      "description": "Search canonical task toolsets, compact user-intent routes, and the full Hive coverage catalog. Select a matching route first, follow its ordered primary calls and conditional fallbacks, then inspect each exact schema. Execute reads with invoke_api_endpoint and explicitly approved Hive state changes with invoke_stateful_endpoint.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "category": {
            "description": "Optional category filter, for example Portfolio & Wallet.",
            "maxLength": 128,
            "type": "string"
          },
          "cursor": {
            "description": "Pagination cursor from the previous response.",
            "type": "string"
          },
          "detail": {
            "description": "Toolset detail level. Defaults to compact. Use full only when the task output schema is needed.",
            "enum": [
              "compact",
              "standard",
              "full"
            ],
            "type": "string"
          },
          "evidence_phase": {
            "description": "Optional exact workflow evidence phase. Supported values: activity, alerts, approvals, assets, authenticity, balances, blocks, bridges, derivatives, discovery, enrichment, evidence, fees, funding, gas, history, holders, identity, infrastructure, liquidity, logs, market, markets, memory, monitoring, ohlcv, owners, positions, reports, risk, routing, sales, schema, simulation, stablecoins, trades, transactions, tvl, yields.",
            "maxLength": 100,
            "type": "string"
          },
          "limit": {
            "description": "Maximum tools to return. Default 20.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "provider": {
            "description": "Optional provider filter such as CoinGecko, Tenderly, Helius, GoPlus, CCXT, Alchemy, DeFiLlama, Hyperliquid, or Open Data Fetch.",
            "maxLength": 128,
            "type": "string"
          },
          "query": {
            "description": "Search text matched against tool name, title, category, provider, and summary.",
            "maxLength": 512,
            "type": "string"
          },
          "response_format": {
            "description": "Output format: 'json' for structured data (default) or 'markdown' for human-readable text.",
            "enum": [
              "json",
              "markdown"
            ],
            "type": "string"
          },
          "route_id": {
            "description": "Optional exact task-shaped route id. Use the matched route's ordered calls and conditional fallbacks instead of choosing from the coverage catalog.",
            "maxLength": 100,
            "type": "string"
          },
          "toolset_cursor": {
            "description": "Pagination cursor for task toolset matches.",
            "type": "string"
          },
          "toolset_id": {
            "description": "Optional exact canonical task toolset id. Use this after an initial compact result to inspect one workflow.",
            "maxLength": 100,
            "type": "string"
          },
          "toolset_limit": {
            "description": "Maximum matching task toolsets to return. Default 3, max 5.",
            "maximum": 5,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "search_tools"
    },
    {
      "description": "Validates a proposed workflow answer against Hive's typed task-output and evidence-receipt contract before it is shown to the user. It checks the selected route id, ordered route-only calls, conditional fallback use, the four-call route budget, claim-to-receipt citations, canonical phase coverage, and internal receipt consistency. It cannot authenticate invented receipts or turn SHA-256 self-checks into signatures, so every call entry must be copied exactly from the server-minted _hive block returned by that execution.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "response_format": {
            "description": "Output format: 'json' for structured data (default) or 'markdown' for human-readable text.",
            "enum": [
              "json",
              "markdown"
            ],
            "type": "string"
          },
          "result": {
            "additionalProperties": {},
            "description": "The proposed task result envelope. Each receipt.calls entry must be copied exactly from a material call's _hive object.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "task_toolset_id": {
            "description": "Canonical task toolset id returned by search_tools.",
            "type": "string"
          }
        },
        "required": [
          "task_toolset_id",
          "result"
        ],
        "type": "object"
      },
      "name": "validate_task_result"
    }
  ]
}

What the leaf hashes

{"body":"446dc059b10ad3ab629f0bc21ec69b4ae91d6d61f39966e17c681d915acc47b1","id":383842,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793060203217340,"prev":null,"subject":"4d9a12cb-18af-4ae2-ba59-22dae5223434","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. 0x3f02985a7af89f9e24cc46d130e76e91ef06fbaf3fcc23ce82ef09e05dd76b8e
  2. 0x35e4b2bc30ce34246fb805ea3059abc8baeb2e063cfdaf873b085c0a56b35b6d
  3. 0x4c3a90a88a527c155e73f6590bfdad1aaaec9b638c42558114dbed8ff9012be7
  4. 0xff71608e2ee039f1b357ac9e320548bd9745d41d13a1e76f8335e0f4e2fa98df
  5. 0x9c8fcbbd3026c53a96d99a769db649f4a9e90c6bd2c65047df1d9fecc8ee0454
  6. 0x56a26c3b436aae17a57824b69b67db3f380b799a0ccfc07dbf5fdc85ca2d7d20
  7. 0x614e43f5953d01b2aef386ec4adc08786ca3e8842e9245cef21f567d35b2e944
  8. 0xf0415d60365798f15cfcee9cd4999e8767c7f6b451820274898b24c588e1116b
  9. 0x5a030fb12033043f6aecd372d65c0b4b74226e949eb9fd0cc8aeff613fb99513
  10. 0x692aa1becc5dbb2897d6b9b4a673bdbb4bb4ef78091ceafa3ad72e70f0007af4
  11. 0x6e6c3f9e8905b53bea3a56703a85b838b295ee8873c8ac6067caa68293188db7
  12. 0x139a61fc1533aad2dd83b82b2ec2330ee3422710b28d63ce7ff509ed7d7bc93e
  13. 0xe097a5c0640b3c074fef1c9f5fe91898965687ad755f1c27c31462a60e313f0a
  14. 0x1de9caca1fa6dbbe090ee48dad5f962bbfd09856fd897edc8c3c110272d35c56
  15. 0x2c117b27721eea45f6590fbccb471d21a7b0b079a53f089ecb300c63bdb3aebf
  16. 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
  17. 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON