CRIUS Docs
API status Get API key
Trades & candles

OHLCV candles

OHLCV candles (columnar)

GET https://api.crius.sh/v1/{chain}/token/{address}/candles
Anonymous and above (no key needed) 2 credits per call Runnable here Updated Oct 28, 2026

Candles in columnar form (one array per field, aligned by index), which is compact and maps straight onto charting libraries. Intervals: 1s, 30s, 1m, 5m, 15m, 1h, 4h, 6h, 1d. Up to 1,500 candles per call; buckets without trades are omitted.

By default (USD) candles merge the token's real markets: every pool with at least $1k or 2% of its liquidity, plus its launch curve for launchpad tokens. Thin side pools stay out, so a $1 trade there can't draw a wick. pool=main charts the main market only (the default with currency=quote, prices in the pool's quote token), pool=<key> one pool, pool=all every pool. Each candle opens at the previous close (continuous=false for first-trade opens), and fill=true adds flat candles for buckets without trades so the time axis is evenly spaced. Dust trades (under 10,000 raw units on either side) never set a price.

Which trades set a candle's price. Candles are drawn from real market prices, so a few trades on the tape don't move them. They still count in volume and trade counts, so OHLC can differ from aggregating the raw tape:

  • trades under $1, and a buy and sell of the same size in one pool and block (round trips);
  • trades in a minor pool (under 5% of the token's volume) more than 1.1x away from the main market's last price, and any pool's trade more than 1.3x away from the dominant market's recent price;
  • a trade more than 5x away from its 10-minute value-weighted median, and an isolated spike (both neighbours agreeing with each other, the trade far from both);
  • a launch ladder: trades in the launch block, or among the first 50 trades within 20 blocks of it, more than 10x away from the median of the first 20 trades after those 20 blocks.

For the exact tape, use the trade tape for the same window.

See the chart example for a complete TradingView Lightweight Charts integration.

Default (usd): the token's real markets merged (pools with >= $1k or >= 2% of its liquidity) plus its launch curve; ?pool=main its main market only; ?pool=all every pool. Candles open at the previous close.

Path parameters

chainstringrequired

Chain slug (robinhood) or chain id (4663).

addressstringrequired

Contract or wallet address, any case (0x…, 20 bytes).

Query parameters

intervalstring Default 1m

Bucket size. One of 1s, 30s, 1m, 5m, 15m, 1h, 4h, 6h, 1d.

limitinteger Default 500

Maximum number of items to return.

from_tsinteger

Start of the time range, unix milliseconds (inclusive).

to_tsinteger

End of the time range, unix milliseconds (inclusive).

currencystring Default usd

Price unit. One of usd, quote.

poolstring

Pool address (Uniswap v2/v3) or 32-byte pool id (Uniswap v4). Markets (default for usd) | main (default for quote) | all | a pool id.

continuousboolean Default true

true: the holder must stay above the threshold for the whole window. Open = previous close.

fillboolean Default false

Flat candles for buckets without trades.

Key response fields

  • t: bucket start (unix ms) · o h l c: open, high, low, close
  • v: USD volume · bv: buy volume (sell volume = v − bv) · n: number of trades · mc: market cap at close

Guides that use this endpoint

Errors

Errors come back as { "error": { "code", "message" } } with the matching HTTP status: 400 bad parameter, 401 missing or invalid key, 403 endpoint above your plan, 404 unknown token or address, 429 rate limit or credits used up (with Retry-After). See Errors.

More trades & candles endpoints

Get your free Crius API key

Every example on this page works with a free key: higher rate limits than the anonymous plan, holders, wallets and the WebSocket stream. No card needed.

  • Robinhood Chain (4663) only, from our own archive nodes
  • REST + WebSocket
  • Pay on-chain or by card