OpenChainGraph Suite · ART-31 · Wave 6 · A2A x402-Extension Mandate Validator
v1.0.0

A2A x402-Extension Mandate Validator

Validate the A2A x402 capability extension — the Agent2Agent extension that carries crypto-payment authority inside an AP2 mandate (co-developed by Coinbase, MetaMask, and the Ethereum Foundation). Five deterministic checks: the x402 extension URI is declared in the agent card's capabilities.extensions[]; a non-empty payment-authority scope; a settlement-rail binding (scheme / network / asset); x402 exact-scheme PaymentPayload field lint; and mandate↔payment-leg consistency against an AP2 cap. One PASS/WARN/FAIL verdict and one OpenChainGraph execution_hash receipt. Client-side. Zero PII.

AP2 Export Chain Depth: 1 A2A · capabilities.extensions x402 · exact scheme PaymentPayload lint Zero PII settlement_mandate Simulation
EDUCATIONAL SIMULATION — This tool lints document structure against the publicly documented A2A capability-extension model and the x402 exact-scheme PaymentPayload shape. It does NOT verify signatures, settle funds, or constitute payment authorization. Validate against the live x402 spec (x402.org) and the A2A spec before any production use.
🔒 All validation runs entirely in your browser. Do not paste live wallet private keys, production signing keys, real customer PII, or live payment credentials. Use test / synthetic fixtures only. No data is transmitted, stored, or logged.
Stage 1 — A2A Agent Card (declares x402 capability extension)
A2A Agent Card JSON
JSON with capabilities.extensions[] declaring the x402 extension URI, a payment_authority scope, and a settlement-rail binding (scheme / network / asset).
Stage 2 — x402 Exact-Scheme PaymentPayload
x402 PaymentPayload (exact scheme)
Required: scheme, network, maxAmountRequired, resource, payTo, asset. Optional: maxTimeoutSeconds. Paste the output of ART-03 output_payload.x402_payload, or build manually.
Stage 3 — AP2 Mandate Cap (authority ceiling)
max_amount — mandate cap
asset — authorized asset

The PaymentPayload's maxAmountRequired must be ≤ this cap, and its asset must match (symbol or address; case-insensitive).

Parent ART-03 Artifact (optional — anchors chain_depth)
ART-03 x402 Settlement Modeler artifact JSON
Paste a full ART-03 OpenChainGraph artifact. Its execution_hash → chain.parent_hashes; chain_depth = parent chain_depth + 1. Leave blank to run standalone (chain_depth 0).
Verdict
Validation Checks
OpenChainGraph Artifact · execution_hash
SHA-256:

Computed client-side via WebCrypto SHA-256 over cgCanon({policy_parameters, output_payload}) (OpenChainGraph Standard v0.1 §6). Parent: none

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 `validate_a2a_x402_mandate`. Task: Validate the A2A x402 extension (Coinbase/MetaMask/Ethereum Foundation) that carries crypto-payment authority inside an AP2 mandate: extension declaration in the A2A agent card, payment-authority scope, settlement-rail binding, exact-scheme x402 PaymentPayload lint, and mandate-to-payment-leg consistency.
Call it with arguments: {"policy_parameters":{"agent_card":{"capabilities":{"extensions":[{"uri":"https://ainumbers.co/x402/v1","params":{"payment_authority":{"scope":["payment"],"max_amount":1000,"asset":"USDC"},"settlement_rail":{"scheme":"exact","network":"base-sepolia","asset":"USDC"}}}]}},"payment_payload":{"scheme":"exact","network":"base-sepolia","maxAmountRequired":"500","resource":"https://api.example.com/pay","payTo":"0xabc123","asset":"USDC"},"mandate_cap":{"max_amount":1000,"asset":"USDC"}}}
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-31-a2a-x402-extension-mandate-validator.html#p=v1.H4sIAAAAAAAA_wHOATH-eyJhZ2VudF9jYXJkIjp7ImNhcGFiaWxpdGllcyI6eyJleHRlbnNpb25zIjpbeyJ1cmkiOiJodHRwczovL2FpbnVtYmVycy5jby94NDAyL3YxIiwicGFyYW1zIjp7InBheW1lbnRfYXV0aG9yaXR5Ijp7InNjb3BlIjpbInBheW1lbnQiXSwibWF4X2Ftb3VudCI6MTAwMCwiYXNzZXQiOiJVU0RDIn0sInNldHRsZW1lbnRfcmFpbCI6eyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJiYXNlLXNlcG9saWEiLCJhc3NldCI6IlVTREMifX19XX19LCJwYXltZW50X3BheWxvYWQiOnsic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiYmFzZS1zZXBvbGlhIiwibWF4QW1vdW50UmVxdWlyZWQiOiI1MDAiLCJyZXNvdXJjZSI6Imh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL3BheSIsInBheVRvIjoiMHhhYmMxMjMiLCJhc3NldCI6IlVTREMifSwibWFuZGF0ZV9jYXAiOnsibWF4X2Ftb3VudCI6MTAwMCwiYXNzZXQiOiJVU0RDIn190BbPas4BAAA