OpenChainGraph Suite · ART-476 · Agentic Payment Interop

Agent Payment Mandate Cross-Protocol Mapper

Translates a payment mandate declared under one agentic-payment protocol (AP2, x402, or ACP) into another, by pivoting through one internal canonical schema instead of a pairwise table per protocol combination. The result is the translated mandate plus a mapping receipt — source digest, target digest, mapping-table version, and a declared lossy-fields list — so any field the source protocol could not carry is surfaced honestly rather than silently dropped. Nothing here initiates, routes, or settles a payment.

AP2 ↔ x402 ↔ ACPVerify + translate onlyACP profile: draft-generic
🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Protocols
Source Mandate Fields (canonical inputs, applied per the selected source protocol's field shape)
Translated Mandate

      
Mapping Receipt
Execution Hash (SHA-256)
Solana pay permissions file and the Policy Mandate

The pay mcp permissions file is a client-side limit: the agent runtime checks it before it builds or signs a payment. An AINumbers Policy Mandate is a signed, verifiable authorization that a third party can check later. This table shows the nearest field for each permission key. The Policy Mandate v1.0 schema has no top-level member for any of them, so each would travel inside payload. The art-476 column names the closest field in the canonical pivot used by this mapper.

Permission keyType and defaultNearest Policy Mandate fieldNearest art-476 canonical field
originslist of exact HTTP(S) origins; omitted means any originpayload key, for example allowed_originspayee_ref (a merchant identifier, not an origin)
networkslist of Solana clusters; omitted means mainnet onlypayload key; no top-level equivalentNo equivalent
max_paymentUSD string such as "$1.00", global stablecoin cappayload key, for example max_paymentmax_amount
unlimited_amountboolean, default false; cannot be combined with max_paymentNo equivalent; a mandate with no cap simply omits oneNo equivalent
allow_any_assetboolean, default false; false limits payments to known stablecoinspayload keycurrency (one code per mandate, no allow-list)
assetslist of network, asset and optional atomic capNo equivalent for a per-asset allowanceNo equivalent
origin_overrideslist of per-origin caps; never adds an origin to originsNo equivalent for a per-origin capNo equivalent
(not in the file)no validity windowvalid_from, valid_untilissued_at, expires_at

Sources, pinned by commit. Key names and shape: pay, rust/crates/mcp/src/permissions.rs, lines 15 to 60, and the README example at lines 68 to 76. Defaults: pay-kit, rust/crates/kit/src/client/permissions.rs, lines 303 to 309. Mandate fields: CONTRACT.md section 3.1. Read as of October 2026.

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 `map_agent_payment_mandate`. Task: Translate an agentic-payment mandate declared under one protocol (AP2, x402, or ACP) into the field vocabulary of another, pivoting through one internal canonical schema so each protocol needs only one mapping in and one mapping out.
Call it with arguments: {"policy_parameters":{"source_protocol":"ap2","target_protocol":"x402","source_mandate":{"mandate_id":"ap2-pay-001","mandate_type":"payment","merchant_id":"merchant-42","amount":25.5,"currency":"USDC","issued_at":"2026-07-24T10:00:00Z","expires_at":"2026-07-24T11:00:00Z","human_not_present":true,"scope":{"max_amount":100,"merchant_ids":["merchant-42"]}}}}
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-476-map-agent-payment-mandate.html#p=v1.H4sIAAAAAAAA_wFPAbD-eyJzb3VyY2VfcHJvdG9jb2wiOiJhcDIiLCJ0YXJnZXRfcHJvdG9jb2wiOiJ4NDAyIiwic291cmNlX21hbmRhdGUiOnsibWFuZGF0ZV9pZCI6ImFwMi1wYXktMDAxIiwibWFuZGF0ZV90eXBlIjoicGF5bWVudCIsIm1lcmNoYW50X2lkIjoibWVyY2hhbnQtNDIiLCJhbW91bnQiOjI1LjUsImN1cnJlbmN5IjoiVVNEQyIsImlzc3VlZF9hdCI6IjIwMjYtMDctMjRUMTA6MDA6MDBaIiwiZXhwaXJlc19hdCI6IjIwMjYtMDctMjRUMTE6MDA6MDBaIiwiaHVtYW5fbm90X3ByZXNlbnQiOnRydWUsInNjb3BlIjp7Im1heF9hbW91bnQiOjEwMCwibWVyY2hhbnRfaWRzIjpbIm1lcmNoYW50LTQyIl19fX0MRkKsTwEAAA