← 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).
- 0xb7b5513acf410377afc8135869d2797973d6ad48cb353bdabded0a9232a533c0
- 0xa883217d7ea987171b65940265f80814fd292aa5d87d35994baf764e5ec6d14d
- 0xd1ee8bc3b660027cd545d860ef1d507988804c1e1d5f386bbc7e9818e66c5294
- 0xe88fb70c4689a70d0cdc6ae72c6100b96fcf301e46f1e75b5df5a47297240b6f
- 0x9e876a05a3845b9c60fbf47e77935100d4824e5c67e41b08d8ac8fd78d02ab11
- 0x6d20efdeed265aaa8f26751346a3c9ee7ee8f034d578cbd602c48ad2886644cd
- 0xbd7f4de86d592b2ac2cc1837921a96250c61af2d19ff145127fc7b17b1ce6436
- 0x04e5ec79109ba345b43572e7e341da943c265d6c06285e5d3f34143111e0a2f2
- 0x5c2c0257d9757a0e016d149b3510c7c606eab3ee4f1b25e54a124a0540cdca7e
- 0x02133db96760e2e6d897f4d0eff0f4476cf1e8a3095578b8101d2f9b45723c18
- 0x0bd5c4ee0536ff6471a0f1a8676a731f2caf5d42f515ae40fa5d82310634e537
- 0xdc4af1861bcc27178db9854c119413a3d8acb113ca467e0eb6c0cadd8a60ba5d
- 0xdb8e341e9690aa686b29432c7b868b3859fb692c3ae3a679b8bc1219ebe3a597
- 0x87cb8935612c40b569de008a9bf8218cd24a06f74a7364a1654613d972fe00ed
- 0xec7bb68216a4deb1960acfbbd75da88f7e468b58adb9cf3ec62f2790e46508b3
- 0x64c405a28e8819716221eb2529fe4ce277ab08025e17e685cbd5ece75ceb75c7
- 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4