{
  "sample_request": {
    "buyer_id": "buyer.acme",
    "agent_id": "agent.finance.001",
    "agent_role": "finance_agent",
    "action": "payment_execution",
    "product_category": "payment_execution",
    "amount_usdc": "0.25",
    "asset": "USDC",
    "chain": "base",
    "merchant_domain": "pay.vendor.example",
    "merchant_wallet": "0xabc0000000000000000000000000000000000001",
    "mandate": {
      "id": "mandate-001",
      "type": "payment",
      "status": "active",
      "buyer_id": "buyer.acme",
      "agent_id": "agent.finance.001",
      "agent_role": "finance_agent",
      "merchant_domains": [
        "pay.vendor.example"
      ],
      "merchant_wallets": [
        "0xabc0000000000000000000000000000000000001"
      ],
      "allowed_categories": [
        "payment_execution"
      ],
      "max_amount_usdc": "1.00",
      "assets": [
        "USDC"
      ],
      "chains": [
        "base"
      ],
      "expires_at": "2099-01-01T00:00:00.000Z"
    },
    "merchant": {
      "domain": "pay.vendor.example",
      "wallet": "0xabc0000000000000000000000000000000000001",
      "expected_wallet": "0xabc0000000000000000000000000000000000001",
      "openapi_domain": "pay.vendor.example",
      "agent_card_domain": "pay.vendor.example",
      "category": "payment_execution",
      "kyt_risk": "low"
    }
  },
  "sample_response": {
    "product": "agentic-commerce-preflight",
    "schema_version": "agentic_commerce_preflight_result.v1",
    "response_kind": "decision_response",
    "evaluator_version": "signgate-agentic-commerce-evaluator.0.1.0",
    "decision": "REQUIRE_APPROVAL",
    "decision_id": "dec_861b3115",
    "evaluated_at": "2026-07-15T06:03:24.378Z",
    "expires_at": "2026-07-15T06:08:24.378Z",
    "policy_version": "signgate-agentic-commerce-policy-2026-07-15",
    "action": "payment_execution",
    "agent": {
      "id": "agent.finance.001",
      "role": "finance_agent"
    },
    "buyer": {
      "id": "buyer.acme"
    },
    "mandate": {
      "id": "mandate-001",
      "type": "payment",
      "status": "active"
    },
    "merchant": {
      "domain": "pay.vendor.example",
      "wallet": "0xabc0000000000000000000000000000000000001",
      "category": "payment_execution",
      "kyt_risk": "low"
    },
    "resource": {
      "category": "payment_execution",
      "amount_usdc": 0.25,
      "asset": "USDC",
      "chain": "base"
    },
    "reason_codes": [
      "ROLE_PRODUCT_CATEGORY_APPROVAL_REQUIRED",
      "PAYMENT_EXECUTION_REQUIRES_APPROVAL",
      "PAYMENT_EXECUTION_REQUIRES_OUT_OF_AGENT_SIGNER"
    ],
    "evidence": [
      {
        "type": "agent_buyer_identity",
        "source": "signgate",
        "decision": "APPROVAL_REQUIRED",
        "role_product_fit": "needs_owner_review"
      },
      {
        "type": "mandate",
        "id": "mandate-001",
        "mandate_type": "payment",
        "status": "active",
        "expires_at": "2099-01-01T00:00:00.000Z"
      },
      {
        "type": "merchant_trust",
        "domain": "pay.vendor.example",
        "wallet": "0xabc0000000000000000000000000000000000001",
        "expected_wallet": "0xabc0000000000000000000000000000000000001",
        "openapi_domain": "pay.vendor.example",
        "agent_card_domain": "pay.vendor.example",
        "category": "payment_execution",
        "kyt_risk": "low"
      }
    ],
    "signer_directive": {
      "required": true,
      "mode": "human_fido2_or_controlled_signer",
      "agent_may_directly_sign": false,
      "execution_may_be_agent_initiated": true,
      "signer_isolation_required": true,
      "required_signer": {
        "mode": "out_of_agent",
        "allowed_classes": [
          "human_fido2",
          "hsm",
          "kms",
          "custody",
          "smart_account_module"
        ]
      },
      "reason_code": "PAYMENT_EXECUTION_REQUIRES_OUT_OF_AGENT_SIGNER"
    },
    "decision_artifact": {
      "issued": false,
      "status": "not_cryptographically_signed",
      "note": "Decision Artifact is a future signed object with request, policy, mandate, and evidence digests."
    },
    "recommended_next_action": "request_owner_policy_or_signer_approval",
    "limitations": [
      "This demo endpoint is deterministic and does not verify live AP2, x402, KYT, or chain state.",
      "SignGate does not custody funds, hold private keys, sign transactions, or move money.",
      "Production use should bind decisions to authenticated agents, immutable policy versions, nonce, expiry, and signer verification."
    ]
  },
  "post_url": "https://base-agent-preflight.bytoken2023.workers.dev/v1/agentic-commerce/preflight"
}