Subscribes/Unsubscribes to market order book event data. Events can either be per pair or general exchange level.
Make sure you're connected. Either the pair or exchange have to be specified - one needs to be specified, but both cannot be empty.
Note that there is a dedicated URL for this subscription: wss://ws.web3api.io/spot.
Request
All exchanges:
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:order:events",{"pair":"btc_usd"}]}
Specific exchange:
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:order:events",{"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
"result": [
[
"gdax", <- exchange
"btc_usd", <- pair
1554255211066, <- timestamp
849121, <- timestampNanoseconds
4935.73, <- price
2.1, <- volume
true <- isBid
1124155158<- sequence
]
]
Field | Type | Description |
---|---|---|
exchange | string | The exchange. |
pair | string | The pair |
timestamp | number | The time at which the order book event took place. |
timestampNanoseconds | number | The nano second part of the timestampMilliseconds , where applicable. |
price | number | The quote price of the asset pair. |
volume | number | The number of assets traded in a specific asset pair within a given period of time. |
isBid | bool | Indicates if it is a bid or ask order: true for a bid and false for an ask. |
sequence | number | The sequence |
Example
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.web3api.io/spot', {headers: {'x-api-key':'<api_key>'}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ["market:spot:order:events", {"pair": "btc_usd", "exchange": "gdax"}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});