market:spot:order:events

Subscribes/Unsubscribes to market order book event data. Events can either be per pair or general exchange level.

Once you're connected to this subscription: wss://ws.amberdata.com/spot, every subscription message must include an explicit pair. This is mandatory across all market types.

  • You must always specify the pair.
  • For Futures and Options, you must also include the exchange field.
  • For Spot, specifying just the pair (without the exchange) is allowed — this will return data across all exchanges that support that instrument.

See here for more details and examples.

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

{
    "jsonrpc": "2.0",
    "method": "subscription",
    "params": {
        "subscription": "0f46d7af-3c49-4f2d-8e20-711efb9dc49a",
        "result": [
            [
                "gdax",
                "btc_usd",
                1711570660806,
                782000,
                68894.26,
                0.01136045,
                false,
                480582155806700
            ]
        ]
    }
}
FieldTypeDescription
exchangestringThe exchange name.
pairstringThe pair name.
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.
sequencenumberA unique identifier for the order book event.

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:events",  {"pair": "btc_usd", "exchange": "gdax"}],
      id: 1,
    }));
});

ws.on('message', data => {
  console.log(JSON.stringify(JSON.parse(data), null, 2));
});