Subscribes/Unsubscribes to market order book snapshot data.
Once you're connected to this subscription: wss://ws.amberdata.com/spot, you must provide either the instrument or exchange - one needs to be specified, both cannot be empty.
Request
All exchanges:
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:order:snapshots",{"pair":"btc_usd"}]}
Specific exchange:
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:order:snapshots",{"pair":"btc_usd","exchange":"gdax"}]}
Param | Type | Description |
---|---|---|
pair* | string | The asset pair. |
exchange | string | The exchange for which to retrieve asset pairs. |
*required
Note: Subscription response will include a field metadata
which includes the names of the columns in the order in which they appeared in the event notification response.
Response
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "b6491c56-3660-47f3-896c-0890a551d42c",
"result": [
{
"exchange": "gdax",
"instrument": "btc_usd",
"timestamp": 1711570680000,
"exchangeTimestamp": 1711570680436,
"isBid": false,
"data": [
[
68886.37,
0.02257637,
1
],
[
68886.85,
0.01000001,
1
],
[
68887.58,
0.04482475,
1
]
],
"sequence": 76615491457
}
]
}
}
Field | Type | Description |
---|---|---|
exchange | string | The exchange name. |
instrument | string | The pair name. |
timestamp | number | The time at which the order book snapshot took place. |
exchangeTimestamp | number | The timestamp from the exchange. |
isBid | bool | Indicates if it is a bid or ask order: true for a bid and false for an ask. |
data.price | number | The quote price of the asset pair. |
data.volume | number | The number of assets traded in a specific asset pair within a given period of time. |
data.numOrders | number | The number of orders aggregated at this price level. |
sequence | string | A unique identifier associated with this snapshot. |
Example
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/spot', {headers: {'x-api-key':'<api_key>'}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ["market:spot:order:snapshots", {"pair": "btc_usd", "exchange": "gdax"}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});