Crypto Data API
Simple pricing for onchain DEX data
Token prices, pools, candles and trades over REST and WebSocket. Start free, upgrade when you grow. Data API calls never use your RPC Requests, Request Packs or wallet balance.
Crypto Data API pricing: On-chain DEX API and Wallet API share these plans, quota and API key.
- 3 chains
- Ethereum, Base, Arbitrum
- 100,000 free calls
- every 30 days
- REST + WebSocket
- one key for both
Free
For building and testing
100,000
- 100,000 calls every 30 days
- Rate limit: 1 / 1 Req/s
- WebSocket: 1 × 5 subscriptions
- Channels: prices
- Chains: Ethereum, Base, Arbitrum
- Every route, including batch prices
You get Free when you create your first On-chain DEX API endpoint.
Free's 100,000 calls apply to periods that start on or after 2026-11-08 00:00 UTC. A period already under way keeps its earlier quota until it ends.
Create an endpointStarter
For a first app in production
1,000,000
- 1,000,000 calls every 30 days
- Rate limit: 25 / 50 Req/s
- WebSocket: 2 × 25 subscriptions
- Channels: prices, trades, pools, candles
- Every chain and route in Free
Pro
For growing products
10,000,000
- 10,000,000 calls every 30 days
- Rate limit: 50 / 100 Req/s
- WebSocket: 5 × 100 subscriptions
- Channels: prices, trades, pools, candles
- Every chain and route in Free
Business
For high-volume workloads
Unlimited
- Unlimited calls, rate limit only
- Rate limit: 100 / 200 Req/s
- WebSocket: 20 × 100 subscriptions
- Channels: prices, trades, pools, candles
- Every chain and route in Free
Need more than Business? Contact sales
Compare plans
| Feature | Free | Starter | Pro | Business |
|---|---|---|---|---|
| Price / 30 days | $0 | $19 | $79 | $249 |
| Calls / 30 days | 100,000 | 1,000,000 | 10,000,000 | Unlimited |
| Sustained / burst rate | 1 / 1 Req/s | 25 / 50 Req/s | 50 / 100 Req/s | 100 / 200 Req/s |
| WebSocket connections | 1 | 2 | 5 | 20 |
| Subscriptions per connection | 5 | 25 | 100 | 100 |
| WebSocket channels | prices | prices, trades, pools, candles | prices, trades, pools, candles | prices, trades, pools, candles |
| Fastest price push | every 5s | every 1s | every 1s | every 1s |
| Chains | Ethereum, Base, Arbitrum | Ethereum, Base, Arbitrum | Ethereum, Base, Arbitrum | Ethereum, Base, Arbitrum |
| REST routes, incl. batch prices | ||||
| Overage billing |
Try it: live token prices
Public examples you can paste as they are. Use the key of your On-chain DEX API endpoint; the same key works for REST and WebSocket.
REST · current price
One HTTPS call returns the current USD price of WETH on Ethereum.
curl -s "https://api.blockreq.com/v1/dex/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2/price" \
-H "X-API-Key: $BLOCKREQ_DATA_API_KEY"{
"data": {
"chain": "ethereum",
"address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"at": 1794038400,
"price_usd": "3412.18",
"price_time": 1794038398,
"source": "current",
"low_liquidity": false,
"stale": false
}
}WebSocket · price streamComing soon
Subscribe to the prices channel and receive a push whenever the price moves.
wscat -c "wss://api.blockreq.com/v1/dex/ws" \
-H "X-API-Key: $BLOCKREQ_DATA_API_KEY"{"op":"subscribe","id":"1","channel":"prices","params":{"chain":"ethereum","addresses":["0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"],"interval":5}}{
"op": "prices",
"subscription": "s1",
"chain": "ethereum",
"seq": 1,
"data": [
{
"chain": "ethereum",
"address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"price_usd": "3412.55",
"stale": false
}
]
}Sample responses; the prices shown are illustrative.
How calls are counted
| Request | Counted calls |
|---|---|
| GET /v1/dex/... | 1 |
| POST /v1/dex/prices | 1 per 10 tokens, rounded up (50 tokens = 5) |
- Free's 100,000 calls apply to periods that start on or after 2026-11-08 00:00 UTC. A period already under way keeps its earlier quota until it ends.
- Every response carries X-BlockReq-Data-Api-Units with the calls it counted.
- A 30-day period starts with the period's first call. The first call after it ends starts a new period from zero.
- Over the rate or the quota, the API answers 429 with Retry-After. When the quota is used up, X-BlockReq-Data-Api-Quota-Reset gives the time it resets.
- No overage billing: a used-up quota answers 429 until the period resets.
- An account paused for running out of RPC Requests can still use the data API.
Frequently asked questions
How do I get the Free plan?
Create an On-chain DEX API endpoint in the Dashboard. Free starts with your first endpoint; no card is needed.
What happens when I use up my quota?
Calls answer 429 with Retry-After until the 30-day period resets. There is no overage billing, so you are never charged more than your plan.
What does unlimited mean on Business?
Business has no period quota; it is bounded only by its rate limit.
Do Data API calls use my RPC Requests?
No. The On-chain DEX API is priced and counted separately: it never uses RPC Requests, Request Packs or wallet balance.
Does a WebSocket push count as a call?
Yes. A prices push counts 1 call per 10 tokens it carries, rounded up; other pushes count 1.
Start building with free onchain data
100,000 calls every 30 days, no card required.