market:spot:order:events

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/order_book_events.

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"}]}
ParamTypeDescription
pair*stringThe asset pair.
exchangestringThe 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
  ]
]
FieldTypeDescription
exchangestringThe exchange.
pairstringThe pair
timestampnumberThe time at which the order book event took place.
timestampNanosecondsnumberThe nano second part of the timestampMilliseconds, where applicable.
pricenumberThe quote price of the asset pair.
volumenumberThe number of assets traded in a specific asset pair within a given period of time.
isBidboolIndicates if it is a bid or ask order: true for a bid and false for an ask.
sequencenumberThe sequence

Example

const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.web3api.io/spot/order_book_events', {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));
});