{
      "tool_id": "art-31-a2a-x402-extension-mandate-validator",
      "tool_version": "1.0.0",
      "display_name": "A2A x402-Extension Mandate Validator",
      "mcp_name": "validate_a2a_x402_mandate",
      "mandate_type": "settlement_mandate",
      "wave": 6,
      "gpu": false,
      "url": "https://ainumbers.co/chaingraph/art-31-a2a-x402-extension-mandate-validator.html",
      "description": "Validates 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. PASS/WARN/FAIL verdict + execution_hash. Educational/simulation.",
      "input_schema_ref": "chaingraph/art-31-a2a-x402-extension-mandate-validator.html#manifest",
      "deadline": null,
      "deadline_note": "tracks the production A2A x402 extension (2026).",
      "consumes": [
        "art-03-x402-settlement-modeler"
      ],
      "feeds": [
        "art-30-agent-commerce-conformance-validator",
        "cry-05-agent-action-audit-trail-aggregator",
        "ptg-01-ap2-prompt-template-generator"
      ],
      "status": "live",
      "conformance_fixtures": true,
      "compute_capability": "server",
      "compute_images": [{"system":"sha256-source","image_id":"sha256:8136ed46e50029be28e18bd1ec82e60c057b1b12a749df5dc4f847a012b5dddf","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-06-28"}],
      "compute_proof": {
        "type": "ZkVmReceipt",
        "system": "risc0",
        "receiptFormat": "groth16-bn254",
        "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
        "seal": "JcLD7FFnMmWRHFtyWo/i3UouRGXbYhcsU6484tfK+YMfWydgWK78bDi5fuQONbxhxeZZr4AX/8MCLDHkoCSk5R/jt+1aw8jQEp4OBoUoeW7jp5tUYS/+2wGzITUJPKVMLegc3xeW4Z/WA7vdk9HBeDuq+kItk7Nzu/LMRdd1mC4rxTRrG5exT7GOh2go9P6og5rS6FVRHlpzfB6eShAT6gFFuEhUHvb4QNAx0js2jsSJr/UepETB6MSvEAA9MvJ0D0onjmnm6xCEJsUDePXxR1OwP54zG49qts5lhspAYyIsuxRXqJuBKO6EBYKu6jHMvvsuQ92hjlDxx6fSNTG0/w==",
        "journal": {
          "chaingraph_version": "0.4.0",
          "kernel_digest": "sha256:8136ed46e50029be28e18bd1ec82e60c057b1b12a749df5dc4f847a012b5dddf",
          "output": {
            "checks": [
              {
                "code": "EXT-01",
                "note": "capabilities.extensions is array",
                "status": "pass"
              },
              {
                "code": "EXT-02",
                "note": "x402 extension found",
                "status": "pass"
              },
              {
                "code": "EXT-03",
                "note": "x402 extension has params object",
                "status": "pass"
              },
              {
                "code": "SCOPE-01",
                "note": "payment_authority object present",
                "status": "pass"
              },
              {
                "code": "SCOPE-02",
                "note": "scope non-empty array or string",
                "status": "pass"
              },
              {
                "code": "SCOPE-03",
                "note": "max_amount=1000",
                "status": "pass"
              },
              {
                "code": "RAIL-01",
                "note": "settlement_rail object present",
                "status": "pass"
              },
              {
                "code": "RAIL-02",
                "note": "scheme=exact",
                "status": "pass"
              },
              {
                "code": "RAIL-03",
                "note": "network present",
                "status": "pass"
              },
              {
                "code": "RAIL-04",
                "note": "asset present",
                "status": "pass"
              },
              {
                "code": "PAY-F01",
                "note": "scheme present",
                "status": "pass"
              },
              {
                "code": "PAY-F02",
                "note": "network present",
                "status": "pass"
              },
              {
                "code": "PAY-F03",
                "note": "maxAmountRequired present",
                "status": "pass"
              },
              {
                "code": "PAY-F04",
                "note": "resource present",
                "status": "pass"
              },
              {
                "code": "PAY-F05",
                "note": "payTo present",
                "status": "pass"
              },
              {
                "code": "PAY-F06",
                "note": "asset present",
                "status": "pass"
              },
              {
                "code": "PAY-F07",
                "note": "scheme=exact",
                "status": "pass"
              },
              {
                "code": "PAY-F08",
                "note": "maxAmountRequired=500",
                "status": "pass"
              },
              {
                "code": "CON-01",
                "note": "pay=500 cap=1000",
                "status": "pass"
              },
              {
                "code": "CON-02",
                "note": "pay.asset=USDC cap.asset=USDC",
                "status": "pass"
              },
              {
                "code": "CON-03",
                "note": "pay.asset=USDC rail.asset=USDC",
                "status": "pass"
              },
              {
                "code": "CON-04",
                "note": "pay.network=base-sepolia rail.network=base-sepolia",
                "status": "pass"
              }
            ],
            "extension_declared": true,
            "fail_count": 0,
            "pass_count": 22,
            "payment_authority_scope_present": true,
            "settlement_rail_bound": true,
            "verdict": "pass",
            "warn_count": 0
          }
        }
      },
      "export_capability": [
        "xlsx",
        "csv",
        "pdf",
        "xbrl:ocg-ext"
      ]
    }
