Subscribes/Unsubscribes to market futures Trades data.
Once you're connected to this subscription: wss://ws.amberdata.com/futures, you must provide either the instrument or exchange - one needs to be specified, both cannot be empty.
Request
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:trades", { "instrument": "XRPUSDT", "exchange": "binance" } ]
}
Param | Type | Description |
---|---|---|
instrument | string | The asset instrument. |
exchange | string | The exchange for which to retrieve asset instruments. |
Response
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "1e235200-b099-457c-956d-e981605ab105",
"result": {
"exchange": "binance",
"instrument": "XRPUSDT",
"exchangeTimestamp": 1711571031275,
"exchangeTimestampNanoseconds": 0,
"isBuySide": false,
"quoteSize": null,
"price": 0.6159,
"size": 211.4,
"tradeId": "1443425767"
}
}
}
Field | Type | Description |
---|---|---|
exchange | string | The exchange name. |
instrument | string | The instrument name. |
exchangeTimestamp | number | The timestamp at which the event was recorded by the exchange. |
exchangeTimestampNanoseconds | number | The nanosecond timestamp at which the event was recorded by the exchange. |
isBuySide | boolean | A boolean value indicating the direction of the trade from the perspective of the initiator. |
quoteSize | number | The total amount of the quote asset of the instrument that was traded. |
price | number | The price at which the futures contract was traded. |
size | number | The quantity of the contract that was traded. |
tradeId | string | A unique identifier for this specific trade. |
Example
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:'<api_key>'}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:trades', {'instrument': 'XRPUSDT', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});