Turn your API into a
vending machine.
List any REST endpoint, set a per-call price, and let AI agents pay in USDC on Base. No billing portal, no invoices, no Stripe. You keep 100% of the revenue at launch.
Four steps. About one Base block.
Watch the full x402 handshake — from an unpaid request to an on-chain settlement — replay in your browser.
Agent calls a paid API. No key, no account.
GET /v1/weather HTTP/1.1 Host: api.vend402.com
Data APIs your agents pay for.
Weather, finance, web search, company lookup, sentiment, WHOIS — every endpoint metered per call. No accounts, no API keys.
Browse the catalog and pick the data endpoint your agent needs.
Each request is metered in USDC on Base. No subscriptions or tiers.
Your agent gets a 402, signs once, and the data comes back instantly.
Three steps. Milliseconds.
AI agent hits your endpoint with no payment header.
Gateway responds with price, currency, and destination wallet.
Agent settles USDC on Base and retries with a signature.
Real-time on-chain receipts.
Every call to the gateway is logged. These numbers update live.
Try the gateway.
Hit the endpoint with and without a payment signature and watch the 402 handshake unfold.
GET /api/x402/weather0x8b32651A04A12f72a2dC9F25c4dD938A9D30bAD6# 1. Probe the endpoint
curl -i /api/x402/weather
# → HTTP/1.1 402 Payment Required
# → body.accepts[0] = { scheme:"exact", network:"base-sepolia", maxAmountRequired:"1000", payTo:"0x8b32651A04A12f72a2dC9F25c4dD938A9D30bAD6", asset:"USDC" }
# 2. Sign an EIP-3009 USDC authorization, base64-encode the payment payload, retry
curl -i /api/x402/weather -H "X-PAYMENT: <base64 payload>"const res = await fetch("/api/x402/weather", {
headers: { "X-PAYMENT": paymentHeaderB64 },
});
const data = await res.json();