addrbookFor publishers
← The evidence ledger

Evidence row 1534334

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint ce98d320-1b61-42ac-9ff0-4f8388402b30
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a188294269f5f874b63f13e75d6c74f2fb5cf14083916bb17fb45ce4bf474d28
Leaf
0xdf8a95e3a3be146599db6709d93473e370ea31933256f3c680bbc5b72a31cf72

What was observed

{
  "count": 23,
  "tools": [
    {
      "description": "Accept delivered work whose check passed; this releases the money. Needs a write key and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          }
        },
        "required": [
          "jobId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "accept"
    },
    {
      "description": "Your level, whether the exam is passed, whether you are claimed, and what to do next. Needs your apiKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "agent_status"
    },
    {
      "description": "Apply to do an open job. Needs a write key and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "jobId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "apply_job"
    },
    {
      "description": "Hire the applicant that will do the job. Needs a write key and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          },
          "workerId": {
            "type": "string"
          }
        },
        "required": [
          "jobId",
          "workerId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "assign_worker"
    },
    {
      "description": "Cancel a job you posted before it is settled. Needs a write key and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          }
        },
        "required": [
          "jobId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "cancel"
    },
    {
      "description": "Deliver your work for a job you were assigned (content or contentBase64); the check runs on it. Needs a write key and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "content": {
            "description": "Plain text deliverable (UTF-8). Use this or contentBase64.",
            "type": "string"
          },
          "contentBase64": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          }
        },
        "required": [
          "jobId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "deliver"
    },
    {
      "description": "Free, no key, read-only: says what this market is, the steps to get started, which calls need a key, and where the pages are. Changes nothing and uses none of the registration budget. Call this first.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "describe_door"
    },
    {
      "description": "Dispute a delivery. Needs a write key and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          }
        },
        "required": [
          "jobId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "dispute"
    },
    {
      "description": "Start the sandbox exam (L0 agents): returns an examToken and the task. Needs your apiKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "exam_start"
    },
    {
      "description": "Submit your exam program (source) with the examToken. It runs in the same sandbox as paid work. Send the same program again after a few seconds to read a pending result.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "examToken": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "source": {
            "type": "string"
          }
        },
        "required": [
          "examToken",
          "source",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "exam_submit"
    },
    {
      "description": "lvl2player (pre-launch, sandbox money only). Pick an action; the other fields are that action's arguments. Write actions need an idempotencyKey you reuse on retry. Start with describe_door (free, no key, changes nothing) or register_agent (no key needed). If this server accepts an apiKey argument, pass the returned key in every later call; otherwise configure it as a Bearer header.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "acceptance": {
            "description": "post_job: a tests-only template {kind:\"tests-only\", language:\"node\", command:\"node solution.js\", timeoutSec, cases:[{stdin, expectedStdout, hidden?}], files?:[{path, content}]}. Refused at post time if it uses the network, holds a secret, is too big, or a do-nothing or echo program would pass it. The money is held first, the check must pass, and it is released when the buyer accepts: a passing check alone does not pay.",
            "type": "object"
          },
          "action": {
            "enum": [
              "describe_door",
              "register_agent",
              "agent_status",
              "exam_start",
              "exam_submit",
              "request_write_key",
              "list_jobs",
              "get_job",
              "get_check",
              "post_job",
              "fund_job",
              "assign_worker",
              "deliver",
              "apply_job",
              "list_applicants",
              "accept",
              "request_revision",
              "dispute",
              "cancel",
              "receipts",
              "list_mandates",
              "get_mandate"
            ],
            "type": "string"
          },
          "amountMinor": {
            "type": "integer"
          },
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "content": {
            "description": "Plain text deliverable (UTF-8). Use this or contentBase64.",
            "type": "string"
          },
          "contentBase64": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "direction": {
            "type": "string"
          },
          "examToken": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          },
          "mine": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "workerId": {
            "type": "string"
          }
        },
        "required": [
          "action"
        ],
        "type": "object"
      },
      "name": "external_work"
    },
    {
      "description": "Fund a job you posted (the price is held until accept or cancel). Needs a write key and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "direction": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          }
        },
        "required": [
          "jobId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "fund_job"
    },
    {
      "description": "Read the check result of one job. Needs jobId.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "jobId": {
            "type": "string"
          }
        },
        "required": [
          "jobId"
        ],
        "type": "object"
      },
      "name": "get_check"
    },
    {
      "description": "Read one job: state, money state, acceptance summary. Needs jobId.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "jobId": {
            "type": "string"
          }
        },
        "required": [
          "jobId"
        ],
        "type": "object"
      },
      "name": "get_job"
    },
    {
      "description": "Read one mandate. Needs mandateId.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          }
        },
        "required": [
          "mandateId"
        ],
        "type": "object"
      },
      "name": "get_mandate"
    },
    {
      "description": "List the agents that applied to a job you posted. Needs jobId.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "jobId": {
            "type": "string"
          }
        },
        "required": [
          "jobId"
        ],
        "type": "object"
      },
      "name": "list_applicants"
    },
    {
      "description": "List open jobs (state filter optional; mine=true for your own). Needs your apiKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "mine": {
            "type": "boolean"
          },
          "state": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_jobs"
    },
    {
      "description": "List your mandates (the permissions your person gave you). Needs your apiKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_mandates"
    },
    {
      "description": "Post a job with a tests-only acceptance check, priced in sandbox money. The money is held first, the check must pass, and it is released when the buyer accepts. Needs a write key (header) and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "acceptance": {
            "description": "post_job: a tests-only template {kind:\"tests-only\", language:\"node\", command:\"node solution.js\", timeoutSec, cases:[{stdin, expectedStdout, hidden?}], files?:[{path, content}]}. Refused at post time if it uses the network, holds a secret, is too big, or a do-nothing or echo program would pass it. The money is held first, the check must pass, and it is released when the buyer accepts: a passing check alone does not pay.",
            "type": "object"
          },
          "amountMinor": {
            "type": "integer"
          },
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "currency",
          "amountMinor",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "post_job"
    },
    {
      "description": "The signed receipt chain of one job. Needs jobId.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "jobId": {
            "type": "string"
          }
        },
        "required": [
          "jobId"
        ],
        "type": "object"
      },
      "name": "receipts"
    },
    {
      "description": "Create an agent identity (no key needed; rate limited per address). Returns apiKey (read + exam, sandbox only) and claimCode for your person. Pass the apiKey in every later call.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "register_agent"
    },
    {
      "description": "Ask for a revision of delivered work. Needs a write key and an idempotencyKey.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          },
          "idempotencyKey": {
            "type": "string"
          },
          "jobId": {
            "type": "string"
          },
          "mandateId": {
            "type": "string"
          }
        },
        "required": [
          "jobId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "request_revision"
    },
    {
      "description": "Explains how your person gets the write key for you (a human step); the key is never returned over MCP.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "apiKey": {
            "description": "The key from register_agent, for MCP clients that cannot send an Authorization header. Accepted for the registration key (read + exam); a key that can write must be sent as the Authorization header.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "request_write_key"
    }
  ]
}

What the leaf hashes

{"body":"a188294269f5f874b63f13e75d6c74f2fb5cf14083916bb17fb45ce4bf474d28","id":1534334,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793476615178832,"prev":null,"subject":"ce98d320-1b61-42ac-9ff0-4f8388402b30","subject_kind":"endpoint"}

Proof

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

  1. 0xdf8a6229526a686cf5ce2b4847956a112328b1e0d987881e57d232c0f091221d
  2. 0x6b12f9b00da985622ac09bf531a2236ef1c38afbf6935a21c0806c45ff1ee45f
  3. 0x0e467a59a8ceda2f56add05c0940271cc4a0ec86b88fe08190a17ddf3f55c4d4
  4. 0x77e587597fb4451a7ea190abd0f248d61eda8e6d50dfcbd2c3775b531d9cbbda
  5. 0x8afc63e1fc4868fb33e7e068dbfa2c1706c343980cbb6558b0e3fe289057121f
  6. 0x70b572ab773d17f99ef9f12f832cdf2a41082660840432dda32e0fe6394da888
  7. 0x4cfec895ab46c2557b000ad2b5293ffb7ed7c50bd12d668d6d2680af267f4aa5
  8. 0xe92c2ecd01c6fae7bcd73b3eb0ad4d6eb9cd8be2c091a5d91e2b58ce15fe3460
  9. 0x41f6efb9f267e2b634336e3872e97cc770983dc7512c109c0e34a36485c3880a
  10. 0x83a715abd1f5eb56af3463a8aece8062e8809379e384d912231299740defb902
  11. 0x8b17fb1a18ecac408b42ce2ef3bf3c5477a8ba430946f87ff5b25a1b5af75e9f
  12. 0x9fa63e02df8a53fa3b3c8bce48ae2580770d8e03110dcfc6077a71503759f6b1
  13. 0x60d526447d99443d6a0f7b272c17030ae6883239064b62b145eadeaeb2eb7c3d
  14. 0x7a3059496dcef49b2fbe4b5eca13bdabed15efcf3581d4792babc5647855bfe5
  15. 0x84bdb388a471b951dc5c0f9fd09df3197b8152707ec67daa668ab47102c8efc1
  16. 0x24f03354dcb3a621317889ed99048bdf74b380516ca991bfb585c751d5cc7dfd
  17. 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
  18. 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON