Skip to main content

candles

publicchannel: candleswss://api.staging.sphx.io/v1/ws

Live OHLCV bars per (instrument, resolution). update replaces the in-flight bar; closed finalizes it. Snapshot history first via GET /v1/instruments/{id}/candles.

Subscribe params: instrument_id and resolution (both required; resolutions: 1m, 5m, 15m, 1h, 1d).

Subscribe

{ "op": "subscribe", "channel": "candles", "params": { "instrument_id": 1000, "resolution": "5m" }
ParamTypeRequiredNotes
instrument_idinteger · int64The instrument to stream
resolution1m · 5m · 15m · 1h · 1dBar resolution

Events

update

The in-flight bar changed; replace your copy of the matching t.

FieldTypeRequiredDescription
instrument_idinteger · int64
resolution1m · 5m · 15m · 1h · 1d
barobject
bar.tinteger · int64Bar window start, Unix seconds.
bar.ointeger
bar.hinteger
bar.linteger
bar.cinteger
bar.vinteger · int64
bar.closedbooleanPresent (true) only on closed events.
Example frame
{
"channel": "candles",
"event": "update",
"data": {
"instrument_id": 1000,
"resolution": "5m",
"bar": {
"t": 1779100600,
"o": 3910,
"h": 3910,
"l": 3905,
"c": 3905,
"v": 30
}
}
}

closed

The bar window elapsed; values are final.

FieldTypeRequiredDescription
instrument_idinteger · int64
resolution1m · 5m · 15m · 1h · 1d
barobject
bar.tinteger · int64Bar window start, Unix seconds.
bar.ointeger
bar.hinteger
bar.linteger
bar.cinteger
bar.vinteger · int64
bar.closedbooleanPresent (true) only on closed events.
Example frame
{
"channel": "candles",
"event": "closed",
"data": {
"instrument_id": 1000,
"resolution": "5m",
"bar": {
"t": 1779100600,
"o": 3910,
"h": 3910,
"l": 3905,
"c": 3910,
"v": 75,
"closed": true
}
}
}