addrbookFor publishers
← The evidence ledger

Evidence row 1033592

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 3c0595dc-99c7-4de3-8fae-5e0926f7b8c3
Recorded
Previous row
#309439
Body SHA-256
56bd86c93a68853f5a6d26134c1e39b8b28e9477b8c9f96785b69a4347a2ce04
Leaf
0xc1a1aee50efa592f7fe461cabcc02edba0035ee4831d157b0002c84a3c5c12a8

What was observed

{
  "count": 17,
  "tools": [
    {
      "description": "Use this when the user asks to cancel a resting or trigger order by its oid (from get_my_open_orders).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "order_id": {
            "description": "The Hyperliquid order id (oid) to cancel — see get_my_open_orders",
            "type": "integer"
          }
        },
        "required": [
          "order_id"
        ],
        "type": "object"
      },
      "name": "cancel_order"
    },
    {
      "description": "Use this when the user asks to close (fully or partially) an open Hyperliquid position. Risk-reducing: works whenever agent trading is armed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "size": {
            "description": "Partial close size in coins. Omit to close the entire position",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "symbol": {
            "description": "Coin symbol of the open position, e.g. BTC",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "type": "object"
      },
      "name": "close_position"
    },
    {
      "description": "Use this when the user wants OHLCV candle history for a Hyperliquid perp market (for analysis or charting).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "interval": {
            "default": "1h",
            "description": "Candle interval",
            "enum": [
              "1m",
              "3m",
              "5m",
              "15m",
              "30m",
              "1h",
              "2h",
              "4h",
              "8h",
              "12h",
              "1d",
              "3d",
              "1w",
              "1M"
            ],
            "type": "string"
          },
          "limit": {
            "default": 100,
            "description": "Number of candles",
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "symbol": {
            "description": "Coin symbol, e.g. BTC",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "type": "object"
      },
      "name": "get_candles"
    },
    {
      "description": "Use this when the user asks which perpetual markets are tradable on MCPify (Hyperliquid), or for a market overview with prices, 24h change, volume, funding and max leverage.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 50,
            "description": "Max rows",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "search": {
            "description": "Filter by symbol substring, e.g. BTC",
            "type": "string"
          },
          "sort": {
            "default": "volume",
            "description": "Sort order",
            "enum": [
              "volume",
              "change",
              "symbol"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_markets"
    },
    {
      "description": "Use this when the user asks about THEIR MCPify account: balance, withdrawable, open positions with PnL and liquidation prices, and whether agent trading is armed.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "get_my_account"
    },
    {
      "description": "Use this when the user asks how to deposit or fund their MCPify / Hyperliquid account. Returns THEIR personal deposit addresses (USDC or ETH on Arbitrum One, USDC or SOL on Solana) with minimums, fees and arrival times; everything sent there is credited to the user's own Hyperliquid account. Read-only: it never moves money, and there is no withdraw tool. Give the user only these exact addresses.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "get_my_deposit_addresses"
    },
    {
      "description": "Use this when the user says they sent a deposit or asks where their money is. Lists their deposits in progress (each step, and exactly what to send if one is waiting below the minimum) and their recent finished deposits (sent → swapped → fee → credited). Calling it also makes MCPify check the user's deposit addresses every few seconds for the next few hours, so a fresh transfer shows up fast.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 10,
            "description": "How many finished deposits to include, newest first. Deposits still in progress are always all listed",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "get_my_deposits"
    },
    {
      "description": "Use this when the user asks for their open/resting orders on Hyperliquid (including TP/SL trigger orders). Returns each order's oid for cancellation.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "get_my_open_orders"
    },
    {
      "description": "Use this when the user asks what orders were placed through MCPify (our audit records, including which source placed them: web, mcp agent, admin) — successes and rejections alike.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "action": {
            "description": "Filter by action",
            "enum": [
              "open",
              "close",
              "tpsl",
              "cancel"
            ],
            "type": "string"
          },
          "limit": {
            "default": 25,
            "description": "Number of records",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "get_my_order_records"
    },
    {
      "description": "Use this when the user asks about their open positions, or before closing a position or moving its stop-loss / take-profit. Returns each position's side, size, entry, mark and liquidation price, leverage, margin, unrealized PnL, and the take-profit and stop-loss orders protecting it right now (with their order ids). Pass symbol for one coin.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "symbol": {
            "description": "Only the position in this coin, e.g. BTC, SOL, xyz:TSLA. Omit for every open position.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_my_positions"
    },
    {
      "description": "Use this when the user asks for their recent fills/executions on Hyperliquid (live venue truth: price, size, fee, realized PnL).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "default": 25,
            "description": "Number of fills",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "get_my_trade_history"
    },
    {
      "description": "Use this when the user wants the live order book (bids/asks) for a Hyperliquid perp market.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "depth": {
            "default": 10,
            "description": "Levels per side",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "symbol": {
            "description": "Coin symbol, e.g. BTC",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "type": "object"
      },
      "name": "get_orderbook"
    },
    {
      "description": "Use this when the user asks the current price of a specific coin on Hyperliquid (mark price, 24h change, volume, funding).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "symbol": {
            "description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, xyz:TSLA (not BTCUSDT)",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "type": "object"
      },
      "name": "get_price"
    },
    {
      "description": "Use this when the user explicitly asks to open a perp position or place an order on Hyperliquid via MCPify. Real funds — ALWAYS call preview_order with the same arguments first, show the user the proposal, and get their explicit confirmation; place_order is refused unless a matching preview ran within the last 10 minutes. Requires Agent Trading enabled on the MCPify settings page.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "leverage": {
            "default": 5,
            "description": "Leverage multiplier",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "limit_price": {
            "description": "Required when order_type is limit",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "margin_mode": {
            "default": "cross",
            "description": "Margin mode",
            "enum": [
              "cross",
              "isolated"
            ],
            "type": "string"
          },
          "margin_usd": {
            "description": "USDC margin to commit. Position notional = margin × leverage",
            "minimum": 1,
            "type": "number"
          },
          "order_type": {
            "default": "market",
            "description": "Execution type",
            "enum": [
              "market",
              "limit"
            ],
            "type": "string"
          },
          "side": {
            "description": "Position direction",
            "enum": [
              "long",
              "short"
            ],
            "type": "string"
          },
          "stop_loss": {
            "description": "Stop-loss trigger price",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "symbol": {
            "description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, SOL (not BTCUSDT)",
            "type": "string"
          },
          "take_profit": {
            "description": "Take-profit trigger price",
            "exclusiveMinimum": 0,
            "type": "number"
          }
        },
        "required": [
          "symbol",
          "side",
          "margin_usd"
        ],
        "type": "object"
      },
      "name": "place_order"
    },
    {
      "description": "Use this when the user wants to deposit a specific amount: returns the exact address to send it to and how much USDC will be credited to their own Hyperliquid account (exact for USDC; for ETH/SOL an estimate at today's price plus a guaranteed minimum; after Hyperliquid's one-time 1 USDC activation fee on a first deposit) — or explains why an amount is below the minimum. Read-only: nothing is sent, reserved or signed. After the user sends, call get_my_deposits to follow it.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "amount": {
            "description": "How much of that asset the user plans to send, in the asset's own units (100 = 100 USDC, 0.05 = 0.05 ETH)",
            "exclusiveMinimum": 0,
            "maximum": 100000000,
            "type": "number"
          },
          "asset": {
            "description": "What the user will send. USDC on Arbitrum must be native USDC (not USDC.e); USDT is not accepted",
            "enum": [
              "USDC",
              "ETH",
              "SOL"
            ],
            "type": "string"
          },
          "network": {
            "description": "The network the user sends on: arbitrum = Arbitrum One, solana = Solana. USDC works on both, ETH only on arbitrum, SOL only on solana",
            "enum": [
              "arbitrum",
              "solana"
            ],
            "type": "string"
          }
        },
        "required": [
          "asset",
          "network",
          "amount"
        ],
        "type": "object"
      },
      "name": "preview_deposit"
    },
    {
      "description": "Use this BEFORE place_order whenever the user wants to open a position: it validates and sizes the order (fresh est. entry, size after rounding, est. liquidation, TP/SL sanity, MCP caps) WITHOUT placing anything, and shows a proposal card the user can confirm from. Read-only and always safe to call. If the user confirms, call place_order with the same arguments.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "leverage": {
            "default": 5,
            "description": "Leverage multiplier",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "limit_price": {
            "description": "Required when order_type is limit",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "margin_mode": {
            "default": "cross",
            "description": "Margin mode",
            "enum": [
              "cross",
              "isolated"
            ],
            "type": "string"
          },
          "margin_usd": {
            "description": "USDC margin to commit. Position notional = margin × leverage",
            "minimum": 1,
            "type": "number"
          },
          "order_type": {
            "default": "market",
            "description": "Execution type",
            "enum": [
              "market",
              "limit"
            ],
            "type": "string"
          },
          "side": {
            "description": "Position direction",
            "enum": [
              "long",
              "short"
            ],
            "type": "string"
          },
          "stop_loss": {
            "description": "Stop-loss trigger price",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "symbol": {
            "description": "Hyperliquid perp coin symbol, e.g. BTC, ETH, SOL (not BTCUSDT)",
            "type": "string"
          },
          "take_profit": {
            "description": "Take-profit trigger price",
            "exclusiveMinimum": 0,
            "type": "number"
          }
        },
        "required": [
          "symbol",
          "side",
          "margin_usd"
        ],
        "type": "object"
      },
      "name": "preview_order"
    },
    {
      "description": "Use this when the user asks to set or move the take-profit and/or stop-loss of an open Hyperliquid position. Only the legs you pass change: passing just stop_loss moves the stop and keeps the current take-profit (and vice versa). To remove a leg, cancel its order id from get_my_positions.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "stop_loss": {
            "description": "New stop-loss trigger price. Omit to leave the current stop-loss as it is",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "symbol": {
            "description": "Coin symbol of the open position, e.g. BTC",
            "type": "string"
          },
          "take_profit": {
            "description": "New take-profit trigger price. Omit to leave the current take-profit as it is",
            "exclusiveMinimum": 0,
            "type": "number"
          }
        },
        "required": [
          "symbol"
        ],
        "type": "object"
      },
      "name": "set_position_tp_sl"
    }
  ]
}

What the leaf hashes

{"body":"56bd86c93a68853f5a6d26134c1e39b8b28e9477b8c9f96785b69a4347a2ce04","id":1033592,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793288819319004,"prev":309439,"subject":"3c0595dc-99c7-4de3-8fae-5e0926f7b8c3","subject_kind":"endpoint"}

Proof

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

  1. 0xc1a159d76a304d83285abe4df6527b1deb62767236dba012d5d3b6e0a6b02156
  2. 0x94af1be8179febaaa50a4e1a34752e63daacb6b0b3f1f1de452a407f04da7dca
  3. 0x3dfff30d80f82b629fd9e8bb05643a3dcf93a2556508c8be7ab77ee76052540b
  4. 0x51f915fc42220756f1f4501ba19419bbada725e75c8c026b60e470d43fbebaa8
  5. 0x226c4a1bdad8fac28db1b48b51c94dcde7aaf01ccc93ff28e3d5a76c6d109aa0
  6. 0x6bc6541f04b5b3bfd750d02e2b653d288032c43cb8e3d2fcf69d10c460f94f3a
  7. 0x7d2499b6f852ac24fce9a6f8ada143dd080f8f7ebaba6043878e06b8c39f01ca
  8. 0x947831a31d70fd1450f8b95a08383773122b9b9cf38365b34224b83c3f0411c5
  9. 0x8a5c6af8acf43885148fcc8f4bfcdb2fd896221d55aa6df46c17c2488f082d7c
  10. 0x3b05df8a4fca6b5fde0ffa011321c4589c793a48be8b1cf79a356749705cb35d
  11. 0x704b2150ece243f2165c010d9d1f8f55e730cb8cefc482fe71854d79f2ec09e8
  12. 0xea3d6fc094e0e5aea74bd6048efd6e9e2b6ad5889c97c5ddbb2aa6b7e55cf6f8
  13. 0x855b0c7846554d66c3c7ea55cacc771607f9f991cc0c6e60b0c560e5e253a4e0
  14. 0x104600713bd70fcbdf137fa07f8136bb6c252c890776bc7cbd7b194271f8b93a
  15. 0x4e4f8f228a3b7a38299ec6f2b1967c6cf4de15fdd9dc0d200e691266e51ef99d
  16. 0xef5d5572aac8f06b61579b7167b369fcb479d9027d4037dc9cacff9e3a26ffd2
  17. 0xa1fa2e97e71ad6e802f325afd74bb7095901f2060529c9739182a1233f8804bc
  18. 0xe01539ac4c9f9cdf265a9e5c6d99c8da11e70ff0c7175fb23e402d33b9d79785
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON