Skip to content

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

ParamTypeDescription
mintstringRequired. Token mint.
intervalstringRequired. 1s, 15s, 30s, or 1m.
priceCurrencystringusd (default) or sol; one currency per subscription.
liveUpdatesbooleantrue by default; set false for closed bars only.
detailbasic / fullPayload 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

FieldTypeNotes
intervalstringSubscription interval
priceCurrencyusd | solCurrency selected by the subscription
openTimenumberBar start as Unix seconds
open, high, low, closenumberOHLC in the selected currency
volumeTokennumberToken volume
closedbooleantrue on the final bar for the interval

Full fields

FieldTypeNotes
volumeUsdnumber | nullPresent for priceCurrency: "usd"
volumeSolnumber | nullPresent for priceCurrency: "sol"
tradesnumberTrade count
buysnumberBuy count
sellsnumberSell 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.

Realtime Solana data API