addrbookFor publishers
← The evidence ledger

Evidence row 266682

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint c72b9849-8f86-49dc-b3c8-2dc14cac4224
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
4917fdc555f5e879f2b490ae75bb11e84b6c7341c46ca6b64ee5090a0c5a3e47
Leaf
0x6a7d31c9f65de7bdf6fcb63892c09f940be139db094172dde093b9bf07ef1a8a

What was observed

{
  "count": 12,
  "tools": [
    {
      "description": "Proposes one command to an open control panel. type = select (show a block), show (switch tab: market, trade, brain, chat), trade (side buy|sell, block, amount in raw units, optional `with` token), swap (from, to, amount in raw units of `from` — e.g. USDC to a Coinbase tokenized stock), send (token, amount in raw units, recipient: a transfer the user must confirm twice), task (a brain task: trade_tblock, launch_wake, feed_trusted, record_memory, offer_food, export_snapshot, read_agent_catalog, decision_receipts), birth (name, symbol, optional pair) or say (a short text shown in the chat). Nothing is signed by this call: the panel shows the proposal with buttons, and the user decides. One command per second.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "description": "For trade, swap, send: raw integer units (trade: of the token paid for a buy, of the block for a sell; swap: of `from`; send: of `token`).",
            "pattern": "^[1-9][0-9]{0,40}$",
            "type": "string"
          },
          "block": {
            "description": "For select, trade, task: the block address.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "from": {
            "description": "For swap: the token paid (ETH or an address).",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          },
          "name": {
            "description": "For birth.",
            "maxLength": 32,
            "type": "string"
          },
          "pair": {
            "description": "For birth: ETH (default) or a currency from tblock_pairs.",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          },
          "recipient": {
            "description": "For send: the whole address that receives. Never abbreviated.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "session": {
            "description": "The session returned by tblock_panel_open.",
            "pattern": "^[0-9a-f]{32}$",
            "type": "string"
          },
          "side": {
            "description": "For trade.",
            "pattern": "^(buy|sell)$",
            "type": "string"
          },
          "symbol": {
            "description": "For birth.",
            "maxLength": 32,
            "type": "string"
          },
          "tab": {
            "description": "For show.",
            "pattern": "^(market|trade|brain|chat)$",
            "type": "string"
          },
          "task": {
            "description": "For task: the brain task id.",
            "maxLength": 40,
            "type": "string"
          },
          "text": {
            "description": "For say.",
            "maxLength": 500,
            "type": "string"
          },
          "to": {
            "description": "For swap: the token received (ETH or an address).",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          },
          "token": {
            "description": "For send: the token sent (ETH or an address).",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          },
          "type": {
            "description": "select | show | trade | swap | send | task | birth | say",
            "pattern": "^(select|show|trade|swap|send|task|birth|say)$",
            "type": "string"
          },
          "with": {
            "description": "For trade: the token paid (buy) or received (sell); default: the block’s own quote token.",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          }
        },
        "required": [
          "session",
          "type"
        ],
        "type": "object"
      },
      "name": "tblock_command"
    },
    {
      "description": "Reads the creator minimum deposited for a block’s market (who deposited, how much, whether the 0.03% creator share is flowing) and, when `account` is that creator, returns the unsigned call for the next exit step: a request (the share stops at once), then, 7 days later, the withdrawal.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "description": "Optional: the wallet that would sign the exit.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "block": {
            "description": "The block (token) address.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "pair": {
            "description": "The currency it was paired with at birth: ETH (default) or an address.",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          }
        },
        "required": [
          "block"
        ],
        "type": "object"
      },
      "name": "tblock_creator_minimum"
    },
    {
      "description": "Reads the Game tab as the server serves it (GET /api/tirage): today's tickets and closing time (today's ticket = 1 entry in this week's reward pot; the pot is shared by entries after the week closes, UTC), this week's entries and its TicketPot pot as read by the server (null if not read), the live preview face (the face the latest Base block would draw), the BlockRolls contract when one is served (prices, prizes, pot) or null (practice: free rolls, nothing to sign), and the recent off-chain practice rolls (GET /api/jeu/rolls). With `wallet`: that wallet's ticket (held or not, verified volume, skin pass), its ticket face as the 5-trait guess tblock_plan_roll uses by default, and its entries in this week's pot (the month count is a tally only). Read-only.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "wallet": {
            "description": "Optional: the wallet whose ticket and progress to read.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "tblock_game_state"
    },
    {
      "description": "Reads the Block Missions board as the server serves it (GET /api/missions): the contract and each mission (id, reward token and amount, done/maxDone, holding, state). REFUSED with tableau = PAS_OUVERT while the board's contract is not deployed. Read-only, no input.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "tblock_missions"
    },
    {
      "description": "Lists the currencies a new block can be paired with at birth on TokenizedBlock (ETH, USDC, cbBTC, OUSD and Coinbase tokenized stocks), with the creator minimum floor of each, and in `echanges` the currency swaps tblock_plan_swap builds (both ways). Read-only, no input.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "tblock_pairs"
    },
    {
      "description": "Opens a remote-control session and returns the link of the TokenizedBlock control panel: a visual dashboard (the block in the centre; Market, Trade, Brain and Chat tabs) for the user to open in their browser with their wallet. Give the link to the user. Then send commands with tblock_command and read what happened with tblock_panel_state. Commands are proposals: the block’s brain accepts or refuses each task, and only the user’s wallet signs.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "block": {
            "description": "Optional: the block to show first.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "tblock_panel_open"
    },
    {
      "description": "Reads the control panel, which is wired to the block’s brain: `cerveau` is the brain as the panel sees it (block, mood, beat, market read, and the tasks it accepts or refuses right now), and `evenements` are the events since `since` — the brain’s verdict on each command, plans built, and what the user signed (transaction hash) or declined.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "session": {
            "description": "The session returned by tblock_panel_open.",
            "pattern": "^[0-9a-f]{32}$",
            "type": "string"
          },
          "since": {
            "description": "Optional: only events after this event number.",
            "pattern": "^[0-9]{1,9}$",
            "type": "string"
          }
        },
        "required": [
          "session"
        ],
        "type": "object"
      },
      "name": "tblock_panel_state"
    },
    {
      "description": "Returns the unsigned calls that create a block (a B20 token with an engraved face and a brain) AND open its market, paired with ETH or with one of the currencies from tblock_pairs: createPaid, approvals, registration, market opening — to be signed in order by `account`. Fee: 0.001 ETH. The response lists every cost (`cout`), the block address, and the result of simulating the whole sequence from that wallet. For a non-ETH pair the wallet must already hold the creator minimum in that currency.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "description": "The wallet that will sign; it receives the whole supply and becomes the creator.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "name": {
            "description": "Block name (at most 32 bytes).",
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          },
          "pair": {
            "description": "ETH (default) or the address of a currency from tblock_pairs.",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          },
          "salt": {
            "description": "Optional free text that fixes the block address. Generated when absent; send it again to get the same plan.",
            "maxLength": 64,
            "type": "string"
          },
          "symbol": {
            "description": "Ticker (at most 32 bytes); stored upper-case.",
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name",
          "symbol",
          "account"
        ],
        "type": "object"
      },
      "name": "tblock_plan_birth"
    },
    {
      "description": "Returns the unsigned calls for `rolls` (1 to 10, default 1) BlockRolls rolls on one guess, for ONE wallet_sendCalls batch signed by `wallet`: one approve of EXACTLY rolls x 0.50 USDC, then one roll(guess) per roll — or, when that wallet holds an active day pass on the contract, rollWithPass x rolls with no payment. The block 2 blocks after the roll decides; the roll is scored against the guess (traits in common out of 5). The prizes and the minimum winning score are read live from the BlockRolls contract (tblock_game_state rolls.prizes / rolls.minScore, null when not read) and can be changed by the UNIT creator, for rolls made after the change; a prize never pays more than the roll pot holds. `guess` defaults to the face of the wallet's ticket of the day (SHA-256(wallet|day), the same face the Game tab shows). REFUSED with the state when no contract is served (practice mode, 0 USDC): then nothing is to be signed.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "guess": {
            "description": "Optional: 5 traits \"colorBand,orbit,facet,material,ornament\" (0..5, 0..9, 0..18, 0..8, 0..7). Default: the wallet's ticket face.",
            "pattern": "^[0-9]{1,2}(,[0-9]{1,2}){4}$",
            "type": "string"
          },
          "rolls": {
            "description": "Optional: how many rolls in the batch, 1 to 10 (default 1).",
            "pattern": "^(10|[1-9])$",
            "type": "string"
          },
          "wallet": {
            "description": "The wallet that will sign and play.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "required": [
          "wallet"
        ],
        "type": "object"
      },
      "name": "tblock_plan_roll"
    },
    {
      "description": "Reads settleableUntil(id) for each roll and the head block, says the state of each (TROP_TOT: wait `blocsAvant` blocks; REGLABLE; PERDU: the 256-block window passed; PAS_EN_ATTENTE: already settled or expired), and returns one unsigned settleMany call for the settleable ones. Anyone may send it: the prize always goes to the player. REFUSED when no contract is served.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "rollIds": {
            "description": "The roll numbers (from the Rolled events), comma-separated, 1 to 50.",
            "pattern": "^[0-9]{1,20}(,[0-9]{1,20}){0,49}$",
            "type": "string"
          }
        },
        "required": [
          "rollIds"
        ],
        "type": "object"
      },
      "name": "tblock_plan_settle"
    },
    {
      "description": "Returns the unsigned calls for a swap routed by TokenizedBlock: a block against its quote token, block to block, block to a tokenized stock, or ETH/USDC to a Coinbase tokenized stock and back, ETH to USDC and back, and OUSD to USDC and back (OUSD trades against USDC only: ETH <-> OUSD is refused, swap through USDC in two trades). `amount` is in raw units of the token paid. APPROBATIONS means: sign the approvals, then ask again.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "account": {
            "description": "The wallet that will sign.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "amount": {
            "description": "Raw integer units of the token paid.",
            "pattern": "^[1-9][0-9]{0,40}$",
            "type": "string"
          },
          "from": {
            "description": "Token paid: ETH or an address.",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          },
          "to": {
            "description": "Token received: ETH or an address.",
            "pattern": "^(?:[eE][tT][hH]|0x[0-9a-fA-F]{40})$",
            "type": "string"
          }
        },
        "required": [
          "from",
          "to",
          "amount",
          "account"
        ],
        "type": "object"
      },
      "name": "tblock_plan_swap"
    },
    {
      "description": "Returns the unsigned calls that post a mission on the Block Missions board for a block: approve EXACTLY reward x maxDone (raw units of the block), then postTask. The task is \"trade my block on its TokenizedBlock pool\" (a v4 Swap on the block's pool on our hook, the only pool a mission may name), held `hold` raw units for 24 h, open 7 days, one completion per wallet. The block creator's wallet signs. REFUSED while the board's contract is not deployed, or when the block has no pool on a TokenizedBlock hook.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "block": {
            "description": "The block (B20 token) the mission is about; its units pay the reward.",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "hold": {
            "description": "Minimum holding of the block during the 24 h window, raw units.",
            "pattern": "^[1-9][0-9]{0,40}$",
            "type": "string"
          },
          "maxDone": {
            "description": "How many players can complete it, 1 to 10000.",
            "pattern": "^[1-9][0-9]{0,4}$",
            "type": "string"
          },
          "reward": {
            "description": "Reward per player, raw units of the block (18 decimals).",
            "pattern": "^[1-9][0-9]{0,40}$",
            "type": "string"
          }
        },
        "required": [
          "block",
          "reward",
          "maxDone",
          "hold"
        ],
        "type": "object"
      },
      "name": "tblock_plan_task"
    }
  ]
}

What the leaf hashes

{"body":"4917fdc555f5e879f2b490ae75bb11e84b6c7341c46ca6b64ee5090a0c5a3e47","id":266682,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793035486041009,"prev":null,"subject":"c72b9849-8f86-49dc-b3c8-2dc14cac4224","subject_kind":"endpoint"}

Proof

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

  1. 0x6a7d1adaa44ef629a4cbaf7f8e34d4b52efe081aa996978336ba607c19771e79
  2. 0xdb7fd8bfae8b554a3b480512ea410372f069c01c5e6e298bf9b25c064b6d751c
  3. 0xfe019289dbfc88a6abf896fa0431839763c874efe0da4bb090e6f6c5f1ae2aa5
  4. 0xcea321822c74d142b6eb52c04c42c143994b5b58e3600cf60e4114f2270b833a
  5. 0x375ccb0489271c2fbbb4906bb1f9bc995b5d0fe775736780da09273b46e0417c
  6. 0x8521c102d22b6b40cff866f0b44e7ce13bbc1e978ce29fecfd4f6d645049ec61
  7. 0xd61c8653ad05a4faa9520a2a0c637491d97dde4b7aacb2d7e0eabcc4173a30af
  8. 0xa26d494940a83126f4d0923dfcce4dfdd2985c20a04f5d88adfe3b16b8b7e89b
  9. 0x94353966c37a5795911a89eea8aa7f08f6ff47b5cc6a32c983d7de5ec3fbc409
  10. 0xe7b1e9b6e0632459ce00b9d99b12899217985da48e7664af35727b006f0cc602
  11. 0x435232f3fd6b83e88220d17343494fe854d4ecf8a9148117c288f679edde404b
  12. 0x2a304c51963b65e3ca818b638b2e9a98297b7d6b6a3e14ecca2501aa13b9f556
  13. 0x9dc4d6f64bc3c323d2c45a28209068cd473b6979bd632a0d694bf94d19bc39df
  14. 0xfc9b5a81a7a83a1c735a4fe64590beb9db14d2366f463161358af28c3ea9a81d
  15. 0xa2d436d488e3600b0e5c3e3ed9c9234cd52853c59830b786334fd0c4292d9f40
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON