API Reference
Base URL: https://api.venum.dev
Endpoints
Free (no auth, Nginx-cached)
| Method | Path | Description | Cache |
|---|---|---|---|
GET | /health | API health check | — |
GET | /v1/price/:token | DEX price for a token | 2s |
GET | /v1/prices?tokens= | Batch DEX prices | 2s |
GET | /v1/pools | Browse pools (filter by token/pair/dex) | 5s |
GET | /v1/pools/:token | Pools for a token | 5s |
GET | /v1/pools/:tokenA/:tokenB | Pools for a pair | 5s |
Paid (requires X-API-Key header)
| Method | Path | Description |
|---|---|---|
POST | /v1/quote | Get best swap route across 12 DEXes |
POST | /v1/swap/build | Build unsigned swap transaction |
POST | /v1/swap | Submit signed transaction via Jito |
GET | /v1/pool/:address | Single pool decoded state |
GET | /v1/pools/new | Recently discovered pools |
GET | /v1/pools/seed | Bulk pool export (paginated) |
GET | /v1/pools/dead | Dead pool detection (coming soon) |
GET | /v1/stream/prices | SSE: real-time price updates |
GET | /v1/stream/pools | SSE: new pool discoveries |
Authentication
Paid endpoints require an API key in the X-API-Key header:
X-API-Key: your_api_key_hereFree endpoints work without auth. Passing an API key on free endpoints bypasses the Nginx cache and gives you higher rate limits.
Rate Limits
| Tier | Prices | Pools browse | Paid endpoints |
|---|---|---|---|
| Anonymous (no key) | 120/min per IP | 60/min per IP | 401 |
| External API key | 600/min per key | 300/min per key | 60/min (quote), 10/min (swap) |
| Internal API key | Unlimited | Unlimited | Unlimited |
Token Resolution
All endpoints accept both token symbols and mint addresses:
GET /v1/price/SOL
GET /v1/price/So11111111111111111111111111111111111111112
GET /v1/pools/SOL/USDC
GET /v1/pools?pair=SOL,USDCAliases: BTC → WBTC, ETH → WETH, DOGE → wDOGE, SHIB → wSHIB, NEAR → wNEAR
Content Type
All request bodies are JSON:
Content-Type: application/jsonBase Types
Token Mint
Base58-encoded Solana public key (32-44 characters):
So11111111111111111111111111111111111111112Amount
String representation of a positive integer in the token's smallest unit:
"1000000000" // 1 SOL (9 decimals)
"1000000" // 1 USDC (6 decimals)Slippage
Integer in basis points (1 bps = 0.01%):
100 // 1% slippage
50 // 0.5% slippage