402 Payment Required when a request is unpaid, and serves the resource when a
valid payment is attached. There are no API keys to issue, no invoices to send,
and no accounts to manage. Follow these steps to take an Express API from zero
to paid and ready to
list in the Agent Marketplace.
Prerequisites
Before you begin, ensure that you’ve:- Obtained an EVM wallet address to receive USDC. Buyers pay to this address, and only you control it. If you don’t have one, create an agent wallet with Circle CLI.
- Built an HTTP API that you can add payment middleware to.
- Installed Node.js v22.6+.
- Chosen a price per request (for example,
$0.01; sub-cent prices work too).
Steps
Step 1. Install the SDK
Step 2. Return 402 and settle payments
Add the Gateway middleware and put a price on a route. SetsellerAddress to
your payout wallet address; buyers see it as the payTo address in the price
list your endpoint returns:
server.ts
gateway.require("$0.01") returns 402 Payment Required with the payment
options for unpaid requests, and settles valid payments with Gateway before your
handler runs. Full walkthrough:
Nanopayments seller quickstart.
Step 3. Accept vanilla x402 too
The preceding middleware accepts Gateway nanopayments: gasless, sub-cent payments settled offchain in batches. To also accept onchain x402 payments and reach buyers on non-Circle x402 stacks, run anx402ResourceServer with an x402
facilitator alongside the Gateway scheme:
GatewayEvmScheme extends the standard onchain scheme, so your 402 responses
offer both rails in one accepts array and buyers pick whichever they have
funded. Details:
Add nanopayments to an x402 seller.
Step 4. Test the handshake
Send an unpaid request and confirm the402:
402 Payment Required with a PAYMENT-REQUIRED header that
carries the payment options. Then pay it end to end with the
buyer quickstart client or the Circle
CLI
pay for a service
flow.
Step 5. Check earnings and withdraw
Gateway payments accumulate in your Gateway balance and batch-settle onchain. Check and withdraw withGatewayClient:
See also
- How-to: Get listed: put your live endpoint in the marketplace catalog.
- Seller integration tools: third-party platforms that run the payment layer for you if you are not on Express.
- What is x402?: the payment handshake behind these steps.