{
  "schema_version": "1",
  "generated_at": "2026-10-22T00:00:00Z",
  "disclaimer": {
    "text": "Not investment advice.",
    "url": "https://agentpaywire.com/disclaimer.json"
  },
  "description": "x402 v2 wire facts from the coinbase/x402 specification files and the Cloudflare Monetization Gateway x402 page. One row per fact. Null means the cited page does not state that field. A note that says unconfirmed is not a protocol field.",
  "markdown_url": "https://agentpaywire.com/api/protocols/x402-v2-wire.md",
  "csv_url": "https://agentpaywire.com/api/protocols/x402-v2-wire.csv",
  "count": 14,
  "entries": [
    {
      "id": "v2-http-headers",
      "name": "HTTP v2 header names",
      "value": {
        "value": "HTTP v2 uses three headers, each Base64-encoded JSON. PAYMENT-REQUIRED is server to client and carries a PaymentRequired object. PAYMENT-SIGNATURE is client to server and carries a PaymentPayload object. PAYMENT-RESPONSE is server to client and carries a SettlementResponse object. The transport says response bodies are not the protocol channel.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/transports-v2/http.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/transports-v2/http.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "payment-required-fields",
      "name": "PaymentRequired fields",
      "value": {
        "value": "PaymentRequired required fields are x402Version (must be 2), resource, and accepts. Optional fields are error and extensions. ResourceInfo required field is url. Optional ResourceInfo fields are description, mimeType, serviceName, tags, and iconUrl. Each PaymentRequirements object requires scheme, network (CAIP-2), amount, asset, payTo, and maxTimeoutSeconds. extra is optional. The spec reserves extra keys assetTransferMethod and paymentFlow.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "payment-payload-fields",
      "name": "PaymentPayload fields",
      "value": {
        "value": "PaymentPayload required fields are x402Version, accepted, and payload. Optional fields are resource and extensions. accepted is a PaymentRequirements object. payload is scheme-specific.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "exact-evm-payload-example",
      "name": "exact EVM payload example",
      "value": {
        "value": "The specification gives an exact EVM example whose payload requires signature and authorization. That authorization object requires from, to, value, validAfter, validBefore, and nonce. The same section says this is an example for the exact EVM scheme, not a field list for every payload.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "settlement-response-fields",
      "name": "Settlement response fields",
      "value": {
        "value": "The section is titled SettlementResponse Schema. The field table is headed SettleResponse. Required fields are success, transaction, and network. Optional fields are errorReason, payer, amount, and extensions. transaction is an empty string if no transaction was broadcast, and it MUST be non-empty when errorReason is settlement_pending.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "caip2-networks",
      "name": "CAIP-2 network identifiers",
      "value": {
        "value": "v2 network identifiers use CAIP-2 form namespace:reference. The specification examples are eip155:8453 (Base mainnet), eip155:84532 (Base Sepolia), eip155:43114 (Avalanche mainnet), eip155:43113 (Avalanche Fuji), solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp (Solana mainnet), and solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 (Solana devnet). It also encourages non-blockchain identifiers such as ach:us and sepa:eu.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "scheme-exact",
      "name": "exact scheme",
      "value": {
        "value": "exact transfers a specific amount that the resource server knows in advance. The default flow is authorization: verify, then the resource, then settle. exact MAY use the upfront flow (settle, then the resource) when the resource needs payment finality before execution.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/schemes/exact/scheme_exact.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/schemes/exact/scheme_exact.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "scheme-upto",
      "name": "upto scheme",
      "value": {
        "value": "upto authorizes a maximum. The amount charged is chosen at settlement, MUST be less than or equal to that maximum, and MAY be 0. At verification, amount is the maximum. At settlement, amount is the actual charge. upto cannot use the upfront flow. Each authorization is single-use, time-bound with validAfter and deadline, and binds the recipient.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/schemes/upto/scheme_upto.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/schemes/upto/scheme_upto.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "v1-http",
      "name": "HTTP v1 headers",
      "value": {
        "value": "HTTP v1 puts a PaymentRequirementsResponse JSON object in the HTTP 402 body. The client sends payment data in the X-PAYMENT header as Base64-encoded JSON. The server sends settlement data in the X-PAYMENT-RESPONSE header as Base64-encoded JSON.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/transports-v1/http.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/transports-v1/http.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "v1-fields",
      "name": "v1 field names",
      "value": {
        "value": "v1 PaymentRequirements uses maxAmountRequired for the amount. resource, description, and mimeType sit on each requirement. Network examples are names such as base-sepolia and ethereum-mainnet. The example error string is \"X-PAYMENT header is required\". PaymentPayload required fields in v1 are x402Version (must be 1), scheme, network, and payload.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v1.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v1.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "v2-version-history",
      "name": "v2 version history",
      "value": {
        "value": "The version history table dates v2.0 at 2025-12-9 and describes it as: Protocol v2: CAIP-2 networks, restructured PaymentPayload/Required, ResourceInfo separation, extensions support.",
        "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "base64-alphabet",
      "name": "Base64 alphabet and padding",
      "value": null,
      "note": "Unconfirmed. The HTTP v2 transport says Base64-encoded JSON and does not name the alphabet (standard Base64 or base64url) or whether padding is required.",
      "source": "https://github.com/coinbase/x402/blob/main/specs/transports-v2/http.md",
      "verified_at": "2026-10-22"
    },
    {
      "id": "cloudflare-base64-alphabet",
      "name": "Cloudflare Base64 alphabet and padding",
      "value": null,
      "note": "Unconfirmed. The Cloudflare Monetization Gateway x402 page says each client-facing header contains Base64-encoded JSON and does not name the alphabet or whether padding is required.",
      "source": "https://developers.cloudflare.com/monetization-gateway/x402/",
      "verified_at": "2026-10-22"
    },
    {
      "id": "cloudflare-client-headers",
      "name": "Cloudflare Monetization Gateway client headers",
      "value": {
        "value": "The page says Monetization Gateway uses x402 version 2 and two client-facing headers, each Base64-encoded JSON: PAYMENT-REQUIRED (the resource and accepted payment options) and PAYMENT-SIGNATURE (the signed payment authorization). It says exact is for fixed pricing and upto is for variable pricing. The decoded example uses the placeholder <CAIP_2_NETWORK> and does not name eip155:8453. It says PAYMENT-CONTEXT and PAYMENT-SETTLEMENT are headers between the gateway and the origin, not x402 client headers. The page does not name PAYMENT-RESPONSE.",
        "source": "https://developers.cloudflare.com/monetization-gateway/x402/",
        "verified_at": "2026-10-22"
      },
      "note": null,
      "source": "https://developers.cloudflare.com/monetization-gateway/x402/",
      "verified_at": "2026-10-22"
    }
  ],
  "$schema": "https://agentpaywire.com/schemas/x402-v2-wire.schema.json"
}
