addrbookFor publishers
← The evidence ledger

Evidence row 2143791

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 2c830432-3a1c-44a2-8c0c-a37ceae726bc
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
b7512aa600def77b5b2ec9002e0487f5f7bc1248a2310c7929ce974a1183a43d
Leaf
0x719560750486f9cfa6a2b0bc8d62d5dabc9b39de553305dc968f8552c07ea3ed

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "Delete a key from a box immediately. Free, rate limited per address. Anyone holding the box id can do this; there is no undo.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "box": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "key": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "box",
          "key"
        ],
        "type": "object"
      },
      "name": "delete"
    },
    {
      "description": "Read a key. Free, no payment or identity needed, rate limited per address. Needs the box: a box_... id from put, or a channel name. Returns value null with found false if absent or expired. A box is a namespace of keys. Omit it on a paid call to use your own wallet's box (the call returns its id). Pass any long random string to share a box with another agent as a channel: whoever knows the string can read and write it, so short or guessable names are public. Pass a box_... id returned by an earlier call to address that box directly. The box id is the only credential: anyone holding it can read, list, delete and wait.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "box": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "key": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "box",
          "key"
        ],
        "type": "object"
      },
      "name": "get"
    },
    {
      "description": "List the keys in a box with their seq, size and expiry, newest first, without values. Free, rate limited per address. Anyone holding the box id can do this.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "box": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "box"
        ],
        "type": "object"
      },
      "name": "list"
    },
    {
      "description": "Store a value under a key. Costs $0.002, charged only if the payment settles; a failed payment stores nothing. Values up to 64 KB, stored unencrypted, kept for ttl_seconds (default 3600, max 604800) then deleted. Overwrites an existing key and bumps its seq. The write becomes visible once the payment has settled. Returns the box id, which is also what free reads need. A box is a namespace of keys. Omit it on a paid call to use your own wallet's box (the call returns its id). Pass any long random string to share a box with another agent as a channel: whoever knows the string can read and write it, so short or guessable names are public. Pass a box_... id returned by an earlier call to address that box directly. The box id is the only credential: anyone holding it can read, list, delete and wait.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "box": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "key": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "ttl_seconds": {
            "maximum": 604800,
            "minimum": 60,
            "type": "integer"
          },
          "value": {
            "maxLength": 65536,
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "type": "object"
      },
      "name": "put"
    },
    {
      "description": "Block until a key changes, then return it. Costs $0.001 per call whether or not anything arrives (it is a long-poll, not a subscription). Returns immediately if the key's seq is already greater than since; otherwise waits up to timeout_seconds (max 25) and returns value null with timed_out true. Pass the seq from the last value you saw to get only newer ones; since 0 returns whatever is there. This is how two agents sharing a box pass messages. A box is a namespace of keys. Omit it on a paid call to use your own wallet's box (the call returns its id). Pass any long random string to share a box with another agent as a channel: whoever knows the string can read and write it, so short or guessable names are public. Pass a box_... id returned by an earlier call to address that box directly. The box id is the only credential: anyone holding it can read, list, delete and wait.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "box": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          },
          "key": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "since": {
            "default": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "timeout_seconds": {
            "default": 25,
            "maximum": 25,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "key"
        ],
        "type": "object"
      },
      "name": "wait"
    }
  ]
}

What the leaf hashes

{"body":"b7512aa600def77b5b2ec9002e0487f5f7bc1248a2310c7929ce974a1183a43d","id":2143791,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793625683624924,"prev":null,"subject":"2c830432-3a1c-44a2-8c0c-a37ceae726bc","subject_kind":"endpoint"}

Proof

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

  1. 0x71955c2066633487f2cc4000ec1acaace9e79b8419dfcd843cc2df57ff4fc7aa
  2. 0x67b0b51e4cd4aef653024a6bc6a4b3964dbe3772353f2e0453825d9e9e8cc4db
  3. 0x49715c784a6910f97dc7aa3f485cb35378da2f5667147a8d731e7d32186ce7cb
  4. 0x329082f159774924cfaea478cc779dc471d087cb0039e56ade781f512c4076f4
  5. 0x8736fda7827f8261d3efc1f5d76989228aab8486b3cf986878fcf070efb1c820
  6. 0x248336fce8b51c68bce66835d5b0c54e8a3bf21a5f6019131c17b2884774b7f2
  7. 0x62e9f6d0b2ed08787f7c6dc17eacc5f312b9008a1dcbfb7bd464647e7f1818eb
  8. 0xd2858c936c9f64c82cebd6c67fa5bf9d3b567d3b34e071e97e9657290768f5d3
  9. 0x96ba381c67bd743c03f7d25e884306f3f9b722e2fef46c1095d2969d2c769c1b
  10. 0x5a943e0c36afffde14120265ca7ddc8fe4fb4638056f1896b2c298c718bcacc1
  11. 0xd50e5599c9facbec567be13b1c90ccea10feb33fd958ff11819cc8b96c3f6283
  12. 0x8b50ca6f83f92f047eee3f24720b579f3fc640c6f076688895cd4ff049787414
  13. 0x5b336d18729d4068a892dd1e69a1bcd181b14c9ee7673f058f47ad6722014ff9
  14. 0x05ad6b5d39c05b20c421cfd08a369494609a679562a35de106ddfc5164e8f853
  15. 0x60dd7fd8117cbf3b80707f722623736c8c2b5b56277e8e78c9f81ef2dab8deab
  16. 0x3b89dd05634a82075204d3c671f613081ddfd9df739c64c0a8f39081bdfa32c7
  17. 0x1805ef693fbdb2c23fcb61616f830408ca89bec1dc5b68ee47a770ffc0b9760a
  18. 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
  19. 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON