OpenChainGraph Suite · ART-699

X402 Permit2 Evidence Recomputer

Recomputes the Permit2 typed-data digest a payer’s wallet signs for an x402 payment, for the three single-item message shapes the exact and upto schemes use: a witness transfer that binds the destination, an unwitnessed signature transfer, and an allowance permit. Each type hash is derived at run time from its type string rather than carried as a transcribed constant. Against a caller-declared payment requirement it reports whether the spender is the pinned x402 proxy, whether the destination bound into the witness matches payTo, whether the token matches the asset, whether the chain matches the network, and whether the amount holds under the scheme rule, which is equality under exact and a ceiling under upto. Nonce facts stay in their own space: the unordered bitmap decomposition of the transfer shapes is never conflated with the sequential counter of the allowance shape, and an allowance expiration of zero is reported as lasting the current block only. Signature bytes are classified without recovery: length class, whether s sits above half the curve order, the recovery byte form including the raw parity case an on-chain call cannot use, and the counterfactual wrapper marker. HARD FENCE: this node reads no chain and recovers no signer. Nonce spend state, stored allowance and the current time are caller-declared inputs echoed back, an absent input reports NOT_EVALUATED rather than a pass, and nothing here originates, relays or submits a payment.

compliance_controlZero PIIClient-side only
🔒 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 & reliance
This node recomputes a digest and reports facts about the message that digest covers. It recovers no signer: that is art-591's job, and the handoff record below is emitted in art-591's exact input shape. It reads no chain, so nonce spend state, stored allowance and the current time are caller-declared inputs echoed back, and an absent input reports NOT_EVALUATED rather than a pass. See the manifest below for citations. This node ships compute_proof_ready: ready; see the proof-status note below the results.
Policy Parameters (JSON)
Result

      
Proof status
This node ships compute_proof_ready: ready: ZK-proven. The shard pins a zkVM execution receipt (risc0/groth16-bn254) whose seal commits to this kernel's source digest, and the result above is hash-committed in the receipt journal and recomputable from the same inputs.
Execution Hash & §4 Artifact
SHA-256 execution hash (JCS canonical, RFC 8785):

      

Ask your agent

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 `recompute_x402_permit2_digest`. Task: Recompute the Permit2 typed-data digest for an x402 witness transfer, an unwitnessed signature transfer, or an allowance permit, deriving each type hash at run time from its type string, and reports binding, window, nonce-space and signature-form facts against a caller-declared payment requirement; recovers no signer, reads no chain, and reports NOT_EVALUATED for any absent input
Call it with arguments: {"policy_parameters":{"variant":"x402_witness_transfer","chainId":84532,"verifyingContract":"0x000000000022D473030F116dDEE9F6B43aC78BA3","permitted":{"token":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","amount":"10000"},"spender":"0x402085c248EeA27D92E8b30b2C58ed07f9E20001","nonce":"1701411834604692317316873037158841057","deadline":"1790000600","witness":{"to":"0x209693Bc6afc0C5328bA36FaF03C514EF312287C","validAfter":"1790000000"},"from":"0x2c7536e3605d9c16a7a3d7b1898e529396a65c23","requirement":{"scheme":"exact","network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x209693Bc6afc0C5328bA36FaF03C514EF312287C","amount":"10000"},"now_unix":"1790000300","signature":"0x25756b2bf033967940a5fdc0735ab623fea0727447b70dbf4980a4e26a10a1e168a8a260ea84da98a5674371f183b87b966c972e320aac93d1e85916ca50aa841c"}}
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-699-x402-permit2-evidence-recomputer.html#p=v1.H4sIAAAAAAAA_wEzA8z8eyJ2YXJpYW50IjoieDQwMl93aXRuZXNzX3RyYW5zZmVyIiwiY2hhaW5JZCI6ODQ1MzIsInZlcmlmeWluZ0NvbnRyYWN0IjoiMHgwMDAwMDAwMDAwMjJENDczMDMwRjExNmRERUU5RjZCNDNhQzc4QkEzIiwicGVybWl0dGVkIjp7InRva2VuIjoiMHgwMzZDYkQ1Mzg0MmM1NDI2NjM0ZTc5Mjk1NDFlQzIzMThmM2RDRjdlIiwiYW1vdW50IjoiMTAwMDAifSwic3BlbmRlciI6IjB4NDAyMDg1YzI0OEVlQTI3RDkyRThiMzBiMkM1OGVkMDdmOUUyMDAwMSIsIm5vbmNlIjoiMTcwMTQxMTgzNDYwNDY5MjMxNzMxNjg3MzAzNzE1ODg0MTA1NyIsImRlYWRsaW5lIjoiMTc5MDAwMDYwMCIsIndpdG5lc3MiOnsidG8iOiIweDIwOTY5M0JjNmFmYzBDNTMyOGJBMzZGYUYwM0M1MTRFRjMxMjI4N0MiLCJ2YWxpZEFmdGVyIjoiMTc5MDAwMDAwMCJ9LCJmcm9tIjoiMHgyYzc1MzZlMzYwNWQ5YzE2YTdhM2Q3YjE4OThlNTI5Mzk2YTY1YzIzIiwicmVxdWlyZW1lbnQiOnsic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMyIiwiYXNzZXQiOiIweDAzNkNiRDUzODQyYzU0MjY2MzRlNzkyOTU0MWVDMjMxOGYzZENGN2UiLCJwYXlUbyI6IjB4MjA5NjkzQmM2YWZjMEM1MzI4YkEzNkZhRjAzQzUxNEVGMzEyMjg3QyIsImFtb3VudCI6IjEwMDAwIn0sIm5vd191bml4IjoiMTc5MDAwMDMwMCIsInNpZ25hdHVyZSI6IjB4MjU3NTZiMmJmMDMzOTY3OTQwYTVmZGMwNzM1YWI2MjNmZWEwNzI3NDQ3YjcwZGJmNDk4MGE0ZTI2YTEwYTFlMTY4YThhMjYwZWE4NGRhOThhNTY3NDM3MWYxODNiODdiOTY2Yzk3MmUzMjBhYWM5M2QxZTg1OTE2Y2E1MGFhODQxYyJ96dA2nTMDAAA