"HTTP 402 Is Back: How get402 Revives the Payment Required Status Code"
HTTP 402 Is Back: How get402 Revives the Payment Required Status Code
For decades, HTTP 402 "Payment Required" sat dormant in the HTTP specification — a reserved status code with no standardized implementation. While every other 4xx status code found its purpose, 402 remained a ghost in the machine, waiting for the right moment.
That moment is now.
What is HTTP 402?
HTTP 402 (Payment Required) is a status code defined in RFC 7231 but originally reserved since HTTP/1.0. Unlike 401 (Unauthorized) or 403 (Forbidden), 402 specifically indicates that the server cannot process the request because the client has not paid.
HTTP/1.1 402 Payment Required
Content-Type: application/json
{
"error": "payment_required",
"message": "This endpoint requires a payment of 0.01 USDC",
"amount": "0.01",
"currency": "USDC",
"network": "base"
}
The get402 Implementation
get402 is the first production-ready implementation of HTTP 402. Here's how it works:
1. Developer registers an API endpoint with get402 and sets a price per request
2. Client calls the endpoint — if they haven't paid, they receive a 402 response
3. Client pays the required amount in USDC on Base
4. get402 verifies the transaction and allows the request through
5. Developer gets paid — automatically, every time
Why Now?
Three factors make 2026 the year of HTTP 402:
1. Stablecoins are mature — USDC on Base offers fast, cheap settlements
2. Developers want fair monetization — pay-per-call is more equitable than flat subscriptions
3. The web needs new business models — AI APIs, premium data feeds, and serverless functions all benefit from granular billing
Getting Started
Ready to implement HTTP 402 in your API? Check out our quick start guide or install the SDK:
npm install @get402/sdk
Then protect any endpoint with one line:
import { get402 } from '@get402/sdk';
app.get('/api/premium-data', get402.protect('0.01'), handler);
HTTP 402 is no longer just a reserved status code — it's a business model.