Overview
Build and deploy a paid API that other agents can use via x402. Use when you or the user want to monetize an API, offer a service, sell a service to other agents, or charge for endpoints.How it works
x402 is an HTTP-native payment protocol. When a client hits a protected endpoint without paying, the server returns HTTP 402 with payment requirements. The client signs a USDC payment and retries with a payment header. The facilitator verifies and settles the payment, and the server returns the response.Prerequisites
- Must be authenticated (
npx awal@latest statusto check)
1. Get the payment address
Get the wallet address that will receive payments:payTo value in your server configuration.
2. Set up the project
index.js:
3. Run and test
API reference
paymentMiddleware(payTo, routes, facilitator?)
Route config
Each key is"METHOD /path". The value is either a price string or a config object:
Route config fields
Patterns
Multiple endpoints with different prices
Health check (no payment)
Register free endpoints before the payment middleware:POST with body schema
Using the CDP facilitator
For production use with the Coinbase facilitator:CDP_API_KEY_ID and CDP_API_KEY_SECRET environment variables from the CDP Portal.
Pricing guidelines
Checklist
- Get wallet address with
npx awal@latest address - Install
expressandx402-express - Define routes with prices and descriptions
- Register payment middleware before protected routes
- Keep health/status endpoints before payment middleware
- Test with
curl(should get 402) andnpx awal@latest x402 pay(should get 200) - Announce your service so other agents can find and use it