{
  "tool_id": "art-476-map-agent-payment-mandate",
  "tool_version": "1.0.0",
  "display_name": "Agent Payment Mandate Cross-Protocol Mapper",
  "mcp_name": "map_agent_payment_mandate",
  "mandate_type": "compliance_control",
  "wave": 71,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-476-map-agent-payment-mandate.html",
  "description": "Translates 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. Emits 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 could not carry is surfaced rather than silently dropped. AP2 and x402 field usage verified against art-01, art-62, and art-26; ACP is a draft-generic profile pending independent confirmation of its public schema. Verify-only and translate-only: nothing here initiates, routes, or settles a payment.",
  "input_schema_ref": "chaingraph/art-476-map-agent-payment-mandate.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:a10219350fc810ab2fc5e6acfec6cad91e855e0b0c493b1e518b3fcc04a2e07d","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-06-28"}],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "KvT/bUz6kpUyxm9BQCSbD+xCVTLH+EkysF1p+TUa6EMCFgP3x4Sw4H+QK97xpZuSqR/pYCFs9JbMAvF67SttJQr6Siw4LSstwW0vXH1HlFD5dFOWVZVxIIPx7vuT3vdTBDFYmOLtG5H/XTuSpmkrLvUBZB8jNNUIC0ryVonxJ+0kr3yU2vpke1seEzVlFO3tQV1w1Ja4nESgryWUxMSycSiqJ9dQX/sA+HxNemyWYu2X7Up2aExhIXIVnHsSLB3GFMlpH7Uqscf7ws1jLY1yLMirMxk4s453TbR4yb3WWkIdj9ekYHloh8qwtrd5yXf2GFt+xW5ekWuKZ3XLZh8cjQ==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:a10219350fc810ab2fc5e6acfec6cad91e855e0b0c493b1e518b3fcc04a2e07d",
      "output": {
        "canonical_pivot": {
          "amount": 25.5,
          "currency": "USDC",
          "expires_at": "2026-07-24T11:00:00Z",
          "human_not_present": true,
          "issued_at": "2026-07-24T10:00:00Z",
          "mandate_id": "ap2-pay-001",
          "max_amount": 100,
          "payee_ref": "merchant-42",
          "payer_ref": null,
          "purpose": "merchant-42"
        },
        "mapping_ok": false,
        "mapping_receipt": {
          "lossy_fields": ["human_not_present"],
          "mapping_table_version": "AI2-MAP-V1-2026-07-24",
          "source_digest": "6f6c4f9b8f59c9a6d0b61825bdb522a00290df017299176cbcea232c6756059c",
          "target_digest": "b190008e4f0158fa351ebd7df33bd8285b850550fb78dc1ac1bb889d74c13ded"
        },
        "mapping_table_version": "AI2-MAP-V1-2026-07-24",
        "missing_required_target_fields": ["payer_ref"],
        "protocol_versions": {
          "ap2": "AP2 v0.2 (per art-01/art-62 field usage, live 2026-07-18)",
          "x402": "x402 (Coinbase, scheme=exact; per art-26 field usage, live 2026-07-18)"
        },
        "source_protocol": "ap2",
        "target_protocol": "x402",
        "translated_mandate": {
          "asset": "USDC",
          "maxAmountRequired": 100,
          "payTo": "merchant-42",
          "payload": {
            "authorization": {
              "from": null,
              "nonce": "ap2-pay-001",
              "to": "merchant-42",
              "validAfter": "2026-07-24T10:00:00Z",
              "validBefore": "2026-07-24T11:00:00Z",
              "value": 25.5
            }
          },
          "resource": "merchant-42",
          "scheme": "exact",
          "x402Version": 1
        }
      }
    }
  },
  "export_capability": [
    "json"
  ]
}
