Curve API: pools, candles, trades, and one missing chain
Curve publishes 182 API endpoints across two keyless services. On 23 September 2026 neither recognized Plasma, where DexPaprika measured $1.78m of daily Curve volume.

The short answer. According to DexPaprika data, Curve pools carried 15.3% of indexed DEX volume on Plasma on 23 September 2026, a chain Curve's own API does not list. Otherwise Curve runs two real public APIs, both keyless: api.curve.finance for pools, registries, APYs and lending; prices.curve.finance for OHLC candles, per-trade history and pool snapshots. 182 documented endpoints in total, complete with working candle and trade data.
What isn't there: a view of any DEX besides Curve, and Plasma, where Curve pools already carry real volume.
Curve API gets lumped in with the "does it even have one" question that follows Raydium and PancakeSwap around, and it shouldn't. api.curve.fi, the address in most old tutorials, now answers with a 301 to api.curve.finance. Behind that redirect sits a full pool-and-registry API, plus a second, separate service built specifically for prices and trade history.
On Ethereum, Curve's two DexPaprika ids, the plain AMM and Curve TwoCrypto, carried 4.8% of indexed DEX volume the same day. That's Curve's second-largest share of the seven chains DexPaprika indexes it on. The largest is Plasma, and that's exactly where Curve's own API hasn't caught up.
Inside api.curve.finance: pools, registries and DAO rewards
api.curve.finance publishes an OpenAPI document at api.curve.finance/v1/openapi.json listing 44 GET paths, with a browsable copy at api.curve.finance/v1/documentation. Grouped by what they're for:
No key, no header, nothing to register for:
curl "https://api.curve.finance/v1/getPools/ethereum/main"
{"success":true,"data":{"poolData":[{"name":"Curve.fi DAI/USDC/USDT","symbol":"3Crv",...Every pool comes back with its coin balances, prices, virtual price and links to the Curve UI. For "what pools does Curve run, and what's in them right now", this is the source: it's the protocol's own account of itself, across 21 chains by its own count, covered below.
The Prices API: candles and trade history on a second host
This is the part that separates Curve from Raydium and PancakeSwap. A second, independent service, prices.curve.finance, documented at prices.curve.finance/feeds-docs, ships its own 138-path OpenAPI document. Buried in it are /v1/ohlc/{chain}/{address} and /v1/trades/{chain}/{address}, and both work.
Hourly candles for Curve's own USDC/USDT pool on Ethereum:
curl "https://prices.curve.finance/v1/ohlc/ethereum/0x4f493b7de8aac7d55f71853688b1f7c8f0243c85?main_token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48&reference_token=0xdAC17F958D2ee523a2206206994597C13D831ec7&agg_units=hour&agg_number=1&start=1790182800&end=1790200800"
{"chain":"ethereum","address":"0x4f49...","data":[{"time":1790182800,"open":0.999982,"close":0.999902,"high":0.999983,"low":0.999866},...]}And a trade-by-trade feed for the same pool, across every pair it holds, no token addresses required this time:
curl "https://prices.curve.finance/v1/trades/all/ethereum/0x4f493b7de8aac7d55f71853688b1f7c8f0243c85?per_page=3"
{"chain":"ethereum","count":199468,"data":[{"tokens_sold":328.65,"tokens_bought":328.66,"price":0.999985,"transaction_hash":"0x4358...","buyer":"0x8F10...","time":"2026-09-23T21:59:47"},...]}Two things worth planning around. The OHLC endpoint needs the exact main_token and reference_token addresses for the pair, not only the pool address, and each request is capped to a window 300 times the aggregation size, so a year of hourly candles takes several calls. The trades endpoint caps each page at 100 rows. Both are parameters to design for.
What neither Curve API covers
Both services only know about Curve. Ask either one what Uniswap or Aerodrome is doing on the same chain and you get nothing, because that isn't the question they answer. Building something that needs to compare a token's price or liquidity across every DEX on a chain, not only Curve's own pools, means reaching for an index that covers more than one protocol.
The second gap is narrower, and looks more like it hasn't been updated yet than a deliberate choice. api.curve.finance/v1/getPlatforms lists the chains Curve considers itself deployed on: 21 of them, from Ethereum and Arbitrum down to newer additions like Sonic and Mantle. Plasma isn't on that list, and neither api.curve.finance's pool endpoints nor prices.curve.finance's /v1/chains/ recognize it as a valid chain id. Asking for Plasma returns a parameter error from one and "This chain is not supported" from the other.
DexPaprika's index disagrees with that list. Curve's StableSwap, TriCrypto and TwoCrypto pools on Plasma carried $1,781,229 of the chain's $11,662,934 in DexPaprika-indexed DEX volume on 23 September 2026, a 15.3% share, the largest Curve holds on any of the seven chains measured here. The busiest of those pools has been trading since 22 September 2025 and currently holds $685,343 in liquidity. Curve is live on Plasma. Its own API's coverage list hasn't caught up.
Curve's share of DexPaprika-indexed DEX volume, seven chains
Every DexPaprika network where Curve is indexed, 23 September 2026:
On five of these seven networks, DexPaprika lists Curve under one id, curve, plus curve_twocrypto on Ethereum specifically. On HyperEVM and Plasma the same pool families come split into curve_stableswap, curve_tricrypto and curve_twocrypto with no combined id, which is why those two rows sum three dex_id values each.
The same two calls, from a chain-level index
DexPaprika's OHLCV and transaction endpoints work the same way for a Curve pool as for any other DEX on the chain: a pool address, no token-pair parameters needed. I ran them on 23 September 2026 against the same USDC/USDT Curve pool on Ethereum used above, which did $30.3m of the day's volume. Candles work without a key:
curl "https://api.dexpaprika.com/networks/ethereum/pools/0x4f493b7de8aac7d55f71853688b1f7c8f0243c85/ohlcv?start=-24h&interval=1h&limit=3"Each candle carries time_open, time_close, open, high, low, close and volume.
Individual trades come from the transactions endpoint. Since 30 September 2026 it needs a Dev or Pro plan and runs on api-pro.dexpaprika.com, with the key on its own in the Authorization header:
curl "https://api-pro.dexpaprika.com/networks/ethereum/pools/0x4f493b7de8aac7d55f71853688b1f7c8f0243c85/transactions?limit=3" \
-H "Authorization: YOUR_API_KEY"Each row carries sender, recipient, both token symbols and amounts, price_0_usd, price_1_usd, created_at and factory_id, the contract behind the trade. The same shape works against Uniswap, Aerodrome or any other DEX on the same chain, which is the whole case for reaching for a chain-level index once a question stops being Curve-only.
The candles need no key to try. A free key from console.dexpaprika.com raises the rate and the quota, and current numbers for every tier are on the pricing page rather than in this article, because they move. Free-tier data can be up to 60 seconds behind; real-time is the paid tier.
Common questions
Does Curve have an API?
Yes, two. api.curve.finance covers pools, registries, APYs and lending vaults. prices.curve.finance covers OHLC candles, per-trade history and pool snapshots. api.curve.fi still works; it just redirects.
Do you need an API key for Curve?
No. Every endpoint called for this piece on 23 September 2026 answered with no key and no authentication header of any kind.
Does the Curve API give historical prices or OHLCV?
Yes, through prices.curve.finance/v1/ohlc/{chain}/{address}. It needs the exact token addresses for the pair, and each call is limited to a window 300 times the chosen aggregation size.
Can I get Curve swap history from the API?
Yes. prices.curve.finance/v1/trades/{chain}/{address} covers one pair at a time; /v1/trades/all/{chain}/{address} covers every pair in the pool, paginated at 100 rows per page.
What are the Curve API rate limits?
Neither service publishes one, and their responses carry no ratelimit-* headers to read a budget from. Both sit behind Cloudflare, so treat the limit as real and undisclosed: pace calls and back off on anything that isn't a 200.
Which chains does the Curve API cover?
getPlatforms lists 21, and prices.curve.finance/v1/chains/ reports pricing data for 10 of those. Neither list includes Plasma, where DexPaprika measured $1.78m of Curve volume on 23 September 2026.
How these numbers were measured
Everything above was read off a live source on 23 September 2026.
The 44 and 138 endpoint counts come from Curve's own OpenAPI documents at api.curve.finance/v1/openapi.json and prices.curve.finance/feeds-docs/openapi.json, parsed directly rather than read off the rendered Swagger pages. The 21-chain platform list is api.curve.finance/v1/getPlatforms; the 10-chain pricing coverage list is prices.curve.finance/v1/chains/. The Plasma gap was confirmed by calling both APIs' pool and chain endpoints with plasma as the chain id and reading the parameter error back.
Every DexPaprika figure comes from one call per network to DexPaprika's DEX list (GET /networks/{network}/dexes), which returns every DEX on the chain in one response. Curve's share is its listed dex_id volumes divided by the sum of every DEX's volume in that same response. The Curve OHLC and trades calls are quoted verbatim and returned 200. The DexPaprika candle and transaction calls also returned 200 on 23 September; the candle call is shown with a relative start, which works without a key, and the transaction call on api-pro, where it has needed a Dev or Pro plan since 30 September. Every volume figure is a 24 hour window closing on the measurement, so expect it to move, especially on Plasma, where a single day's number leans on a handful of pools.
Full REST reference at docs.dexpaprika.com. Curve's own docs are at docs.curve.finance, with the pool API at api.curve.finance/v1/documentation and the prices API at prices.curve.finance/feeds-docs. DexPaprika's live Curve page for Ethereum is at dexpaprika.com/api/ethereum/curve.
The same question for two other DEXes: what the Raydium API covers on Solana, and what the Uniswap API returns.
Articoli correlati
- Orca API: 14 keyless endpoints, no candles, no trade feed
- Meteora API for DLMM, DAMM and DBC pools on Solana
- DEX market share by chain: who led each blockchain on 23 Sep 2026
- DexScreener API rate limits: the numbers and what stops you first
- Pump.fun API: what it covers, and what a Solana DEX API adds
- Crypto Market Cycles: Accumulation, Markup, Distribution & Decline
Ultimi articoli
- Balancer (BAL) holders vote to wind down: what happens next
- Token OHLCV API: one candle series per token across DEX pools
- Why Chainlink (LINK) has 70 prices: DEX pool prices explained
- Fake liquidity pool: how NSTR's oracle price was fooled at Nostra
- How to Backtest a Crypto Strategy: Data, Pitfalls & Overfitting
- Crypto Market Cycles: Accumulation, Markup, Distribution & Decline
Educazione Coinpaprika
Scopri guide pratiche, definizioni e analisi approfondite per ampliare la tua conoscenza delle criptovalute.
Le criptovalute sono altamente volatili e comportano un rischio significativo. Potresti perdere parte o tutto il tuo investimento.
Tutte le informazioni su Coinpaprika sono fornite solo a scopo informativo e non costituiscono consulenza finanziaria o di investimento. Esegui sempre la tua ricerca (DYOR) e consulta un consulente finanziario qualificato prima di prendere decisioni di investimento.
Coinpaprika non è responsabile per eventuali perdite derivanti dall'uso di queste informazioni.