{
  "schema_version": "1",
  "generated_at": "2026-10-22T00:00:00Z",
  "disclaimer": {
    "text": "Not investment advice.",
    "url": "https://agentpaywire.com/disclaimer.json"
  },
  "description": "HTTP 402 and related challenge variants. One row per scheme. x401 is the identity companion and uses HTTP 401. Null means the cited page does not state that field. Each fact has its own source and verified_at. The row source is the primary page.",
  "markdown_url": "https://agentpaywire.com/api/protocols/402-variants.md",
  "csv_url": "https://agentpaywire.com/api/protocols/402-variants.csv",
  "count": 5,
  "entries": [
    {
      "id": "x402-exact",
      "name": "x402 exact",
      "role": "payment scheme",
      "status_code": {
        "value": 402,
        "source": "https://docs.x402.org/core-concepts/http-402",
        "verified_at": "2026-10-22"
      },
      "header_names": {
        "value": [
          "PAYMENT-REQUIRED",
          "PAYMENT-SIGNATURE",
          "PAYMENT-RESPONSE"
        ],
        "source": "https://docs.x402.org/core-concepts/http-402",
        "verified_at": "2026-10-22"
      },
      "proof_format": {
        "value": "V2 headers are base64-encoded JSON. PAYMENT-REQUIRED carries a PaymentRequired object. PAYMENT-SIGNATURE carries the client PaymentPayload. PAYMENT-RESPONSE carries a SettlementResponse.",
        "source": "https://docs.x402.org/core-concepts/http-402",
        "verified_at": "2026-10-22"
      },
      "settlement_timing": {
        "value": "The exact scheme typically settles immediately, in the same HTTP round trip. The same page says upto typically settles immediately, and batch-settlement confirms the authorization first and redeems onchain later.",
        "source": "https://docs.x402.org/core-concepts/http-402",
        "verified_at": "2026-10-22"
      },
      "typical_facilitators": null,
      "limits": null,
      "spec_url": {
        "value": "https://docs.x402.org/core-concepts/http-402",
        "source": "https://docs.x402.org/core-concepts/http-402",
        "verified_at": "2026-10-22"
      },
      "source": "https://docs.x402.org/core-concepts/http-402",
      "verified_at": "2026-10-22"
    },
    {
      "id": "mastercard-agent-pay-deferred-voucher",
      "name": "Mastercard Agent Pay for Machines",
      "role": "payment scheme",
      "status_code": {
        "value": 402,
        "source": "https://www.mastercard.com/global/en/news-and-trends/press/2026/october/Mastercard-Agent-Pay-for-Machines-in-action.html",
        "verified_at": "2026-10-22"
      },
      "header_names": null,
      "proof_format": {
        "value": "The agent creates a digitally signed payment voucher, described as a promise to pay within its approved limit. The provider verifies the voucher before delivering the service.",
        "source": "https://www.mastercard.com/global/en/news-and-trends/press/2026/october/Mastercard-Agent-Pay-for-Machines-in-action.html",
        "verified_at": "2026-10-22"
      },
      "settlement_timing": {
        "value": "The page says to guarantee payment now and settle later. Voucher exchange happens off-chain, and providers can combine vouchers and redeem them later. In the Cloudflare Connect pilot, Base is the on-chain settlement network, Coinbase Developer Platform provides the wallet infrastructure that funds the agent, and BVNK is the agent wallet.",
        "source": "https://www.mastercard.com/global/en/news-and-trends/press/2026/october/Mastercard-Agent-Pay-for-Machines-in-action.html",
        "verified_at": "2026-10-22"
      },
      "typical_facilitators": null,
      "limits": {
        "value": "A business gives the agent a job and a spending limit. The page does not publish a numeric cap.",
        "source": "https://www.mastercard.com/global/en/news-and-trends/press/2026/october/Mastercard-Agent-Pay-for-Machines-in-action.html",
        "verified_at": "2026-10-22"
      },
      "spec_url": null,
      "source": "https://www.mastercard.com/global/en/news-and-trends/press/2026/october/Mastercard-Agent-Pay-for-Machines-in-action.html",
      "verified_at": "2026-10-22"
    },
    {
      "id": "l402",
      "name": "L402",
      "role": "payment scheme",
      "status_code": {
        "value": 402,
        "source": "https://docs.lightning.engineering/the-lightning-network/l402/protocol-specification",
        "verified_at": "2026-10-22"
      },
      "header_names": {
        "value": [
          "WWW-Authenticate",
          "Authorization"
        ],
        "source": "https://docs.lightning.engineering/the-lightning-network/l402/protocol-specification",
        "verified_at": "2026-10-22"
      },
      "proof_format": {
        "value": "WWW-Authenticate uses the L402 scheme with a base64 macaroon and a Lightning invoice. The client retries with Authorization: L402, the base64 macaroon, a colon, and the hex-encoded invoice preimage.",
        "source": "https://docs.lightning.engineering/the-lightning-network/l402/protocol-specification",
        "verified_at": "2026-10-22"
      },
      "settlement_timing": {
        "value": "The client pays the Lightning invoice from the challenge. Payment reveals the preimage, and the client then presents that preimage with the macaroon.",
        "source": "https://docs.lightning.engineering/the-lightning-network/l402/protocol-specification",
        "verified_at": "2026-10-22"
      },
      "typical_facilitators": null,
      "limits": null,
      "spec_url": {
        "value": "https://docs.lightning.engineering/the-lightning-network/l402/protocol-specification",
        "source": "https://docs.lightning.engineering/the-lightning-network/l402/protocol-specification",
        "verified_at": "2026-10-22"
      },
      "source": "https://docs.lightning.engineering/the-lightning-network/l402/protocol-specification",
      "verified_at": "2026-10-22"
    },
    {
      "id": "mpp",
      "name": "MPP",
      "role": "payment scheme",
      "status_code": {
        "value": 402,
        "source": "https://mpp.dev/protocol/transports/http",
        "verified_at": "2026-10-22"
      },
      "header_names": {
        "value": [
          "WWW-Authenticate",
          "Authorization",
          "Payment-Authorization",
          "Payment-Receipt"
        ],
        "source": "https://mpp.dev/protocol/transports/http",
        "verified_at": "2026-10-22"
      },
      "proof_format": {
        "value": "The challenge is WWW-Authenticate: Payment with auth-params. The request and opaque parameters are base64url-encoded JCS JSON. The credential is base64url-encoded and is sent on Authorization, or on Payment-Authorization when the challenge sets that header. Payment-Receipt is base64url-encoded JSON.",
        "source": "https://mpp.dev/protocol/transports/http",
        "verified_at": "2026-10-22"
      },
      "settlement_timing": {
        "value": "Stripe's guide shows the server recording the payment with Stripe and then returning the requested resource.",
        "source": "https://docs.stripe.com/payments/machine/mpp",
        "verified_at": "2026-10-22"
      },
      "typical_facilitators": {
        "value": [
          {
            "name": "Stripe",
            "url": "https://docs.stripe.com/payments/machine/mpp"
          }
        ],
        "source": "https://docs.stripe.com/payments/machine/mpp",
        "verified_at": "2026-10-22"
      },
      "limits": {
        "value": "Stripe's guide states a minimum of 0.50 USD for card payments through Shared Payment Tokens and 0.01 USDC for stablecoin payments. It says Tempo transfers use USDC.e. It does not state a maximum.",
        "source": "https://docs.stripe.com/payments/machine/mpp",
        "verified_at": "2026-10-22"
      },
      "spec_url": {
        "value": "https://mpp.dev/protocol/transports/http",
        "source": "https://mpp.dev/protocol/transports/http",
        "verified_at": "2026-10-22"
      },
      "source": "https://mpp.dev/protocol/transports/http",
      "verified_at": "2026-10-22"
    },
    {
      "id": "x401",
      "name": "x401",
      "role": "identity companion",
      "status_code": {
        "value": 401,
        "source": "https://proof.com/x401",
        "verified_at": "2026-10-22"
      },
      "header_names": {
        "value": [
          "PROOF-REQUIRED",
          "PROOF-PRESENTATION",
          "PROOF-RESPONSE"
        ],
        "source": "https://proof.com/x401",
        "verified_at": "2026-10-22"
      },
      "proof_format": {
        "value": "PROOF-REQUIRED is base64url JSON. The canonical example uses scheme x401, version 0.1.0, presentation_protocol openid4vp, and a DCQL query for a jwt_vc_json credential. The agent sends the presentation in PROOF-PRESENTATION.",
        "source": "https://proof.com/x401",
        "verified_at": "2026-10-22"
      },
      "settlement_timing": null,
      "typical_facilitators": null,
      "limits": null,
      "spec_url": {
        "value": "https://proof.com/x401",
        "source": "https://proof.com/x401",
        "verified_at": "2026-10-22"
      },
      "source": "https://proof.com/x401",
      "verified_at": "2026-10-22"
    }
  ],
  "$schema": "https://agentpaywire.com/schemas/402-variants.schema.json",
  "see_also": [
    {
      "id": "x402-v2-wire",
      "title": "x402 v2 wire facts",
      "url": "https://agentpaywire.com/api/protocols/x402-v2-wire.json",
      "markdown_url": "https://agentpaywire.com/api/protocols/x402-v2-wire.md"
    }
  ]
}
