Skip to main content
POST
POST /v1/pool/ohlcv · 5 per item credits Batch twin of Market Candles: the candles of up to 10 markets in one call, chains mixable. interval, limit, quote and fill are shared by the lot; endTime and from are per market. Each slot is the body of the GET (data plus count, oldestTime, newestTime, hasMore, nextEndTime, pools), or { "error": { "code", "message" } } for that market alone (NOT_FOUND for an unknown pool, INVALID_PARAM for a malformed address or quote=usd outside Solana). A slot is byte-identical to the GET of the same market with the same options.

Authorizations

Authorization
string
header
required

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

Body

application/json
items
object[]
required

1 to 10 of {chain, address, endTime?, from?}: address is the pool / pair address (Uniswap V4 poolIds supported); endTime / from are unix seconds (a millisecond value is accepted and normalized), per item, so each series paginates on its own.

Required array length: 1 - 10 elements
Example:
interval
string
default:5m
required

Shared by the lot: 1s|5s|15s|30s|1m|3m|5m|15m|30m|1h|2h|4h|6h|12h|1d|1w|1M (default 5m). 7d and 30d are accepted as aliases of 1w and 1M; meta.interval echoes the canonical key. An unknown interval is refused with 400 for the whole call.

Example:

"1h"

limit
integer
default:200

Candles per item, 1-2000 (default 200), shared by the lot.

Required range: 1 <= x <= 2000
Example:

2

quote
default:native

native (default) or usd (Solana), shared by the lot but judged per item: an item on a chain without USD history gets its own { error } slot, the others are served.

Available options:
native
Example:

"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. Shared by the lot.

Example:

true

Response

200

Standard { data, meta } envelope.