market:spot:order:snapshots

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"}]}
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": "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
          }
      ]
  }
}
FieldTypeDescription
exchangestringThe exchange name.
instrumentstringThe pair name.
timestampnumberThe time at which the order book snapshot took place.
exchangeTimestampnumberThe timestamp from the exchange.
isBidboolIndicates if it is a bid or ask order: true for a bid and false for an ask.
data.pricenumberThe quote price of the asset pair.
data.volumenumberThe number of assets traded in a specific asset pair within a given period of time.
data.numOrdersnumberThe number of orders aggregated at this price level.
sequencestringA 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));
});