x402

v1 (legacy)

Protocol version 1 (x402Version: 1) is the first published x402 core specification. It defines shared types, facilitator verify/settle, and the exact payment scheme. New work should target v2; keep v1 in mind when you maintain older integrations.

What the v1 document covers

  • Core message schemas: payment requirements, payment payload, settlement response.
  • Facilitator HTTP APIs for verify and settle.
  • Payment schemes (v1 shipped with exact; transports live in separate specs).
  • Security basics: replay protection and trust boundaries.

What v1 leaves out

v1 intentionally does not standardize every framework adapter, client budget UX, or session layer. Transport details (for example how headers are named on HTTP) live beside the core spec, and application notes cover common patterns.

Mental model

Think of v1 as the skeleton: three parties, a 402-shaped negotiation, and scheme-specific logic for moving funds. Everything in v2 keeps that skeleton and extends the schemes, transports, and extension hooks.

Highlighting Request

  1. Request

    Wallet, agent, or app that selects an offer and signs payment.

    Three parties, a 402-shaped negotiation, and scheme-specific logic for moving funds.

    Three parties, a 402-shaped negotiation, and scheme-specific logic for moving funds.

    Three parties, a 402-shaped negotiation, and scheme-specific logic for moving funds.

    Sells access and publishes payment requirements.

    Three parties, a 402-shaped negotiation, and scheme-specific logic for moving funds.

    Verifies signatures and submits chain transactions on behalf of merchants.

  2. 402

    Wallet, agent, or app that selects an offer and signs payment.

    Core message schemas include payment requirements.

    Core message schemas include payment requirements.

    Core message schemas include payment requirements.

    Core message schemas include payment requirements.

    { "x402Version": 1 }

    Sells access and publishes payment requirements.

    Core message schemas include payment requirements.

    Verifies signatures and submits chain transactions on behalf of merchants.

  3. Pay and retry

    Wallet, agent, or app that selects an offer and signs payment.

    The client sends a payment payload. v1 does not standardize HTTP header names.

    The client sends a payment payload. v1 does not standardize HTTP header names.

    The client sends a payment payload. v1 does not standardize HTTP header names.

    Sells access and publishes payment requirements.

    The client sends a payment payload. v1 does not standardize HTTP header names.

    Verifies signatures and submits chain transactions on behalf of merchants.

  4. Verify

    Wallet, agent, or app that selects an offer and signs payment.

    Sells access and publishes payment requirements.

    Facilitator HTTP APIs cover verify and settle.

    Facilitator HTTP APIs cover verify and settle.

    Facilitator HTTP APIs cover verify and settle.

    Verifies signatures and submits chain transactions on behalf of merchants.

    Facilitator HTTP APIs cover verify and settle.
  5. Settle

    Wallet, agent, or app that selects an offer and signs payment.

    Sells access and publishes payment requirements.

    Facilitator HTTP APIs cover verify and settle.

    Facilitator HTTP APIs cover verify and settle.

    Facilitator HTTP APIs cover verify and settle.

    Verifies signatures and submits chain transactions on behalf of merchants.

    Facilitator HTTP APIs cover verify and settle.
  6. Response

    Wallet, agent, or app that selects an offer and signs payment.

    Settlement response is part of the core message schemas.

    Settlement response is part of the core message schemas.

    Settlement response is part of the core message schemas.

    Sells access and publishes payment requirements.

    Settlement response is part of the core message schemas.

    Verifies signatures and submits chain transactions on behalf of merchants.

Canonical source

This page is a reading guide. Field-level definitions and JSON schemas are in the repository specification linked below.
Read the v1 spec (opens in a new tab)