Skip to content

fix: DexPaprika entry claims no rate limits and ~1s updates; both are wrong - #334

Open
donbagger wants to merge 1 commit into
igorbarinov:masterfrom
donbagger:fix/dexpaprika-rate-limits-and-coverage
Open

fix: DexPaprika entry claims no rate limits and ~1s updates; both are wrong#334
donbagger wants to merge 1 commit into
igorbarinov:masterfrom
donbagger:fix/dexpaprika-rate-limits-and-coverage

Conversation

@donbagger

Copy link
Copy Markdown
Contributor

One line. I work on DexPaprika and this entry is from my own PR #232, so I am correcting my own claims rather than reporting someone else's.

Three things in it are wrong now.

"no rate limits" is not true and should never have been written. The free tier is metered. Our published limits:

Tier Monthly Per minute
Free, no key 200,000 per IP 30
Free, registered key 500,000 30

Source: https://docs.dexpaprika.com/knowledge-base/rate-limits. Exceeding the per-minute rate returns HTTP 429. To be straight with you: a 40 request burst from one IP still returns 200 for me today because enforcement is being phased in, so I am not going to claim I reproduced a 429. The point is that the documented product has limits and this line promises none, which is exactly the sort of thing someone builds against and then gets burned by.

"~1 second price updates" is misleading. Updates are swap-driven, not on a fixed interval: a token emits a frame when someone trades it. I sampled WETH on Ethereum, about as busy as an ERC-20 gets, for 60 seconds:

$ curl -N "https://streaming.dexpaprika.com/sse/prices?method=token_price&chain=ethereum&address=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
8 price frames in 60s
gaps between frames: 11s, 1s, 14s, 0s, 12s, 3s, 8s

Median gap is around 10 seconds on a top-liquidity pair, and a quiet token on a quiet chain can go minutes with nothing. "Swap-driven" is the honest description on a list that exists for streaming data.

The coverage numbers are a release behind. 34 chains, 30M+ pools and 27M+ tokens are old:

$ curl -s https://api.dexpaprika.com/stats
{"chains":36,"factories":234,"pools":37708848,"tokens":34770365}

I have used 36 chains, 36M+ pools and 33M+ tokens rather than the exact live values, deliberately: rounded-down figures do not need re-editing every time the index grows.

Entry stays in its current section and position. Nothing else in the file changes.

Written with Claude Code (anthropic/claude-opus-5). Every command above was run and its output pasted unedited.

…counts)

The free tier is metered at 200K requests/month per IP and 30/min, so 'no rate
limits' is wrong. Price updates are swap-driven rather than ~1 second: a 60s
sample of WETH on Ethereum produced 8 frames with gaps up to 14s. Coverage
figures updated from 34 chains / 30M+ pools / 27M+ tokens to the published
36 / 36M+ / 33M+.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant