HTTP 402 Payment Required has been reserved in the HTTP spec since the beginning but left "for future use." x402 is that future: a concrete way to use 402 to price and collect payment for a request.
The status code was reserved for digital payments before any standard existed for how a client should pay. With no agreed envelope or settlement rail, servers had nothing to put in a 402 response that clients could act on, so it stayed dormant for decades.
x402 defines the missing contract: a 402 response carries a structured PaymentRequirements envelope (amount, asset, destination, network), and the client pays by signing a stablecoin authorization and retrying with a PAYMENT-SIGNATURE header. Now 402 is actionable by software.
Probe any 2s endpoint without payment to get a live 402 envelope:
# 1. Probe with no auth → HTTP 402 + the x402 PaymentRequirements envelope:
curl -i "https://2s.io/api/weather/zip?zip=94103"
# → 402 Payment Required
# → body: { "x402Version": 2, "accepts": [ { ...payTo, maxAmountRequired, network... } ], "error": "..." }Call a live x402 API right now — no signup.
Browse the full endpoint directory, grab the quickstart, or read the llms.txt manifest. Every endpoint is keyless and pay-per-call.