x402 Endpoints
Complete catalog of every x402-enabled endpoint BlockRun exposes, across all gateway domains. Intended for x402scan, the Circle x402 ecosystem, and protocol integrators.
For programmatic integration, prefer the discovery endpoints at the bottom of this page — they always reflect the live state.
Pricing is embedded in every 402 response and published live at /api/v1/models. Read amounts at request time rather than copying them from this page.
Gateways
The same paths are available on each gateway. The 402 response advertises which network and asset the gateway accepts.
| Domain | Network | Asset | Settlement | Notes |
|---|---|---|---|---|
blockrun.ai | Base mainnet — eip155:8453 | USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | Per-call onchain | Default gateway. EIP-3009 / x402 v2. |
sol.blockrun.ai | Solana mainnet — solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | USDC SPL EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | Per-call onchain | Solana SPL transfers. |
nano.blockrun.ai | Polygon / Arbitrum / Optimism / Unichain via Circle Gateway | USDC | Batched (Nanopayments) | Gas-free, sub-cent floor, batched onchain settlement. Base buyers use blockrun.ai (native x402). See the Nanopayments launch post. |
xrpl.blockrun.ai | XRP Ledger | RLUSD (Ripple-issued USD) | — | Sunset — the gateway no longer serves requests (returns 404 as of 2026-08-29). Use Base or Solana. See the XRPL SDK notice. |
testnet.blockrun.ai | Base Sepolia — eip155:84532 | USDC 0x036CbD53842c5426634e7929541eC2318f3dCF7e | Per-call onchain | Free test USDC. Smaller model catalog. |
All live gateways implement x402 v2. Facilitators: Coinbase CDP for Base, native Solana verification, Circle Gateway for nano.blockrun.ai.
Per-token chat (/chat/completions, /messages, /responses) is billed at provider cost with no platform margin — only the flat $0.001 / request transaction fee is added. Media generation and Live Search carry a 5% margin. Every price quoted below already includes the transaction fee.
Discovery
GET https://blockrun.ai/.well-known/x402 # x402 v1 resource list + v2 metadata
GET https://blockrun.ai/openapi.json # Full OpenAPI 3.1 spec (read by x402scan)
GET https://blockrun.ai/api/v1/models # Live model catalog with pricing
Replace blockrun.ai with sol.blockrun.ai, nano.blockrun.ai, or testnet.blockrun.ai to discover the same endpoints scoped to a different network.
AI Model Gateway
OpenAI-compatible. 78 models across chat, reasoning, coding, and vision — plus image, video, music, and speech generation. Per-model pricing is published live at /api/v1/models.
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| POST | /api/v1/chat/completions | OpenAI-compatible chat | Token-based, see /api/v1/models |
| POST | /api/v1/chat/{model} | Chat completions with the model in the path | Token-based |
| POST | /api/v1/messages | Anthropic-compatible messages (native passthrough — responses returned verbatim) | Token-based |
| POST | /api/v1/responses | OpenAI Responses API (stateless; background:true supported) | Token-based |
| GET | /api/v1/responses/{id} | Poll or attach (?stream=true) to a background response | Free (settled at create) |
| POST | /api/v1/responses/{id}/cancel | Cancel a background response | Free |
| POST | /api/v1beta/models/{model}:generateContent | Native Gemini generateContent passthrough | Token-based — allowlisted enterprise payers only |
| POST | /api/v1/images/generations | Image generation (gpt-image-1/2, Nano Banana, CogView-4, Grok Imagine) | Per image, per size |
| GET | /api/v1/images/generations/{id} | Async image poll for slow models (gpt-image-2, etc.) | Free |
| POST | /api/v1/images/image2image | Image edit / inpainting + multi-image fusion (gpt-image-1/2, Nano Banana, Nano Banana Pro) | Per image |
| POST | /api/v1/videos/generations | Video generation (Seedance, Grok Imagine Video, Sora 2) | Per second / token-metered, varies |
| GET | /api/v1/videos/generations/{id} | Async video poll (settlement happens here on completion) | Free |
| POST | /api/v1/videos | Standard multimodal content[] body — delegates to /videos/generations | Per second / token-metered |
| GET | /api/v1/videos/{id} | Poll a job created via /api/v1/videos | Free |
| POST | /api/v1/audio/speech | Text-to-speech (ElevenLabs voices; bytedance/seed-audio-1.0 at $0.003 / second) | $0.05–$0.10 / 1k chars |
| POST | /api/v1/audio/generations | Music generation (MiniMax Music) | $0.1585 / track |
| POST | /api/v1/audio/sound-effects | Sound-effect generation | $0.0535 / generation |
| GET | /api/v1/audio/voices | List available TTS voices | Free |
| POST | /api/v1/portrait/enroll | Enroll AI character as a Virtual Portrait (ta_xxx) for Seedance | $0.011 / enrollment |
| GET | /api/v1/wallet/{address}/portraits | List a wallet's enrolled Virtual Portraits | Free (rate-limited) |
| POST | /api/v1/realface/init | Create a RealFace enrollment session, returns h5Link for phone liveness check | Free (rate-limited) |
| POST | /api/v1/realface/enroll | Finalize RealFace enrollment after H5 completes (uploads face + biometric match) | $0.011 / enrollment |
| GET | /api/v1/realface/status | Poll the state of a RealFace enrollment group | Free (rate-limited) |
| GET | /api/v1/wallet/{address}/realfaces | List a wallet's enrolled RealFaces | Free (rate-limited) |
| GET | /api/v1/wallet/{address}/reconciliation | Per-model token usage and spend for a wallet (30-day window) | Free (rate-limited) |
Per-model pricing is published at /api/v1/models and embedded in every 402 response.
Web & Search
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| POST | /api/v1/search | Live search (web / news / X) | max_results × $0.02625 + $0.001 (default 10 sources = $0.2635) |
| POST | /api/v1/exa/search | Web search | $0.011 / call |
| POST | /api/v1/exa/find-similar | Find semantically similar pages | $0.011 / call |
| POST | /api/v1/exa/answer | AI answer with citations | $0.011 / call |
| POST | /api/v1/exa/contents | Extract content from URLs | $0.002 / URL + $0.001 / request |
Voice & Phone
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| POST | /api/v1/voice/call | Place an outbound AI voice call | $0.541 / call |
| GET | /api/v1/voice/call/{callId} | Poll call status / transcript | Free |
| POST | /api/v1/phone/lookup | Carrier + line-type lookup | $0.011 |
| POST | /api/v1/phone/lookup/fraud | Fraud scoring for a number | $0.051 |
| POST | /api/v1/phone/numbers/buy | Rent a number | $5.001 |
| POST | /api/v1/phone/numbers/renew | Renew a rented number | $5.001 |
| POST | /api/v1/phone/numbers/list | List your rented numbers | $0.002 |
| POST | /api/v1/phone/numbers/release | Release a rented number | Free |
Wallet Funding
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| POST | /api/v1/polymarket/fund | Bridge USDC from Base into a Polymarket (Polygon) account — see Polymarket Funding | $0.011 fee + the deposit amount |
| POST | /api/v1/onramp/token | Mint a one-time Coinbase Onramp link for a Base wallet (the x402 signature is used as authentication only) | Free — Base USDC only |
Sandbox Compute
Ephemeral, isolated Python sandboxes for agent code execution.
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| POST | /api/v1/modal/sandbox/create | Create sandbox | $0.011 floor (short-lived); per-hour for long-lived |
| POST | /api/v1/modal/sandbox/exec | Execute a command in a sandbox | $0.002 |
| POST | /api/v1/modal/sandbox/status | Check sandbox status | $0.002 |
| POST | /api/v1/modal/sandbox/terminate | Terminate a sandbox | $0.002 |
Prediction Markets (Predexon)
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| GET/POST | /api/v1/pm/{path} | Predexon passthrough — Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, Binance, UMA oracle, wallet identity | $0.0085, every tier and method |
0x Swap (DEX)
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| GET/POST | /api/v1/zerox/{path} | 0x Swap + Gasless aggregation passthrough — price, quote, swap/chains, gasless/price, gasless/quote, gasless/submit, gasless/status/{trade_hash}, gasless/approval-tokens, gasless/chains | Free passthrough — no x402 payment |
DeFi Data (DefiLlama)
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| GET | /api/v1/defillama/protocols | Every DeFi protocol DefiLlama tracks, with TVL | $0.006 |
| GET | /api/v1/defillama/protocol/{slug} | TVL + breakdown for one protocol (aave, uniswap, …) | $0.006 |
| GET | /api/v1/defillama/chains | TVL by chain | $0.006 |
| GET | /api/v1/defillama/yields | Every tracked yield pool (lending, LP, staking, vaults) with APY/TVL | $0.006 |
| GET | /api/v1/defillama/prices/{coins} | Token prices, comma-separated coin ids (coingecko:bitcoin, ethereum:0x…) | $0.002 |
See DefiLlama.
Financial Data (Pyth-backed)
Real-time and historical prices. All list endpoints are free. Crypto, FX, and commodity price/history are also free; stock price/history (US and non-US) are $0.002/call.
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| GET | /api/v1/usstock/list | US tickers | Free |
| GET | /api/v1/usstock/price/{symbol} | US stock spot price | $0.002 |
| GET | /api/v1/usstock/history/{symbol} | US stock OHLC | $0.002 |
| GET | /api/v1/stocks/{market}/list | Non-US markets (HK, JP, ...) | Free |
| GET | /api/v1/stocks/{market}/price/{symbol} | Non-US stock price | $0.002 |
| GET | /api/v1/stocks/{market}/history/{symbol} | Non-US OHLC | $0.002 |
| GET | /api/v1/crypto/list | Crypto tickers | Free |
| GET | /api/v1/crypto/price/{symbol} | Crypto spot | Free |
| GET | /api/v1/crypto/history/{symbol} | Crypto OHLC | Free |
| GET | /api/v1/fx/list | FX pairs | Free |
| GET | /api/v1/fx/price/{symbol} | FX spot | Free |
| GET | /api/v1/fx/history/{symbol} | FX OHLC | Free |
| GET | /api/v1/commodity/list | Commodities | Free |
| GET | /api/v1/commodity/price/{symbol} | Commodity spot | Free |
| GET | /api/v1/commodity/history/{symbol} | Commodity OHLC | Free |
Blockchain RPC
Standard JSON-RPC 2.0 to 40 chains through one endpoint — no API key. EVM (eth_*) and non-EVM methods. See Multi-chain RPC.
| Method | Path | Purpose | Pricing |
|---|---|---|---|
| POST | /api/v1/rpc/{network} | Multi-chain JSON-RPC — ethereum, base, solana, polygon, bsc, arbitrum, bitcoin, xrp, sui… (40, aliases supported) | $0.003 / call (batch priced per element) |
| POST | /api/v1/solana/rpc | Solana JSON-RPC (also reachable via /api/v1/rpc/solana) | $0.0015 / call, batch priced per element |
Free Endpoints
| Method | Path | Purpose |
|---|---|---|
| GET | /api/v1/models | Live chat model catalog with pricing |
| GET | /api/v1/images/models | Image model list |
| GET | /api/v1/video/models | Video model list |
| GET | /api/v1/audio/models | Audio (music / speech / SFX) model list |
| GET | /api/v1/audio/voices | TTS voice list |
| GET | /api/v1/balance | Wallet USDC balance check |
| GET | /api/health | Basic service health |
| GET | /api/v1/health/overview | Service health |
| GET | /api/v1/health/chain | Chain RPC health |
| GET | /api/v1/health/models | Per-model availability |
| GET | /api/v1/health/regions | Region/edge health |
| GET | /api/pricing | Pricing info |
| GET | /brand/numbers.json | Published catalog counts (models, tools, chains, savings) |
| GET | /.well-known/x402 | x402 discovery (v1+v2) |
| GET | /openapi.json | OpenAPI 3.1 spec |
Payment Protocol
Every paid endpoint follows the same flow:
- Client sends request without payment → server returns
HTTP 402withaccepts[]describing network, asset, amount,payTo, and resource URL - Client signs a payment authorization (EIP-3009 on EVM, SPL transfer on Solana, a batched Circle Gateway authorization on
nano.blockrun.ai) - Client retries with the
PAYMENT-SIGNATUREheader (x402 v2) - Server verifies via the network's facilitator, executes the API call, settles onchain
- Server returns the response with
X-Payment-Receipt(tx hash)
For full details and code samples see Payment Flow. For threat model and non-custodial guarantees see Security.
Source of Truth
This page is human-maintained and may lag a few hours behind code changes. For machine integration:
- Discovery:
GET /.well-known/x402— canonical resource list, updated per-deploy - OpenAPI:
GET /openapi.json— full request/response schemas (this is what x402scan reads) - Models:
GET /api/v1/models— live model catalog with current pricing
Pricing is also embedded in every 402 response, so clients should not hard-code amounts — read them at request time.
Contact
- GitHub: BlockRunAI
- Site: blockrun.ai
- x402 protocol: x402.org