Skip to main content
GET
GET /v1/pool/ohlcv · 5 credits Historical OHLCV for one market, addressed by pool. Same engine, intervals (1s to 1M) and candle shape as /v1/token/ohlcv - the difference is scope: this endpoint charts exactly one pool, with no curve stitching or multi-pool aggregation. A page of /v1/pool/ohlcv is byte-identical to /v1/token/ohlcv?pools=<this pool>. Each candle carries volume (traded value on the quote side, native asset or USD with quote=usd), volumeToken (traded amount in units of the token, never converted) and trades (number of swaps executed against the market in the bucket; a transaction that swaps twice counts twice, like its volume).
An unknown pool returns 404 (never a silently-empty 200). The time axis is dense by default (flat zero-volume candles where the pool did not trade), so a dormant pool is carried forward at its last close; pass fill=false to get its last traded candles instead. meta.nextEndTime, when present, is the next endTime to page a very deep scan and always points at real history; otherwise page with oldestTime - 1 (meta.oldestTime and meta.newestTime are null on an empty page). Every candle opens at the close of the previous traded candle, the first candle of a page included, so paging backwards yields one continuous series (exact in the native series; with quote=usd each candle is converted at its own window’s SOL/USD rate, so consecutive USD opens step by the rate’s move between windows). endTime and from are unix seconds; a value in milliseconds is accepted too and normalized (candle time is always seconds). Up to 2000 candles per page. 1w candles are epoch-aligned weeks (Thursday to Thursday, UTC) and 1M candles are calendar months (UTC); 7d and 30d are accepted aliases.

Authorizations

Authorization
string
header
required

Your raw API key (not needed on the demo server).

Query Parameters

chain
string
required

Public chain id - evm:<id> or solana.

address
string
required

Pool / pair address (the stable market id on its chain - Uniswap V4 poolIds supported).

interval
string
default:5m
required

1s|5s|15s|30s|1m|3m|5m|15m|30m|1h|2h|4h|6h|12h|1d|1w|1M (default 5m). 1w buckets are epoch-aligned weeks (Thursday 00:00 UTC to Thursday); 1M buckets are calendar months (UTC). 7d and 30d are accepted aliases; meta.interval echoes the canonical key.

limit
integer
default:200

Candles per page, 1-2000 (default 200). Honoured whenever the history allows it, however quiet the token is.

Required range: 1 <= x <= 2000
endTime
integer

Unix seconds, inclusive upper bound (pagination: prev oldestTime - 1); a millisecond value is accepted and normalized. At most 1 day ahead.

Required range: x >= 0
from
integer

Unix seconds, inclusive lower bound (scans stop there); a millisecond value is accepted and normalized.

Required range: x >= 0
quote
default:native

usd serves the candle as it traded in dollars, every swap at the SOL/USD rate of its own minute (available on Solana); volume follows the quote, volumeToken never does

Available options:
native
fill
boolean
default:true

Dense time axis (default true): a flat zero-volume candle for every bucket without a trade. false returns traded buckets only.

Response

200

Standard { data, meta } envelope.