market:spot:trades

Subscribes/Unsubscribes to market trade data.

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

{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:trades",{"pair":"btc_usd","exchange":"gdax"}]}
ParamTypeDescription
pairstringThe asset pair.
exchangestringThe exchange for which to retrieve asset pairs.

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": "6ad60ce3-0738-452e-a6e9-6ce73b61e90d",
        "result": [
            [
                "gdax",
                "btc_usd",
                1712238290888,
                589000,
                "626365469",
                67431.41,
                0.10287182,
                false
            ]
        ]
    }
}
FieldTypeDescription
exchangestringThe exchange.
pairstringThe normalized pair name.
timestampnumberThe time at which the trade took place.
timestampNanosecondsnumberThe nano second part of the timestampMilliseconds, where applicable.
tradeIdstringThe unique id given by an exchange.
pricenumberThe quote price of the asset pair.
volumenumberThe number of assets traded in a specific asset pair within a given period of time.
isBuyboolIndicates if it is a buy or sell trade: true for a buy trade and false for a sell.

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

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