OSS L1 Snapshot
wss://ws.btse.com/ws/oss/spotTestnetwss://testws.btse.io/ws/oss/spotSubscribe to the best bid / best ask (Level 1) for a market.
Topic format: snapshotL1:<symbol> (e.g. snapshotL1:BTC-USD)
Each message is a full snapshot of the current best bid / best ask. The bids and asks arrays
each contain a single [price, size] tuple representing the top of book, and the type field
is always snapshotL1.
Bids and asks are sent in price and size tuples as strings to preserve precision;
clients should parse them with a high-precision type (e.g. BigDecimal, decimal.js)
before performing arithmetic.
Because every push is a full snapshot, clients can simply overwrite the local copy on each message β there is no sequence number, and no delta merging is required. If the connection drops, re-subscribe to the topic to resume receiving updates.
Response Contentβ
| Name | Type | Required | Description |
|---|---|---|---|
| topic | String | Yes | WebSocket topic |
| data | Object | Yes | Data object |
Data Object:
| Name | Type | Required | Description |
|---|---|---|---|
| bids | String[][] | Yes | Best bid [price, size] |
| asks | String[][] | Yes | Best ask [price, size] |
| symbol | String | Yes | Market symbol |
| type | String | Yes | Always snapshotL1 |
| timestamp | Long | Yes | Orderbook timestamp (ms) |
Request
{
"op": "subscribe",
"args": [
"snapshotL1:BTC-USD"
]
}
Request
{
"op": "unsubscribe",
"args": [
"snapshotL1:BTC-USD"
]
}
Response
{
"topic": "snapshotL1:BTC-USD",
"data": {
"bids": [
[
"28016.7",
"1.48063"
]
],
"asks": [
[
"28033.6",
"1.34133"
]
],
"type": "snapshotL1",
"symbol": "BTC-USD",
"timestamp": 1680750154232
}
}