{
  "tool_id": "art-394-x402-deferred-handshake-validator",
  "tool_version": "1.0.0",
  "display_name": "x402 Deferred-Scheme Handshake Validator",
  "mcp_name": "validate_x402_deferred_handshake",
  "mandate_type": "compliance_control",
  "wave": 66,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-394-x402-deferred-handshake-validator.html",
  "description": "Validates a Cloudflare `deferred` x402 scheme handshake: 402 offer field shape (scheme:\"deferred\", id, termsUrl), RFC 9421 HTTP Message Signature covered-component coverage (@method, @target-uri, content-digest), and settlement-reference id continuity across a call sequence (uniqueness, no internal duplicates). Cryptographic signature verification reuses verify_webbotauth_signature (art-129); rollup/batch settlement arithmetic is owned by reconcile_x402_batch_settlement (art-61); this node validates the offer and handshake shape only. Scheme registry is a plugin surface and is not hard-coded.",
  "input_schema_ref": "chaingraph/art-394-x402-deferred-handshake-validator.html#manifest",
  "consumes": [
    "art-393-x402-v2-migration-linter",
    "art-129-webbotauth-signature-verifier"
  ],
  "feeds": [
    "art-61-x402-batch-settlement-reconciler"
  ],
  "status": "live",
  "conformance_fixtures": false,
  "compute_capability": "server",
  "compute_proof_ready": "ready",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:86b67fe8bd78c4f98cff644943c97efe820149953edf0080e31c279d760f5994",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-07-21"
    }
  ],
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "G5YMFs+/WjXWBVfnCQ3bq88bBQs7B8XAIcfmEiqiOa8q7OvJqwlu+Z3JNhCE/yCZc2tDjBa3Hud2K7lgbeL7RSYDb/p5nMzl4zV2GDa9OWDuZ1QvqjIMmEILPJzOxLGLDPpzBXjwpx2ECwAMM6Bf2QbCc1WANkN5NutSndfyrJ8O4lG6+esysxpas99IG7dBsVOSumvqjIlW4leaE5RG8A2Zu9GarwFXcagTyeO9XK927ZQ4mQPWsVHWhOcEafjzIXzutp3q/vb6LIeR2lwBscjka41ZtmV3SDkFrg9qql0wOWtDCHxzJg1a3EpcCoRe7i2PIsyoCuVTq2vN5T+6UA==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:86b67fe8bd78c4f98cff644943c97efe820149953edf0080e31c279d760f5994",
      "output": {
        "errors": 0,
        "findings": [
          {
            "level": "pass",
            "msg": "offer.scheme is \"deferred\"."
          },
          {
            "level": "pass",
            "msg": "offer.id present."
          },
          {
            "level": "pass",
            "msg": "offer.termsUrl is a valid https URL."
          },
          {
            "level": "pass",
            "msg": "Signature-Input covers \"@method\"."
          },
          {
            "level": "pass",
            "msg": "Signature-Input covers \"@target-uri\"."
          },
          {
            "level": "pass",
            "msg": "Signature-Input covers \"content-digest\"."
          },
          {
            "level": "pass",
            "msg": "id \"set-ref-001\" is unique against 1 prior id(s)."
          }
        ],
        "passes": 7,
        "required_covered_components": [
          "@method",
          "@target-uri",
          "content-digest"
        ],
        "scope_note": "Validates the deferred-scheme offer, RFC 9421 signature-component coverage, and settlement-reference id continuity only. Cryptographic signature verification is verify_webbotauth_signature (art-129); rollup/batch settlement arithmetic is reconcile_x402_batch_settlement (art-61). Scheme registry is a plugin surface, not hard-coded — verify against the current x402 scheme registry.",
        "score": 100,
        "settlement_reference_id": "set-ref-001",
        "verdict": "ACCEPT",
        "warnings": 0
      }
    }
  },
  "export_capability": [
    "json",
    "csv",
    "pdf"
  ]
}
