Curve API: pools, candles, trades, and one missing chain

Mateusz Sroka

(14 hours ago)

8 min di lettura

Condividi:

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.

Curve API: pools, candles, trades, and one missing chain

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:

GroupEndpointsWhat you get
Pools & registries19Pool lists by registry, size and chain, LP tokens, hidden pools, the platform-to-chain map
Volume & APYs824h volume and base APY per chain, weekly protocol fees, subgraph-backed volume
Gauges & DAO rewards5Gauge list and status, CRV reward rates per factory gauge
crvUSD & supply5CRV circulating supply, crvUSD and scrvUSD total supply
Lending vaults3Curve's lend-borrow vaults by chain and registry
Other4Token list, gas price, ETH price, points campaigns

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:

NetworkVolume, 24hPoolsShare of chain's indexed DEX volume
Plasma$1,781,229615.3%
Ethereum$87,505,9203444.8%
Arbitrum$2,082,902301.0%
Optimism$88,080210.6%
Base$179,717160.01%
Polygon$13,502240.02%
HyperEVM$4,128120.003%

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

Ultimi articoli

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.

Torna all'Educazione