← The evidence ledger
Evidence row 570369
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 4fc594a8-64e2-46a8-8afc-bc7605f35581
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 876b9b383ba5f891b181b548866bb02bcbaf9390989d7df0e204751fad95cbbe
- Leaf
- 0xb7a2a99e0edaa7644d75fc7d910f27198d4f3a5f40437897a0f4b83f3ffdfd39
What was observed
{
"count": 3,
"tools": [
{
"description": "Poll the status and retrieve the result of a previously submitted task. Returns the current status (pending, in_progress, pending_review, completed, disputed), the result payload, and any output URLs (video, screenshot). Use this in a polling loop after submit_task if no callback_url was provided.",
"inputSchema": {
"properties": {
"task_id": {
"description": "The task ID returned when the task was submitted",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "get_task_status"
},
{
"description": "Optional. Approve or dispute a task that is in `pending_review` status. Use this after get_task_status reports the operator has completed the work. Approving releases the operator payout. Disputing requires a reason and a description of what is needed for acceptance; the operator is then allowed to resubmit. If you never call review_task, tasks are auto-approved after the review window expires.",
"inputSchema": {
"properties": {
"decision": {
"description": "approve to accept the result and release payment; dispute to reject it and request a resubmission.",
"enum": [
"approve",
"dispute"
],
"type": "string"
},
"dispute_reason": {
"description": "Required when decision = 'dispute'. What went wrong with the submission.",
"type": "string"
},
"task_id": {
"description": "The task ID returned by submit_task.",
"type": "string"
},
"what_is_needed": {
"description": "Required when decision = 'dispute'. What the operator must do for the submission to be accepted.",
"type": "string"
}
},
"required": [
"task_id",
"decision"
],
"type": "object"
},
"name": "review_task"
},
{
"description": "Submit an account verification task to a real human operator. Use this when your agent is blocked on something only a real person can complete — a KYC check, a platform sign-in or 2FA prompt, a CAPTCHA, an identity confirmation, or any verification step that requires a human. The task is charged automatically via Stripe ($39). A vetted operator claims it, performs the verification on real hardware, and returns the result (with optional screenshot) to your callback_url or via get_task_status. Typical completion: 30 minutes.",
"inputSchema": {
"properties": {
"callback_url": {
"description": "Webhook URL to receive a POST request with the task result when completed. Recommended for async agent workflows. If omitted, poll get_task_status instead.",
"type": "string"
},
"deadline_minutes": {
"description": "Time in minutes the operator has to complete the verification after claiming it. Minimum 20. Recommended: 30.",
"minimum": 20,
"type": "integer"
},
"instructions": {
"description": "Structured input for account_verification. Required fields: platform (e.g. 'gmail', 'stripe'), url (where to perform the verification), credentials (login info or how to obtain the code), what_to_verify (what the operator must confirm). Optional: screenshot_required (boolean, default true), additional_notes.",
"type": "object"
},
"payment_credential": {
"description": "Stripe Link Agent Wallet Single-use Payment Token (SPT) for fully autonomous agent payments with no human intervention required. Omit if the developer account has a saved card on file.",
"type": "object"
},
"task_type": {
"description": "account_verification — a real human verifies an account, KYC check, sign-in, or CAPTCHA on real hardware and returns structured proof ($39).",
"enum": [
"account_verification"
],
"type": "string"
}
},
"required": [
"task_type",
"instructions",
"deadline_minutes"
],
"type": "object"
},
"name": "submit_task"
}
]
}What the leaf hashes
{"body":"876b9b383ba5f891b181b548866bb02bcbaf9390989d7df0e204751fad95cbbe","id":570369,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793139730035597,"prev":null,"subject":"4fc594a8-64e2-46a8-8afc-bc7605f35581","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0xb7a2bea1bdf1c743e3665bb3f1b32e712d2cf779519d50a06fc4135e85eca54c
- 0xb53cf34d26bce81ca68d91e5702d8291147b256b9da6ddc3480f6fde0014a024
- 0x7e79901f676f174334c2a21363e4b7e49f92c4c21e3f3fdcb760ffbdb0bb06fd
- 0xbc943d3d2f4bc0e38bb7ee24a74e6fe94247b656321e06ca4697fd224ca4f5bf
- 0x94eb34d640986319a2d77e0fbbe34f02008e8b880be857392a1f5fa3d7a6c40e
- 0xb42e98f1d633b2317596686954435939a9146e4e1e0cd5ffcee2ca4f74472404
- 0xcd2e5e7d6132517cc888887ec99116b78cf66728d6b1c898785b76d0e38ff85e
- 0x04e5ec79109ba345b43572e7e341da943c265d6c06285e5d3f34143111e0a2f2
- 0x5c2c0257d9757a0e016d149b3510c7c606eab3ee4f1b25e54a124a0540cdca7e
- 0x02133db96760e2e6d897f4d0eff0f4476cf1e8a3095578b8101d2f9b45723c18
- 0x0bd5c4ee0536ff6471a0f1a8676a731f2caf5d42f515ae40fa5d82310634e537
- 0xdc4af1861bcc27178db9854c119413a3d8acb113ca467e0eb6c0cadd8a60ba5d
- 0xdb8e341e9690aa686b29432c7b868b3859fb692c3ae3a679b8bc1219ebe3a597
- 0x87cb8935612c40b569de008a9bf8218cd24a06f74a7364a1654613d972fe00ed
- 0xec7bb68216a4deb1960acfbbd75da88f7e468b58adb9cf3ec62f2790e46508b3
- 0x64c405a28e8819716221eb2529fe4ce277ab08025e17e685cbd5ece75ceb75c7
- 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4