addrbookFor publishers
← The evidence ledger

Evidence row 577858

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 70ca5bc1-84dd-44bc-99d0-4c359d1817e6
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
083ed23c84e61c5e626d409a674914ad776c0d0328ea5c695ab9c60a07802e8e
Leaf
0xb7b54002d02d8ff4cadccb0a0feaca6bef5adbe33c988acad80e337f8814bdd1

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Honeypot / contract safety check for any ERC-20 token.\n\nReturns a severity classification (safe / warn / danger), the specific\nrisk factors detected, and the result of a simulated sell. When\nseverity=danger, the next `evaluate_trade` for the same contract is\nautomatically denied regardless of any other checks.\n\nThis is a heuristic bytecode + simulation check, not a formal audit.\nUse it before trading unknown tokens, memecoins, or any contract that\nis absent from the official Robinhood Chain registry. It is safe to\ncall repeatedly; no transaction is ever sent.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "contract_address": {
            "description": "Token contract address (0x...).",
            "type": "string"
          }
        },
        "required": [
          "contract_address"
        ],
        "type": "object"
      },
      "name": "check_token_safety"
    },
    {
      "description": "Pre-trade risk check for a proposed trade. Call this BEFORE executing\nany trade and treat a \"deny\" decision as a hard stop.\n\nEvaluated at a fixed Tier 1 ceiling ($5,000 notional). For higher\nlimits, use `evaluate_trade_paid` (Tier 2, $25,000) which settles an\nx402 payment on-chain.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "description": "Quantity in token units — NOT a pre-computed USD value.",
            "type": "number"
          },
          "asset": {
            "description": "Asset symbol, e.g. NVDA, AAPL, TSLA, USDG.",
            "type": "string"
          },
          "contract_address": {
            "description": "Token contract address (0x...). Must match the\nofficial registry address for that symbol, or the trade is\ndenied as a suspected fake token.",
            "type": "string"
          },
          "max_slippage_bps": {
            "default": 100,
            "description": "Max slippage in basis points (default 100).",
            "type": "integer"
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional idempotency key."
          },
          "side": {
            "description": "\"buy\" or \"sell\".",
            "type": "string"
          },
          "wallet": {
            "description": "EVM wallet address (0x...) the trade would execute from.",
            "type": "string"
          }
        },
        "required": [
          "wallet",
          "asset",
          "contract_address",
          "side",
          "amount"
        ],
        "type": "object"
      },
      "name": "evaluate_trade"
    },
    {
      "description": "Pre-trade risk check gated by an x402 payment. Evaluated as COLR\nTier 2: $25,000 notional ceiling, 10/25 per-minute rate limits.\nNo COLR holdings are required — the on-chain payment is the\ncredential.\n\nFLOW\n----\n1. Call WITHOUT payment_proof → the tool returns a\n   `PaymentRequiredOutput` describing the on-chain payment\n   (network, asset, amount, payTo, resource).\n2. Settle the payment on-chain using an x402-capable client. The\n   facilitator returns a proof string.\n3. Call again with `payment_proof=<proof>` → the tool forwards the\n   proof to the guardrail's x402-paid endpoint and returns a full\n   `EvaluateTradeOutput` with `tier=2`.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "description": "Quantity in token units.",
            "type": "number"
          },
          "asset": {
            "description": "Asset symbol, e.g. NVDA, AAPL, TSLA, USDG.",
            "type": "string"
          },
          "contract_address": {
            "description": "Token contract address (0x...).",
            "type": "string"
          },
          "max_slippage_bps": {
            "default": 100,
            "description": "Max slippage in basis points (default 100).",
            "type": "integer"
          },
          "payment_proof": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "x402 payment proof from the facilitator. Omit\non the first call to receive the payment challenge."
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Optional idempotency key."
          },
          "side": {
            "description": "\"buy\" or \"sell\".",
            "type": "string"
          },
          "wallet": {
            "description": "EVM wallet address (0x...) the trade would execute from.",
            "type": "string"
          }
        },
        "required": [
          "wallet",
          "asset",
          "contract_address",
          "side",
          "amount"
        ],
        "type": "object"
      },
      "name": "evaluate_trade_paid"
    },
    {
      "description": "List every asset in the guardrail's official Robinhood Chain registry,\nwith its canonical contract address.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "get_supported_assets"
    },
    {
      "description": "Simulate a wallet's ERC-20 balance after a hypothetical trade using\neth_call state override. Read-only: no transaction is ever sent.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "decimals": {
            "default": 18,
            "description": "Token decimals (default 18).",
            "type": "integer"
          },
          "delta": {
            "description": "Signed amount (negative = spend).",
            "type": "number"
          },
          "holder": {
            "description": "Wallet address whose balance is simulated (0x...).",
            "type": "string"
          },
          "token_address": {
            "description": "ERC-20 contract address (0x...).",
            "type": "string"
          }
        },
        "required": [
          "token_address",
          "holder",
          "delta"
        ],
        "type": "object"
      },
      "name": "simulate_balance"
    },
    {
      "description": "Verify the tamper-evident audit trail for a wallet's past guardrail\ndecisions.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 100,
            "description": "How many recent records to verify (1-1000, default 100).",
            "type": "integer"
          },
          "wallet": {
            "description": "EVM wallet address (0x...).",
            "type": "string"
          }
        },
        "required": [
          "wallet"
        ],
        "type": "object"
      },
      "name": "verify_audit_trail"
    }
  ]
}

What the leaf hashes

{"body":"083ed23c84e61c5e626d409a674914ad776c0d0328ea5c695ab9c60a07802e8e","id":577858,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793142778642081,"prev":null,"subject":"70ca5bc1-84dd-44bc-99d0-4c359d1817e6","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. 0xb7b5513acf410377afc8135869d2797973d6ad48cb353bdabded0a9232a533c0
  2. 0xa883217d7ea987171b65940265f80814fd292aa5d87d35994baf764e5ec6d14d
  3. 0xd1ee8bc3b660027cd545d860ef1d507988804c1e1d5f386bbc7e9818e66c5294
  4. 0xe88fb70c4689a70d0cdc6ae72c6100b96fcf301e46f1e75b5df5a47297240b6f
  5. 0x9e876a05a3845b9c60fbf47e77935100d4824e5c67e41b08d8ac8fd78d02ab11
  6. 0x6d20efdeed265aaa8f26751346a3c9ee7ee8f034d578cbd602c48ad2886644cd
  7. 0xbd7f4de86d592b2ac2cc1837921a96250c61af2d19ff145127fc7b17b1ce6436
  8. 0x04e5ec79109ba345b43572e7e341da943c265d6c06285e5d3f34143111e0a2f2
  9. 0x5c2c0257d9757a0e016d149b3510c7c606eab3ee4f1b25e54a124a0540cdca7e
  10. 0x02133db96760e2e6d897f4d0eff0f4476cf1e8a3095578b8101d2f9b45723c18
  11. 0x0bd5c4ee0536ff6471a0f1a8676a731f2caf5d42f515ae40fa5d82310634e537
  12. 0xdc4af1861bcc27178db9854c119413a3d8acb113ca467e0eb6c0cadd8a60ba5d
  13. 0xdb8e341e9690aa686b29432c7b868b3859fb692c3ae3a679b8bc1219ebe3a597
  14. 0x87cb8935612c40b569de008a9bf8218cd24a06f74a7364a1654613d972fe00ed
  15. 0xec7bb68216a4deb1960acfbbd75da88f7e468b58adb9cf3ec62f2790e46508b3
  16. 0x64c405a28e8819716221eb2529fe4ce277ab08025e17e685cbd5ece75ceb75c7
  17. 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON