OpenChainGraph Suite · ART-591 · x402 / EIP-3009 Crypto Primitive
x402 Signer Recovery Verifier
Recovers the ECDSA signer address from an EIP-712 digest (e.g. the sibling x402-eip712-digest-recomputer's output) and a signature in (r, s, v) or (r, s, yParity) form. Normalizes the recovery-id across the raw bit (0/1), legacy Ethereum v (27/28), and EIP-155 v (chainId*2+35/36) conventions, each a well-known transcription trap. Reports the recovered address as a fact, plus a separate boolean comparing it to any claimed signer.
EIP-712 / EIP-3009secp256k1 recovery (vendored, no hand-rolled crypto)Recovery only, no settlement claim
๐ All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data โ use synthetic or anonymised inputs only.
Scope
Middle node of the x402-spend-evidence chain (art-590→591→592). Verifies against the digest recomputed by art-590; its recovered_signer result appears alongside the digest in the assembled evidence pack. See x402-spend-evidence chain.
What This Does and Does Not Prove
This node recovers the address whose private key produced the supplied signature over the supplied digest: "this address signed this specific EIP-712 typed-data structure, under this specific domain." It does not prove the recovered address is who the payload claims signed it beyond the match check below, that funds moved, that a transfer settled, or that the authorization was ever submitted on-chain. An authorization is not a settlement. This node never fetches chain state, never calls a facilitator, and is never a party to a payment.
Digest and Signature
Supply either 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. A wrong recovery-id conversion silently recovers the wrong address rather than crashing (SPEC-X402-CRYPTO-CORE-1-2026-08-09.md ยง5.2).
Claimed Signer (optional)
Leave blank for a standalone "recover only" call: the tool never silently fails when no claim is supplied (spec ยง5.5).
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_x402_signer_recovery`. Task: Recover the ECDSA signer address from an EIP-712 digest and a signature (r,s,v or r,s,yParity, with v/EIP-155 normalization), and compares it against an optional claimed from address.
Call it with arguments: {"policy_parameters":{"digest":"0xb68e5d60d6169bad9739d30399af8f8c7378d464d25f4d971911ab65ef0b014b","r":"0x9b74dd5c8bb58124bcc04c7a561231fca3e1fddfac2e9b2e361bb494b6b9dbb6","s":"0x62b4d6e9bc1f5fb62742981efd25c46dcc979a8b37ca92705c690d8ce0b56712","yParity":0,"claimedFrom":"0x7e5f4552091a69125d5dfcb7b8c2659029395bdf"}}
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, or re-run the in-page WebMCP tool `verify_x402_signer_recovery`.
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-591-x402-signer-recovery-verifier.html#p=v1.H4sIAAAAAAAA_wEoAdf-eyJkaWdlc3QiOiIweGI2OGU1ZDYwZDYxNjliYWQ5NzM5ZDMwMzk5YWY4ZjhjNzM3OGQ0NjRkMjVmNGQ5NzE5MTFhYjY1ZWYwYjAxNGIiLCJyIjoiMHg5Yjc0ZGQ1YzhiYjU4MTI0YmNjMDRjN2E1NjEyMzFmY2EzZTFmZGRmYWMyZTliMmUzNjFiYjQ5NGI2YjlkYmI2IiwicyI6IjB4NjJiNGQ2ZTliYzFmNWZiNjI3NDI5ODFlZmQyNWM0NmRjYzk3OWE4YjM3Y2E5MjcwNWM2OTBkOGNlMGI1NjcxMiIsInlQYXJpdHkiOjAsImNsYWltZWRGcm9tIjoiMHg3ZTVmNDU1MjA5MWE2OTEyNWQ1ZGZjYjdiOGMyNjU5MDI5Mzk1YmRmIn0WZJf6KAEAAA