The allowances
Full detail on the rate limits page. Plans are on pricing.
What a stream actually costs
Streams are pushed only when a value changes, so cost tracks the asset’s update rate, not the number of connections you hold open. That rate varies enormously.What sets the update rate
Prices are derived from swaps, so an update happens when a swap moves the price. Two things bound that:- Swap activity. The dominant factor, and in practice the binding one. A heavily traded asset produces a steady stream of price-moving swaps; a thinly traded one produces almost none.
- The recompute cadence. Our pricing pipeline recomputes on a sub-second cycle, which sets an upper bound. No asset streams faster than that, and almost none get close.
/networks reports roughly 24.8M transactions on Solana against 6,773 on Cronos, and the streams reflect that almost exactly: about 52 updates a minute versus about 1.3. So the useful mental model for capacity planning is that you pay for how actively the asset trades, not for how long you stay connected.
These are real measurements from a single 90 second sample of /sse/prices, taken 2026-07-31. Treat them as the right order of magnitude rather than a guarantee, since trading activity changes hour to hour:
Two things fall out of this table immediately.
A single busy asset can dominate a plan. One continuous SOL price subscription is roughly 2.25M credits a month, about 45% of everything Pro includes. Two such assets is 90%.
The free tiers are not built for continuous streaming. At 52 updates a minute, SOL exhausts the 50,000 free allowance in under three days, and the 300,000 registered allowance in about a week. A quiet asset like WCRO would run for months on the same allowance.
The connection caps are separate from your credit allowance and unchanged: 25 subscriptions per connection, 10 concurrent streams per IP. Those limit concurrency, not spend.
Stream or poll
The honest answer: streaming saves you credits only when you would otherwise poll faster than the asset changes. Streaming’s real benefit is latency and freshness, not cost. Polling costs exactly what you choose:
Now compare against the measured rates. The crossover is simply whether the asset’s update rate is above or below your poll rate:
- SOL at 52 updates a minute. Streaming costs 2.25M credits a month. Polling once a minute costs 43,200. Polling is 52 times less, at the price of being up to 60 seconds stale.
- WETH on ethereum at 7.1 a minute. Streaming costs 306k credits. Polling every 10 seconds costs 259k. Roughly break even, and streaming wins on freshness.
- WCRO at 1.3 a minute. Streaming costs 56k credits. Polling every 10 seconds costs 259k. Streaming costs about 5 times less and is fresher.
- If you need sub second freshness, stream. Nothing else gets you there, and the cost is the cost.
- If a minute of staleness is acceptable and the asset is busy, poll. It costs far less.
- If the asset is quiet, stream. You pay almost nothing and get instant updates.
Four worked models
1. Price ticker on 10 assets
A dashboard streaming 10 mixed assets, say 3 busy and 7 quiet, averaging about 15 updates a minute each:2. Portfolio refresh, 50 tokens, every 5 minutes
Batch endpoints cut latency and per-minute request pressure, not credits: each token still bills as one credit.3. Drain detection on 25 pools
Reserve streams emit per block in which reserves change, which is far less often than prices tick. Assume about 4 updates a minute per pool:4. Backfill plus live
Size these separately. A one off historical pull is a fixed cost:Cutting real time spend without losing freshness
- Subscribe to fewer, higher signal assets. Cost scales with what you watch, not with connections. Ten idle assets on one connection still bill for every update.
- Split “must be live” from “can be stale.” Stream the price your UI shows in real time; cache names, decimals, pool pairs and completed candles. Completed OHLCV candles never change.
- Filter server side.
liquidity_usd_minand the other threshold filters keep pages small so you pull fewer rows overall. - Poll the boring ones. A stablecoin pinned to $1.00 does not need a live stream.
- Disconnect when nobody is watching. A dashboard nobody has open still bills for every update it receives.
Check your own numbers
Usage is visible in console.dexpaprika.com, andGET /usage returns the same figures for an authenticated key. Both count credits.
The reliable way to size a workload is to measure it: subscribe to exactly what you intend to run, leave it for ten minutes, and multiply. The table above was produced this way, and a ten minute sample of your own assets will beat any estimate on this page.
Which plan do I need?
Take your total from the models above, then:- Under 50,000 credits a month: the free tier, no key needed to start.
- 50,000 to 300,000: register a free key.
- 300,000 to 5M: Pro, $99 a month.
- Over 5M: Pro plus $20 per additional 1M, or talk to us about Enterprise if streaming volume is the driver, since Enterprise limits are set to the workload.
FAQs
Does a streaming update really cost the same as a REST call?
Does a streaming update really cost the same as a REST call?
Yes. One request costs one credit, and each update delivered over a stream costs one credit. Connections themselves are free; what you pay for is updates delivered.
Does streaming cost less than polling?
Does streaming cost less than polling?
Only if the asset updates less often than you would poll. On a busy asset like SOL, streaming can cost 50 times more than polling once a minute. On a quiet asset it costs a fraction. Stream for freshness, poll for thrift.
Does batching save me credits?
Does batching save me credits?
No. Batch endpoints collapse several round trips into one HTTP call, which cuts latency, connection overhead and pressure on the 30-per-minute request limit, but each token still bills as one credit. Ten tokens cost ten credits either way.
Do idle connections cost anything?
Do idle connections cost anything?
No. Updates are pushed only when a value changes, so an idle market costs nothing. The cost is entirely a function of how often what you subscribed to moves.