Appearance
candles
OHLCV for a token at intervals from one second to one minute, built from the same trades that token_trades delivers.
No history
Candles are built from the moment you subscribe. There is no history and no backfill.
Subscribe
Requires a mint. Interval and live-update behaviour are parameters, not filters.
json
{
"op": "subscribe",
"stream": "candles",
"params": {
"mint": "8Wq…kR2p",
"interval": "15s",
"priceCurrency": "usd",
"detail": "full",
"liveUpdates": true
},
"id": 1
}Parameters
| Param | Type | Description |
|---|---|---|
mint | string | Required. Token mint. |
interval | string | Required. 1s, 15s, 30s, or 1m. |
priceCurrency | string | usd (default) or sol; one currency per subscription. |
liveUpdates | boolean | true by default; set false for closed bars only. |
detail | basic / full | Payload level; basic by default. |
Filters and every candle interval are available on all plans, including Free.
Event
json
{
"op": "event",
"sub": "cd_3a77",
"stream": "candles",
"cursor": "330112270:1:0",
"data": {
"interval": "15s",
"priceCurrency": "usd",
"openTime": 1785482160,
"open": 0.00001218,
"high": 0.00001218,
"low": 0.00001176,
"close": 0.00001182,
"volumeToken": 89760695.84,
"volumeUsd": 1093.29,
"volumeSol": null,
"trades": 37,
"buys": 24,
"sells": 13,
"closed": true
}
}Candles are aggregates, so their data does not contain the common transaction envelope.
Basic fields
| Field | Type | Notes |
|---|---|---|
interval | string | Subscription interval |
priceCurrency | usd | sol | Currency selected by the subscription |
openTime | number | Bar start as Unix seconds |
open, high, low, close | number | OHLC in the selected currency |
volumeToken | number | Token volume |
closed | boolean | true on the final bar for the interval |
Full fields
| Field | Type | Notes |
|---|---|---|
volumeUsd | number | null | Present for priceCurrency: "usd" |
volumeSol | number | null | Present for priceCurrency: "sol" |
trades | number | Trade count |
buys | number | Buy count |
sells | number | Sell count |
With liveUpdates: true, an open bar is emitted once per second. A 1s bar closes every second and has no separate live updates. Events are emitted only for intervals that contain trades.