market:spot:order:events [ENT]

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));
});