Skip to main content

Candlestick WebSocket

Streams 1-minute candles for a symbol when trades happen on it. Pushes are delivered roughly once per minute, at the close of each candle.

Event nameFETCH_CANDLESTICK_CS_PRO
ConnectionSee Connection for handshake and namespace details.

Subscribe

import socketio

sio = socketio.Client()

BASE_URL = "wss://ws.coinswitch.co/"
NAMESPACE = "/coinswitchx"
pair = "BTC,INR"

sio.connect(
url=BASE_URL,
namespaces=[NAMESPACE],
transports="websocket",
socketio_path="/pro/realtime-rates-socket/spot",
wait=True,
wait_timeout=3600,
)

sio.emit(
"FETCH_CANDLESTICK_CS_PRO",
{"event": "subscribe", "pair": pair},
namespace=NAMESPACE,
)

@sio.on("FETCH_CANDLESTICK_CS_PRO", namespace=NAMESPACE)
def on_candle(data):
print("Candle:", data)

sio.wait()

Update payload

{
"o": "19.000000000000",
"h": "19.000000000000",
"l": "19.000000000000",
"c": "19.000000000000",
"volume": "470.300000000000",
"end_time": "1699423980000",
"symbol": "BAT,INR",
"interval": "1"
}
FieldTypeDescription
ostringOpen price.
hstringHigh price.
lstringLow price.
cstringClose price.
volumestringTrade volume in base asset over the candle period.
symbolstringSymbol in BASE,QUOTE form.
intervalstringCandle duration in minutes. WebSocket only emits "1".
end_timestringCandle close (Unix milliseconds).

For arbitrary intervals or historical ranges, use REST Candles.