Skip to main content
An HTTP call is a request; what it spends is a credit. One request costs one credit, batch endpoints cost one credit per item, and every update delivered over a stream costs one credit. This page turns that rule into numbers you can plan against, so you can answer “will 5M credits a month cover me?” before you pay for anything. If you only read one section, read stream or poll. Streaming does not automatically cost less, and on a fast-moving asset it is dramatically more expensive.

The allowances

Full detail on the rate limits page. Plans are on pricing. The free allowances are a rolling 30-day window, not a calendar month, so the figures below are consumption rates rather than budgets that refill on the 1st. A heavy month keeps its weight for 30 days; see how the allowance refills.

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.
Fast blocks alone do not mean a fast stream. A chain can produce blocks quickly and still yield few updates, because with little trading there are no swaps to move the price. The gap is larger than most people expect, but it is not proportional to raw activity, and that catches people out. On 15 September /networks reported about 31.3M transactions on Solana against 18,500 on Cronos, a ratio near 1,700 to 1. The price streams for those two chains differed by a factor of 13. Trading activity sets the direction, not the multiple, because prices are recomputed on a cadence rather than once per swap. So the mental model that holds is you pay for how actively the asset trades, not for how long you stay connected, and you should not scale an estimate off transaction counts. These are real measurements, taken 2026-09-15 from two 7 minute samples of /sse/prices on the keyless tier, eight assets streaming concurrently and then a quieter six. Credits per 30 days is the measured rate times 43,200. 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 WBNB subscription is roughly 2.4M credits over 30 days, about half of everything Pro includes. Two such assets and you are out. Note that the busiest asset measured was on BNB Chain rather than Solana, so do not assume the chain you think of as the fastest is the one that will cost you most. The free tiers are not built for continuous streaming of a busy asset. At 56 updates a minute, WBNB exhausts the 30,000 keyless allowance in about 9 hours, and the 100,000 registered allowance in about 30 hours. A quiet asset is a different story entirely: WETH on Linea at 1.1 a minute runs about 19 days keyless and roughly two months on a registered key, and WFTM delivered nothing at all in seven minutes, which costs exactly nothing. The range across eleven wrapped natives was 0 to 56 updates a minute, so the asset you pick matters more than any other decision on this page.
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:
  • WBNB at 56.4 updates a minute. Streaming costs 2,436,480 credits. Polling once a minute costs 43,200. Polling is 56 times less, at the price of being up to 60 seconds stale.
  • WETH on ethereum at 5.6 a minute. Streaming costs 241,920 credits. Polling every 10 seconds costs 259,200. Close to break even, with streaming slightly ahead on both cost and freshness.
  • WETH on linea at 1.1 a minute. Streaming costs 47,520 credits. Polling every 10 seconds costs 259,200. Streaming costs about 5 times less and is fresher.
The rule of thumb:
  • 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:
That is over Pro’s 5M. Options: drop to the 5 assets users actually watch, or poll the quiet ones and stream only the busy ones.

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.
That is more than four times a registered free key’s 100,000, so this shape needs Pro, or a far slower refresh. Every 10 minutes is 216,000 and every 15 minutes is 144,000, both still over; every 30 minutes is 72,000 and fits. Cache the static half (names, decimals, pool pairs) either way, since it costs nothing extra to keep.

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:
Fits Pro with headroom. This is the workload streaming is genuinely built for: you cannot poll your way to catching a one block drain.

4. Backfill plus live

Size these separately. A one off historical pull is a fixed cost:
Then add the steady state streaming figure from above. Backfill is almost never the expensive half.

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_min and 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, and GET /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 30,000 credits per rolling 30 days: the free tier, no key needed to start.
  • 30,000 to 100,000: register a free key.
  • 100,000 to 5M: Pro, $99 a month. Pro calls a different host with a key; read upgrading to Pro before you migrate your client.
  • Over 5M: Pro plus $20 per additional 1M, or talk to us about Enterprise on the Pro API page if streaming volume is the driver, since Enterprise limits are set to the workload.
If the number lands just over a tier boundary, revisit the list above before upgrading. Dropping three idle assets from a ticker usually costs less than the next plan.

FAQs

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.
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.
No. Batch endpoints collapse several round trips into one HTTP call, which cuts latency, connection overhead and pressure on the per-minute request limit, but each token still bills as one credit. Ten tokens cost ten credits either way.
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.