Subscribes/Unsubscribes to market options Open Interests data.
Once you're connected to this subscription: wss://ws.amberdata.com/options, 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:options:open_interests", { "instrument": "ETH-17DEC21-4100-C", "exchange": "deribit" } ]
}
Param | Type | Description |
---|---|---|
instrument | string | The asset instrument. (OPTIONAL) |
exchange | string | The exchange for which to retrieve asset instruments. (OPTIONAL) |
Response
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "4ce0d4c7-905a-44c0-ba96-121992670f13",
"result": {
"instrument": "BTC-12APR24-71000-C",
"exchange": "deribit",
"timestamp": 1711571535660,
"value": 293.2
}
}
}
Field | Type | Description |
---|---|---|
exchange | string | The exchange name. |
instrument | string | The instrument name. |
timestamp | number | The timestamp associated with this record in UTC. |
value | number | The total open interest for the specified instrument. |
Example
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:'<api_key>'}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:open_interests'],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});