Verifies a Tempo Machine Payments Protocol cumulative EIP-712 session voucher offline via ecrecover (no RPC, no database lookup), validates a TIP-20 32-byte payment memo structurally, and renders a merchant-side HTTP 402 challenge plus a Payment-Receipt binding a verified voucher to the execution_hash of whatever it paid for. Mirrors the shipped x402 / ACP / AP2 verifiers in this suite.
This node recovers the address that signed a caller-supplied Tempo MPP session voucher, checks it against the caller-declared channel state (authorized signer, prior settled amount, deposit cap, close status), and validates a TIP-20 memo's byte-32 structure. Only when a valid voucher and a well-formed 402 challenge are both supplied does it render a Payment-Receipt-shaped object binding the voucher to an optional subject execution_hash. It never holds a private key, never signs anything, never escrows third-party funds, and never initiates a payment: it never operates a live endpoint, never calls out, and every field is caller-supplied and echoed, nothing is fetched or resolved independently. A "receiving address" is a caller-declared string, never a key this node controls (browserchain-build-spec-v0.2.md Β§21.5 precedent: "the relay holds only a receiving address, no hot keys"). Resubmitting the identical voucher always re-derives the identical digest and receipt: that idempotency is the tool's evidentiary property, not a live dedup service.
signature (full hex blob) OR the split r/s fields plus a recovery marker (yParity takes priority, else v, else the byte embedded in a 65-byte signature), the same convention as the sibling x402 signer-recovery verifier.The memo is treated as an opaque 32-byte reference exactly as the network treats it. This tool never interprets its on-chain effects, only its byte-level well-formedness.
Validates and renders a conformant WWW-Authenticate: Payment challenge object per the MPP core + Tempo session/charge specs. This node never mints an authoritative challengeId (that would require holding a server secret) and never operates a live endpoint. recipient is a caller-declared receiving-address string, never a key this node controls or a contract it interacts with.
Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.
Run the AINumbers MCP tool `verify_tempo_mpp_voucher`. Task: Verify a Tempo Machine Payments Protocol cumulative EIP-712 session voucher offline (ecrecover, no RPC or database lookup), validates a TIP-20 32-byte memo structurally, and validates/renders a merchant-side HTTP 402 Payment challenge plus a Payment-Receipt-shaped binding to an optional subject execution_hash.
Call it with arguments: {"policy_parameters":{"protocolVersion":"v2","domainName":"TIP20 Channel Reserve","domainVersion":"1","domainChainId":"4217","domainVerifyingContract":"0x1234567890123456789012345678901234567890","channelId":"0x1111111111111111111111111111111111111111111111111111111111111111","cumulativeAmount":"1000","r":"0xebf4fa27ba15333e85d176eb025f89fe05df0127b30aafbe0014054ea6182e8f","s":"0x56b886bd4b7a4b6c7ce54e8a80b8758f650fe32a59d71a8d6fa738ca88d170a2","yParity":1,"channelPayer":"0x7e5f4552091a69125d5dfcb7b8c2659029395bdf","channelSettled":"0","channelDeposit":"10000","channelCloseRequestedAt":"0","memoValue":"0x0000000000000000000000000000000000000000000000000000000000000001","memoExpectedReferenceHash":"0x0000000000000000000000000000000000000000000000000000000000000001","challengeId":"chal-abc-123","challengeRealm":"api.example.com","challengeIntent":"session","challengeAmount":"500","challengeCurrency":"USDC","challengeRecipient":"merchant-receiving-address-string","challengeEscrowContract":"0x1234567890123456789012345678901234567890","challengeChannelId":"0x1111111111111111111111111111111111111111111111111111111111111111","subjectExecutionHash":"sha256:deadbeef","now":"2026-08-10T00:00:00Z"}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data β use synthetic or anonymised inputs only.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-594-tempo-mpp-voucher-receipt-verifier.html#p=v1.H4sIAAAAAAAA_wGhBF77eyJwcm90b2NvbFZlcnNpb24iOiJ2MiIsImRvbWFpbk5hbWUiOiJUSVAyMCBDaGFubmVsIFJlc2VydmUiLCJkb21haW5WZXJzaW9uIjoiMSIsImRvbWFpbkNoYWluSWQiOiI0MjE3IiwiZG9tYWluVmVyaWZ5aW5nQ29udHJhY3QiOiIweDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLCJjaGFubmVsSWQiOiIweDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEiLCJjdW11bGF0aXZlQW1vdW50IjoiMTAwMCIsInIiOiIweGViZjRmYTI3YmExNTMzM2U4NWQxNzZlYjAyNWY4OWZlMDVkZjAxMjdiMzBhYWZiZTAwMTQwNTRlYTYxODJlOGYiLCJzIjoiMHg1NmI4ODZiZDRiN2E0YjZjN2NlNTRlOGE4MGI4NzU4ZjY1MGZlMzJhNTlkNzFhOGQ2ZmE3MzhjYTg4ZDE3MGEyIiwieVBhcml0eSI6MSwiY2hhbm5lbFBheWVyIjoiMHg3ZTVmNDU1MjA5MWE2OTEyNWQ1ZGZjYjdiOGMyNjU5MDI5Mzk1YmRmIiwiY2hhbm5lbFNldHRsZWQiOiIwIiwiY2hhbm5lbERlcG9zaXQiOiIxMDAwMCIsImNoYW5uZWxDbG9zZVJlcXVlc3RlZEF0IjoiMCIsIm1lbW9WYWx1ZSI6IjB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSIsIm1lbW9FeHBlY3RlZFJlZmVyZW5jZUhhc2giOiIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEiLCJjaGFsbGVuZ2VJZCI6ImNoYWwtYWJjLTEyMyIsImNoYWxsZW5nZVJlYWxtIjoiYXBpLmV4YW1wbGUuY29tIiwiY2hhbGxlbmdlSW50ZW50Ijoic2Vzc2lvbiIsImNoYWxsZW5nZUFtb3VudCI6IjUwMCIsImNoYWxsZW5nZUN1cnJlbmN5IjoiVVNEQyIsImNoYWxsZW5nZVJlY2lwaWVudCI6Im1lcmNoYW50LXJlY2VpdmluZy1hZGRyZXNzLXN0cmluZyIsImNoYWxsZW5nZUVzY3Jvd0NvbnRyYWN0IjoiMHgxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwiY2hhbGxlbmdlQ2hhbm5lbElkIjoiMHgxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExIiwic3ViamVjdEV4ZWN1dGlvbkhhc2giOiJzaGEyNTY6ZGVhZGJlZWYiLCJub3ciOiIyMDI2LTA4LTEwVDAwOjAwOjAwWiJ9Hy_qrKEEAAA