OpenChainGraph Suite · CONTRACT A3 · arch #5

Agent Payment Compliance Trail

A nine-stage agent payment workflow over caller-declared data. Step 1 validates the AP2 Intent, Cart and Payment mandate trio for signature-chain integrity, scope and limit consistency, expiry and over-spend (art-01). Step 2 then validates the on-behalf-of mandate the agent acts under, covering subject, scope, intent and validity window (art-151). Step 3 then cross-checks the declared KYA credential scope against the declared x402 payment payload (art-565). Step 4 then scores the declared transaction graph for laundering typologies (art-10). Step 5 then validates travel-rule field completeness across the declared transfer batch (art-104). Step 6 then binds the screening decision to the exact dataset version it was screened against (art-585). Step 7 then verifies the payment receipt against its mandate chain under the human-not-present guardrail (art-62). Step 8 then recomputes the Permit2 settlement digest for the declared payment (art-699). Step 9 aggregates the declared execution hashes of the session into one Merkle-root audit receipt (cry-05). Each step computes from its own declared inputs; the order is analytical, not a statutory sequence, and the workflow certifies nothing.

OpenChainGraph · 9 Steps cryptographic mandate Hash-Anchored §4 chain_depth:9 Client-Side · Zero PII
Chain Topology: AP2 Mandate-Chain Validator → Agent On-Behalf-Of (OBO) Mandate Validator → KYA Credential x x402 Payload Scope Verifier → AMLA Transaction-Typology Risk Scorer → TFR Travel-Rule Batch Validator → Sanctions Screening Evidence Pack → AP2 PaymentReceipt Verifier & HNP Guardrail → X402 Permit2 Evidence Recomputer → Agent-Action Audit-Trail Aggregator
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 9 Steps
1 ROOT node
AP2 Mandate-Chain Validator art-01-ap2-mandate-chain-validator
Validates the caller-declared AP2 Intent, Cart and Payment mandate trio for signature-chain integrity, scope and limit consistency, expiry and over-spend detection. Step 2 then checks the on-behalf-of mandate the agent acts under. Stage 1 of 9.
MCP Call · validate_ap2_mandate_chain
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_ap2_mandate_chain",
    "arguments": {}
  },
  "id": 1
}
↓
2 STAGE 2 node
Agent On-Behalf-Of (OBO) Mandate Validator art-151-agent-obo-mandate-validator
Validates the caller-declared on-behalf-of mandate, checking the represented subject, the bounded scope array, the intent string and the validity window, and refusing on mismatch or expiry. Step 3 then checks the payment against the credential's scope. Stage 2 of 9.
MCP Call · validate_agent_obo_mandate
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_agent_obo_mandate",
    "arguments": {}
  },
  "id": 1
}
↓
3 STAGE 3 node
KYA Credential x x402 Payload Scope Verifier art-565-kya-x402-scope-verifier
Cross-checks the declared KYA credential scope against the declared x402 payment payload, comparing amount, network, asset, payee and validity window, and returning an in-scope, out-of-scope or indeterminate verdict. Step 4 then scores the declared transaction graph for laundering typologies. Stage 3 of 9.
MCP Call · verify_kya_x402_scope
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "verify_kya_x402_scope",
    "arguments": {}
  },
  "id": 1
}
↓
4 STAGE 4 node
AMLA Transaction-Typology Risk Scorer art-10-amla-transaction-typology-risk-scorer
Scores the declared transaction graph against money-laundering typologies, returning a risk determination per account and cluster. Step 5 then validates travel-rule field completeness across the declared transfer batch. Stage 4 of 9.
MCP Call · score_aml_typologies
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "score_aml_typologies",
    "arguments": {}
  },
  "id": 1
}
↓
5 STAGE 5 node
TFR Travel-Rule Batch Validator art-104-tfr-travel-rule-batch-validator
Validates originator and beneficiary field completeness across the declared transfer batch branches and reports batch conformance with a Merkle root. Step 6 then binds the screening decision to its dataset version. Stage 5 of 9.
MCP Call · validate_tfr_travel_rule_batch
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_tfr_travel_rule_batch",
    "arguments": {}
  },
  "id": 1
}
↓
6 STAGE 6 node
Sanctions Screening Evidence Pack art-585-sanctions-screening-evidence-pack
Binds the caller-declared screening decision to the exact versioned dataset it was screened against, comparing the caller-computed artifact digest with the published digest for that version. Step 7 then verifies the payment receipt. Stage 6 of 9.
MCP Call · build_sanctions_screening_evidence_pack
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "build_sanctions_screening_evidence_pack",
    "arguments": {}
  },
  "id": 1
}
↓
7 STAGE 7 node
AP2 PaymentReceipt Verifier & HNP Guardrail art-62-ap2-payment-receipt-verifier
Verifies the caller-declared payment receipt against its signed mandate chain, applying the human-not-present guardrail on amount, category, mandate age and cart freshness. Step 8 then recomputes the settlement evidence. Stage 7 of 9.
MCP Call · verify_ap2_payment_receipt
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "verify_ap2_payment_receipt",
    "arguments": {}
  },
  "id": 1
}
↓
8 STAGE 8 node
X402 Permit2 Evidence Recomputer art-699-x402-permit2-evidence-recomputer
Recomputes the Permit2 typed-data digest the payer's wallet signs for the declared x402 payment, deriving the domain separator, struct hash and digest for each single-item message shape. Step 9 then aggregates the audit trail. Stage 8 of 9.
MCP Call · recompute_x402_permit2_digest
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "recompute_x402_permit2_digest",
    "arguments": {}
  },
  "id": 1
}
↓
9 TERMINAL node
Agent-Action Audit-Trail Aggregator cry-05-agent-action-audit-trail-aggregator
Aggregates the caller-declared execution hashes of the agent session into one SHA-256 Merkle-root session receipt with per-leaf inclusion proofs and an ordered chain-depth map. Final stage.
MCP Call · aggregate_execution_receipts
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "aggregate_execution_receipts",
    "arguments": {}
  },
  "id": 1
}
Export Artifacts
Download the §4 chain definition artifact (hash-anchored composite JSON) or the §13.11 W3C Verifiable Credentials view. Both derive from the chain definition. Available after hash computation.

Ask your agent

Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this whole workflow on the server and check one field that answers a real question.

Question: An agent's x402 payment exceeds its credential's spend cap. Does the scope check report the payment out of scope, or clear it as in scope?
Run the AINumbers MCP tool `run_chain` with {"chain":"agent-payment-compliance-trail"} and read `art-565-kya-x402-scope-verifier.verdict`.
Re-run with `inputs` for `art-565-kya-x402-scope-verifier`, reusing the values that result echoed, with `x402_payload` changed so swap in the fixture out-of-scope payload whose payment amount exceeds the credential spend cap. Compare the same field.
Verify: call `verify_execution_hash` (https://mcp.ainumbers.co/mcp) with `claimed_hash` set to `composite_execution_hash` and the full `composite_artifact`.
Ledger, for a human re-check: https://ledger.ainumbers.co/
PII rule: send synthetic or anonymised inputs only. The MCP server runs these kernels and logs no payloads.
Chain page: https://ainumbers.co/chaingraph/chains/agent-payment-compliance-trail.html