addrbookFor publishers
← The evidence ledger

Evidence row 1006278

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint b78782aa-272e-4be6-b7a5-ffc97a54d7a1
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
71ff3ef68c4ef7f6e301e6e58ea00bc7e2ffc0439160bf5c6824b3ef0866e150
Leaf
0x8c2c39c2278288716464c8411981952d0e479dfa83d29c771102ddba3cdbf43d

What was observed

{
  "count": 19,
  "tools": [
    {
      "description": "Buy an active prepared artifact from a wallet-enrolled merchant with standard x402: the first call returns payment requirements; sign locally and retry the same arguments with _meta['x402/payment']. For a wallet tool without typed-data signing, use create_prepared_artifact_transfer_challenge, send the exact USDC amount, make the separate zero-USDC wallet proof, then call complete_prepared_artifact_transfer. Reuse the same identifiers and payment proof after timeouts.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "idempotencyKey": {
            "pattern": "^[A-Za-z0-9_-]{16,128}$",
            "type": "string"
          },
          "merchantId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "offerId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          }
        },
        "required": [
          "merchantId",
          "offerId",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "buy_prepared_artifact"
    },
    {
      "description": "Rotate a lost merchant API key by submitting the merchant wallet's EIP-191 signature of the exact message returned by create_merchant_credential_rotation_challenge. This method needs no transaction or gas. It returns the replacement key once and invalidates the old one; store the new key securely.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "challengeId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "signature": {
            "pattern": "^0x[0-9a-fA-F]{130}$",
            "type": "string"
          },
          "wallet": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "required": [
          "wallet",
          "challengeId",
          "signature"
        ],
        "type": "object"
      },
      "name": "complete_merchant_credential_rotation_signature"
    },
    {
      "description": "Rotate a merchant API key after the wallet tool submits and confirms a challenge-specific zero-USDC action. Returns the replacement key once and invalidates the old one. Store the new key in the agent's secret manager immediately.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "challengeId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "method": {
            "enum": [
              "approve_zero",
              "transfer_zero"
            ],
            "type": "string"
          },
          "transactionHash": {
            "pattern": "^0x[0-9a-fA-F]{64}$",
            "type": "string"
          },
          "wallet": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "required": [
          "wallet",
          "challengeId",
          "method",
          "transactionHash"
        ],
        "type": "object"
      },
      "name": "complete_merchant_credential_rotation_transaction"
    },
    {
      "description": "Complete merchant enrollment using the EIP-191 signature of the exact message returned by create_merchant_enrollment_challenge. Accepts only a wallet signature, never a private key. Returns the merchant API key once; store it in the agent's secret manager immediately and do not log the result.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "challengeId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._ -]*$",
            "type": "string"
          },
          "signature": {
            "pattern": "^0x[0-9a-fA-F]{130}$",
            "type": "string"
          },
          "wallet": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "required": [
          "wallet",
          "name",
          "challengeId",
          "signature"
        ],
        "type": "object"
      },
      "name": "complete_merchant_enrollment_signature"
    },
    {
      "description": "Complete enrollment after the wallet tool submits and confirms the challenge-specific zero-USDC action. Accepts the transaction hash; never accepts or needs a private key. Returns the merchant API key once—store it in the agent's secret manager immediately.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "challengeId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "method": {
            "enum": [
              "approve_zero",
              "transfer_zero"
            ],
            "type": "string"
          },
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._ -]*$",
            "type": "string"
          },
          "transactionHash": {
            "pattern": "^0x[0-9a-fA-F]{64}$",
            "type": "string"
          },
          "wallet": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "required": [
          "wallet",
          "name",
          "challengeId",
          "method",
          "transactionHash"
        ],
        "type": "object"
      },
      "name": "complete_merchant_enrollment_transaction"
    },
    {
      "description": "Verify a direct Base USDC artifact payment and the buyer's separate zero-USDC wallet-control proof, then deliver the retained artifact. On timeout, retry the same challenge, transaction hashes, and idempotency key; do not send USDC again. The transaction hash alone is not enough to claim a purchase.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "challengeId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "idempotencyKey": {
            "pattern": "^[A-Za-z0-9_-]{16,128}$",
            "type": "string"
          },
          "identityTransactionHash": {
            "pattern": "^0x[0-9a-fA-F]{64}$",
            "type": "string"
          },
          "merchantId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "method": {
            "enum": [
              "approve_zero",
              "transfer_zero"
            ],
            "type": "string"
          },
          "offerId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "payer": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "paymentTransactionHash": {
            "pattern": "^0x[0-9a-fA-F]{64}$",
            "type": "string"
          }
        },
        "required": [
          "merchantId",
          "offerId",
          "payer",
          "challengeId",
          "method",
          "identityTransactionHash",
          "paymentTransactionHash",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "complete_prepared_artifact_transfer"
    },
    {
      "description": "Create a short-lived challenge for the payer wallet to sign accepted or disputed for a retained result. This does not charge or sign for the wallet. The returned message must be signed with EIP-191 by the payer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "operationId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "payer": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "verdict": {
            "enum": [
              "accepted",
              "disputed"
            ],
            "type": "string"
          }
        },
        "required": [
          "operationId",
          "payer",
          "verdict"
        ],
        "type": "object"
      },
      "name": "create_delivery_receipt_challenge"
    },
    {
      "description": "Begin recovery of a lost merchant API key. Returns a five-minute wallet-bound challenge for either gas-free EIP-191 signing or a zero-USDC Base transaction proof. The wallet signs or submits the action; 402Mob never signs for it.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "wallet": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "required": [
          "wallet"
        ],
        "type": "object"
      },
      "name": "create_merchant_credential_rotation_challenge"
    },
    {
      "description": "Begin headless merchant enrollment. Returns the exact five-minute EIP-191 message and a Base USDC approve-zero or transfer-zero alternative. Sign the exact message with the merchant wallet, then call complete_merchant_enrollment_signature; or use the wallet action and complete_merchant_enrollment_transaction. 402Mob never receives a private key. Store the returned merchant API key securely.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._ -]*$",
            "type": "string"
          },
          "wallet": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "required": [
          "wallet",
          "name"
        ],
        "type": "object"
      },
      "name": "create_merchant_enrollment_challenge"
    },
    {
      "description": "Prepare a noncustodial direct-USDC checkout for a prepared artifact. Returns the seller's payout address and exact amount, plus a separate challenge-bound zero-USDC approval that proves the buyer wallet controls the purchase. Both wallet actions are submitted by the buyer's own wallet tool; 402Mob never holds funds or signs transactions.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "idempotencyKey": {
            "pattern": "^[A-Za-z0-9_-]{16,128}$",
            "type": "string"
          },
          "merchantId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "offerId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "payer": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          }
        },
        "required": [
          "merchantId",
          "offerId",
          "payer",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "create_prepared_artifact_transfer_challenge"
    },
    {
      "description": "List a merchant's active prepared-artifact offers, fixed prices, and checkout IDs. This is public and does not require a bearer key.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "merchantId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          }
        },
        "required": [
          "merchantId"
        ],
        "type": "object"
      },
      "name": "discover_merchant_offers"
    },
    {
      "description": "List operations assigned to the calling coordinator agent. Requires an Authorization bearer key with operations:read scope.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "list_assigned_operations"
    },
    {
      "description": "Read signed delivery receipt proofs for an assigned operation. Requires operations:read scope in the MCP Authorization header.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "operationId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          }
        },
        "required": [
          "operationId"
        ],
        "type": "object"
      },
      "name": "read_assigned_delivery_receipts"
    },
    {
      "description": "Read redacted operation evidence, including result hash, settlement record, and delivery receipt summaries. Requires an assigned operation and operations:read scope in the MCP Authorization header.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "operationId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          }
        },
        "required": [
          "operationId"
        ],
        "type": "object"
      },
      "name": "read_assigned_operation_evidence"
    },
    {
      "description": "Check settlement evidence for a pending 402Mob operation using its x402 settlement transaction hash. Requires an assigned operation and both operations:read and operations:reconcile scopes. This does not submit payment.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "operationId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "transaction": {
            "pattern": "^0x[0-9a-fA-F]{64}$",
            "type": "string"
          }
        },
        "required": [
          "operationId",
          "transaction"
        ],
        "type": "object"
      },
      "name": "reconcile_assigned_operation"
    },
    {
      "description": "Compare a Base transaction with an expected USDC invoice sender, recipient and amount. Returns match only after 3 confirmations. Costs 0.02 USDC on Base. Supply and persist an idempotencyKey for safe retries.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "expectedAmountUSDC": {
            "pattern": "^(?!0+(?:\\.0{1,6})?$)(?:0|[1-9][0-9]{0,17})(?:\\.[0-9]{1,6})?$",
            "type": "string"
          },
          "expectedRecipient": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "expectedSender": {
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "type": "string"
          },
          "idempotencyKey": {
            "pattern": "^[A-Za-z0-9_-]{16,128}$",
            "type": "string"
          },
          "transactionHash": {
            "pattern": "^0x[0-9a-fA-F]{64}$",
            "type": "string"
          }
        },
        "required": [
          "transactionHash",
          "expectedSender",
          "expectedRecipient",
          "expectedAmountUSDC",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "reconcile_base_invoice"
    },
    {
      "description": "Resolve any known offer ID to the currently published latest version in its immutable offer series. Does not require a bearer key or payment.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "merchantId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "offerId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          }
        },
        "required": [
          "merchantId",
          "offerId"
        ],
        "type": "object"
      },
      "name": "resolve_latest_merchant_offer"
    },
    {
      "description": "Search the public opt-in merchant directory by name or active offer text. Returns current published versions with prices and checkout references; does not require a merchant ID or bearer key.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "cursor": {
            "maximum": 100000000,
            "minimum": 0,
            "type": "integer"
          },
          "limit": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "maxLength": 80,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "search_merchants"
    },
    {
      "description": "Submit the payer wallet's EIP-191 signature for a delivery receipt challenge. The signature must be created by the payer wallet, not by 402Mob.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "challengeId": {
            "pattern": "^[a-f0-9]{64}$",
            "type": "string"
          },
          "operationId": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "signature": {
            "pattern": "^0x(?:[0-9a-fA-F]{128}|[0-9a-fA-F]{130})$",
            "type": "string"
          }
        },
        "required": [
          "operationId",
          "challengeId",
          "signature"
        ],
        "type": "object"
      },
      "name": "submit_delivery_receipt"
    }
  ]
}

What the leaf hashes

{"body":"71ff3ef68c4ef7f6e301e6e58ea00bc7e2ffc0439160bf5c6824b3ef0866e150","id":1006278,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793262360201255,"prev":null,"subject":"b78782aa-272e-4be6-b7a5-ffc97a54d7a1","subject_kind":"endpoint"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON