VERSION 1.9 (see Revision History)
1. Hosts
Environment | REST | WS | WebApp |
---|---|---|---|
DEV |
wss://api.wss.dev.power.trade/ |
||
TEST |
wss://api.wss.test.power.trade/ |
||
PROD |
wss://api.wss.prod.power.trade/ |
2. Introduction
Market Data Feeds API is based on WebSocket API’s Market Data interface but has several important simplifications:
-
Session Control Protocol is eliminated in Feeds, so clients don’t need to implement it;
-
Feeds provide snapshots of order books and price books (listed in Feeds Additional Messages), so clients don’t need to build books from incremental updates (no need to implement the algorythms of chapter Order Book Handling);
-
Feeds provide additional
rte_*
messages (listed in Feeds Additional Messages) - the simplified editions of original Market Data messages where monetary values are added as new fields, so clients don’t need to convert to decimal monetary values (no need to implement conversions described in chapter Monetary Values), please see the Note; -
Feeds allow clients
to filter
market data by product types, symbols and message types.
So the main concept of Market Data Feeds is to support a simpler handling of Market Data on client side.
Thanks to mentioned above simplifications, clients can connect their WebSocket applications to desirable sub-streams of Market Data using connection parameters (filters
) added to the API URL. Incremental subscription to new types of market data is also supported without reconnection (see Feeds control messages: subscribe, unsubscribe).
Please find various How-tos in the next chapters.
2.1. API URLs
Service | Message set | URI in Production | Is authentication required? |
---|---|---|---|
BASE_URL |
|
no |
|
reference data, subset of Market Data Feeds Messages |
|
no |
|
or
|
no |
||
|
no |
Service | URI in Sandbox |
---|---|
Market Data Feeds |
|
2.2. Connection parameters
Field | Type | Mandatory | Description |
---|---|---|---|
|
string |
No |
The type of markets to return data for. Please see tradeable_type[] supported values To exclude a certain type, use |
|
string |
No |
Allow clients to specify messages types to return. See below for supported types. Defaults to all messages. Please see type[] supported values To exclude a certain type, use examples: to include |
|
string |
No |
Allow clients to specify markets to return. See below for supported types. Defaults to all markets. Please see market_id[] supported values |
|
number |
No |
Maximal depth (number of price levels) of each book side. Default value is 25 levels per side. |
|
number with optional units character |
No |
Price book snapshot update period. Please see Table of units characters for the details |
|
number with optional units character |
No |
Order book snapshot update period. Please see Table of units characters for the details |
|
timestamp |
No |
To receive Reference Data with age less than this timestamp. Normally equal to the last |
|
flag |
No |
To pack multiple JSON messages into a single JSON-object as an array of original messages: |
DEPRECATED |
flag |
No |
Only publish risk_snapshot data. Defaults to Deprecated, use the following connection parameters instead:
|
DEPRECATED |
flag |
No |
Only publish multi-leg data. Defaults to Deprecated, use the following connection parameters instead:
|
Please note the default connection parameters used when corresponding values are omitted:
?type[]=all,subscriptions_status&mbp_period=1&mbo_period=1&snapshot_depth=25
Value | Description |
---|---|
|
Index entities |
|
Option entities |
|
Perpetual entities |
|
Future entities |
|
Spot entities |
|
Multi-leg entities |
Value | Description |
---|---|
|
treadable market - where firm (executable) orders are placed; |
|
indicative market - where indicative orders are placed |
Units character | Description |
---|---|
no character |
period is given in number of book events/updates examples:
|
|
period is given in |
|
period is given in |
Please see usage examples in sample requests below.
2.3. Reference Data
Returns Reference Data and tradeable entity symbols, which can be used to subscribe to specific market feeds.
// PROD
websocat wss://api.wss.prod.power.trade/v1/feeds/reference_data
wscat -c wss://api.wss.prod.power.trade/v1/feeds/reference_data
// TEST
websocat wss://api.wss.test.power.trade/v1/feeds/reference_data
wscat -c wss://api.wss.test.power.trade/v1/feeds/reference_data
2.4. Per Symbol Channels
Per symbol channels that allows you subscribe to all market data. You can optionally subscribe to a single market based on the symbol
or tradeable_entity_id
URl slug. You can obtain this information from the reference data above.
When passing a symbol, the API supports instrument prefixes. This means you can pass BTC
, BTC-202206
, BTC-20220624
, BTC-20220624-30000
, or BTC-20220624-30000C
to receive the relevant spot, future, and option markets.
Feeds accepts connection parameters that allow clients to request specific messages and exclude others. Additionally, you can request order book and price book snapshots and obviate the need to construct order books from the display_order_*
messages.
// simple examples:
wscat -c 'wss://api.wss.test.power.trade/v1/feeds/?tradeable_type[]=index'
wscat -c 'wss://api.wss.test.power.trade/v1/feeds/?type[]=all_multi_leg&mbp_period=1s&mbo_period=0&multi_leg_only'
// example of including and excluding type[] parameters in the same connection request:
wscat -c 'wss://api.wss.test.power.trade/v1/feeds/ETH-USD-INDEX?type[]=all&type[]=^tradeable_entity&mbp_period=0&mbo_period=0'
Connected (press CTRL+C to quit)
< {"cycle_starting":{"cycle_id":"1657860000000078000","previous_cycle_id":"1657859400000049000"}}
< {"trading_state":{"timestamp":"1657860511242157000","tradeable_entity_id":"2","market_id":"0","suspension_status":"active","expiry_status":"active"}}
< {"reference_price":{"timestamp":"1657860511242157000","tradeable_entity_id":"2","market_id":"0","price":"11980800000000","price_type":"reference"}}
< {"cycle_started":{"cycle_id":"1657860000000078000","previous_cycle_id":"1657859400000049000"}}
Please note the need to use quotes ''
(or ""
) for URL strings with complex parameters as shown above.
Also please note that values of type[]
to include and exclude should be passed with separate type[]
:
'wss://api.wss.test.power.trade/v1/feeds/ETH-USD-INDEX?type[]=all&type[]=^tradeable_entity&mbp_period=0&mbo_period=0'
so in the example above 2 values of type[]
were passed:
-
to include
all
messages:type[]=all
-
to exclude
tradeable_entity
messages:type[]=^tradeable_entity
The values of type[]
to only include (or only exclude) can be passed as comma-separated values with single type[]
:
'wss://api.wss.test.power.trade/v1/feeds/ETH-USD-INDEX?type[]=tradeable_entity,reference_price'
or with separate type[]
:
'wss://api.wss.test.power.trade/v1/feeds/ETH-USD-INDEX?type[]=tradeable_entity&type[]=reference_price'
2.5. Start with zero subscriptions
Connect to market data feeds starting with zero subscriptions and use subscribe request to build list of subscriptions:
wscat -c 'wss://api.wss.test.power.trade/v1/feeds/market_data'
Connected (press CTRL+C to quit)
< {"cycle_starting":{"cycle_id":"1657861800000061000","previous_cycle_id":"1657861200000521000"}}
< {"cycle_started":{"cycle_id":"1657861800000061000","previous_cycle_id":"1657861200000521000"}}
> {"subscribe":{"tradeable_entity_id":"5"}}
< {"subscribed":{"tradeable_entity_id":"5","symbol":"ETH-USD"}}
< {"tradeable_entity":{"tradeable_entity_id":"5","symbol":"ETH-USD","tags":["spot"],"price_deliverable_id":"2","price_decimal_places":"4","quantity_deliverable_id":"4","quantity_decimal_places":"6","buy_trading_limit_deliverable_id":"2","sell_trading_limit_deliverable_id":"4","tradeability":"tradeable","details":{"simple_market":{"market_id":"0","settlement_event":{"datetime":{"date":{"year":"none","month":"none","day":"none"},"time":{"hours":"none","minutes":"none","seconds":"none","nanoseconds":"none"}},"timezone":"UTC"}}}}}
< {"trading_rule":{"tradeable_entity_id":"5","market_id":"0","minimum_price":"100","maximum_price":"1000000000","price_step":"100","minimum_quantity":"1000","maximum_quantity":"1000000000","quantity_step":"1000","minimum_value":"100000","maximum_value":"1000000000000000000"}}
< {"trading_state":{"timestamp":"1657862061657584000","tradeable_entity_id":"5","market_id":"0","suspension_status":"active","expiry_status":"active"}}
< {"reference_price":{"timestamp":"1657862061657584000","tradeable_entity_id":"5","market_id":"0","price":"16834900","price_type":"reference"}}
< {"top_of_book":{"timestamp":"1657862061657584000","tradeable_entity_id":"5","market_id":"0","buy_price":"16828200","buy_quantity":"3000","sell_price":"16936300","sell_quantity":"3000"}}
< {"display_order_added":{"timestamp":"1657809306625318000","tradeable_entity_id":"5","market_id":"0","side":"buy","display_order_id":"7134906","display_price":"16828200","display_quantity":"3000"}}
< {"display_order_added":{"timestamp":"1657809306624064000","tradeable_entity_id":"5","market_id":"0","side":"buy","display_order_id":"7134905","display_price":"16821400","display_quantity":"1000"}}
...
Please note the need to use quotes ''
(or ""
) for URL strings with complex parameters as shown above.
2.6. Usage of since_timestamp and join_json
// connection with since_timestamp:
wscat -c 'wss//api.wss.dev.power.trade/v1/feeds/reference_data?since_timestamp=1660026679016175000'
< {"subscriptions_in_progress":{"timestamp":"1660026698066802000","since_timestamp":"1660026679016175000","n_subscribed_tradeable_entities":"0","n_total_tradeable_entities":"1268","n_total_multi_leg_tradeable_entities":"2"}}
< {"cycle_starting":{"cycle_id":"1660026600001459000","previous_cycle_id":"1660026000000043000"}}
< {"cycle_started":{"cycle_id":"1660026600001459000","previous_cycle_id":"1660026000000043000"}}
< {"subscriptions_status":{"timestamp":"1660026698066802000","n_subscribed_tradeable_entities":"0","n_total_tradeable_entities":"1268","n_total_multi_leg_tradeable_entities":"2"}}
// connection with since_timestamp and join_json together:
wscat -c 'wss://api.wss.dev.power.trade/v1/feeds/reference_data?since_timestamp=1660027288121670000&join_json'
< {"subscriptions_in_progress":{"timestamp":"1660027440678049000","since_timestamp":"1660027288121670000","n_subscribed_tradeable_entities":"0","n_total_tradeable_entities":"1268","n_total_multi_leg_tradeable_entities":"2"}}
< {"join_json":[{"cycle_starting":{"cycle_id":"1660127400000113000","previous_cycle_id":"1660126800000136000"}},{"cycle_started":{"cycle_id":"1660127400000113000","previous_cycle_id":"1660126800000136000"}},{"subscriptions_status":{"timestamp":"1660127945894210000","n_subscribed_tradeable_entities":"0","n_total_tradeable_entities":"1268","n_total_multi_leg_tradeable_entities":"2"}}]}
...
Please note the need to use quotes ''
(or ""
) for URL strings with complex parameters as shown above.
3. Message Reference Book
3.1. Message Sets
This section describes the following message sets:
-
Feeds Additional Messages: messages, requests and responses;
-
Market Data Messages: messages of WebSocket API’s Market Data interface;
3.1.1. Feeds Additional Messages
This message set includes the following requests and responses:
Name | Description |
---|---|
Last trade price information. It is extended version of last_trade_price message. |
|
Notification that a new trade was generated. It is extended version of trade message. |
|
A trading rule that determines order and trade validation. It is extended version of trading_rule message. |
|
Option risk metrics snapshot. |
|
Order book snapshot. Controlled by snapshot period |
|
Price book snapshot. Controlled by snapshot period |
|
Multi-leg order book snapshot. Controlled by snapshot period |
|
Multi-leg price book snapshot. Controlled by snapshot period |
|
Notification that all Reference Data (including reference prices related to treadable entities) for all treadebale entities was provided by the API. Useful when a client connects to the API and needs to start proper interpetation of corresponding market data with minimal possible delay, so such marker in the stream can be used. |
|
Notification with the details about the Reference Data for ongoing subscriptions |
|
Request to subscribe to additional market data (without reconnection). |
|
Response of subscribe command or a notification about a new treadable entity listing. |
|
Response about an error of subscribe command. |
|
Request to unsubscribe from additional market data (without reconnection). |
|
Response of unsubscribe command or a notification about treadable entity de-listing. |
|
Response about an error of unsubscribe command. |
Note:
If a response message is prefixed with rte_
, then the original message was enhanced or enriched with useful fields. For example, rte_trade will include symbol and decimalized values that can be consumed by client programs without scaling/unscaling integers with decimal place values from the reference data.
3.1.2. Market Data Messages
This message set includes the following messages:
Name | Description |
---|---|
Indicates a new cycle is starting. |
|
Indicates a new cycle has started. |
|
Indicates that the current cycle is ending soon. |
|
Indicates that the current cycle has ended. |
|
Reference data for a single spot deliverable. |
|
Reference data for a single future deliverable. |
|
Reference data for a single option deliverable. |
|
Reference data for an exchange token deliverable. |
|
Reference data for a stable token deliverable. |
|
Reference data for a fiat currency deliverable. |
|
Reference data for an exchange trading limit deliverable. |
|
Reference data for a perpetual future deliverable. |
|
Reference data for an index deliverable. |
|
Reference data for an aliased deliverable. |
|
Reference data for a tradeable entity that is traded using a simple, single market. |
|
Reference data for a tradeable entity that is traded using multiple markets. |
|
A trading rule that determines order and trade validation. |
|
Notification of an update to system time. |
|
Notification that a new display order was added. |
|
Notification that an existing display order was deleted. |
|
Notification that an existing display order executed. |
|
Notification that an existing display order was updated. |
|
Notification that a new multi-leg display order was added. |
|
Notification that an existing multi-leg display order was deleted. |
|
Notification that an existing multi-leg display order executed. |
|
Notification that an existing multi-leg display order was updated. |
|
Notification of a change in the best bid and offer. |
|
Notification that a new trade was generated. |
|
Last trade price information. |
|
Notification of a reference price update. |
|
Notification of a settlement price update. |
|
Reflects the current state of trading in the tradeable entity and market. |
|
Notification of a funding rate update. |
3.2. Messages
3.2.1. rte_trade
Notification that a new trade was generated.
A trade generated for the specified tradeable entity.
This message extends trade messages and defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the trade was generated. |
|
|
string |
Symbol of the tradeable entity. |
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the trade. |
|
|
The unique identifier for the trade. |
|
|
string |
The price of the trade already properly converted into decimal format. The decimal part is padded to the number of decimal places determined by the tradeable entity. |
|
Specifies how the price of the trade was determined. |
|
|
string |
The quantity of the trade in contract units, already properly converted into decimal format. The decimal part is padded to the number of decimal places determined by the tradeable entity. |
|
string |
The quantity of the trade in units of underlying entity, already properly converted into decimal format. The decimal part is padded to the number of decimal places determined by the tradeable entity. |
|
The unique, exchange-assigned identifier of the display order on the buy side of the trade. |
|
|
The unique, exchange-assigned identifier of the display order on the sell side of the trade. |
Note: fields marked by *
are missing or have different values in trade messages.
{
"rte_trade":{
"timestamp":"1618427227000000000",
"symbol": "SOL-USD",
"tradeable_entity_id":"7777",
"market_id":"0",
"trade_id":"1234567",
"price":"33.7950",
"price_type":"passive",
"quantity":"0.060000",
"quantity_in_underlying": "0.060000",
"buy_display_order_id":"777",
"sell_display_order_id":"777"
}
}
3.2.2. rte_last_trade_price
The last trade price information for obtaining initial state of corresponding market.
This message is sent only once (per market) in the following moments:
-
on new connection with enabled subscription;
-
on successful subscription per user’s request;
This message extends last_trade_price messages and defines the following fields:
Name | Type | Description |
---|---|---|
|
Timestamp of the corresponding trade. |
|
|
string |
Symbol of the tradeable entity. |
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the trade. |
|
|
string |
The price value already properly converted into decimal format. |
|
Specifies how the price of the trade was determined. |
{
"rte_last_trade_price":{
"timestamp":"1618427227000000000",
"symbol": "SOL-USD",
"tradeable_entity_id":"7777",
"market_id":"0",
"price":"33.7950",
"price_type":"passive"
}
}
3.2.3. rte_trading_rule
A trading rule that determines order and trade validation.
Contains rules used to determine order and trade validity.
This message is based on trading_rule message, but has properly converted into decimal format fields:
Name | Type | Description |
---|---|---|
|
string |
Symbol of the tradeable entity. |
|
The tradeable entity to which the rule applies. If none, applies to all tradeable entities. |
|
|
The market to which the rule applies. If none, applies to all markets. |
|
|
string |
Specifies the minimum price on an order. Properly converted into decimal format. |
|
string |
Specifies the maximum price on an order. Properly converted into decimal format. |
|
string |
Specifies the valid price step for an order. Properly converted into decimal format. |
|
string |
Specifies the minimum quantity on an order. Properly converted into decimal format. |
|
string |
Specifies the maximum quantity on an order. Properly converted into decimal format. |
|
string |
Specifies the valid quantity step for an order. Properly converted into decimal format. |
|
string |
Specifies the minimum value of an order. Properly converted into decimal format. |
|
string |
Specifies the maximum value of an order. Properly converted into decimal format. |
{
"trading_rule":{
"symbol":"BTC-USD-PERPETUAL"
"tradeable_entity_id":"24",
"market_id":"1",
"minimum_price":"0.10",
"maximum_price":"1000000.00",
"price_step":"0.10",
"minimum_quantity":"0.00010000",
"maximum_quantity":"10000.00000000",
"quantity_step":"0.00010000",
"minimum_value":"25.0000000000",
"maximum_value":"10000000000.0000000000"
}
}
3.2.4. risk_snapshot
Option risk metrics snapshot.
Name | Type | Description |
---|---|---|
|
string |
Symbol of the tradeable entity |
|
string |
ID of the tradeable entity |
|
string |
|
|
string |
Timestamp of the snapshot |
|
string |
Time in years till expiration |
|
|
theoretical risk metrics, can be useful for some markets, e.g. for alt-coin options:
|
|
|
risk metrics of the actual mid price of option book:
|
|
|
risk metrics of the actual bid price of option book:
|
|
|
risk metrics of the actual ask price of option book:
|
{
"risk_snapshot":{
"symbol": "BTC-20220624-50000C",
"tradeable_entity_id": "10835",
"market_id": "0",
"timestamp": "1646786270125039009",
"time_to_expire": "0.29399618",
"theoretical": null,
"mid": {
"price": "2717.044315",
"volatility": "0.713200",
"greeks": {
"delta": "0.334122",
"vega": "77.011051",
"theta": "-26.766029",
"rho": "3013.044691",
"gamma": "0.009467"
}
},
"bid": {
"price": "2677.096478",
"volatility": "0.708900",
"greeks": {
"delta": "0.331613",
"vega": "76.753915",
"theta": "-26.454029",
"rho": "2996.165119",
"gamma": "0.009492"
}
},
"ask": {
"price": "2741.685003",
"volatility": "0.716500",
"greeks": {
"delta": "0.335436",
"vega": "77.128658",
"theta": "-26.920926",
"rho": "3020.792592",
"gamma": "0.009437"
}
}
}
}
3.2.5. ob_snapshot
Order book snapshot.
Name | Type | Description |
---|---|---|
|
string |
Timestamp of the snapshot |
|
string |
ID of the tradeable entity |
|
string |
|
|
string |
Symbol of the tradeable entity |
|
JSON Object |
Contains bid-side of order book including:
|
|
JSON Object |
Contains ask-side of order book including:
|
{
"ob_snapshot":{
"timestamp": "1657776995114801000",
"tradeable_entity_id": "7",
"market_id": "0",
"symbol": "BTC-USD",
"bids": {
"n_levels": "639",
"n_orders": "749",
"levels": [
[
["20126.00", "0.00250000", "840152484"]
],
[
["20095.00", "0.00020000", "840133530"]
],
[
["20085.00", "0.00020000", "840133529"]
],
[
["20083.00", "0.00020000", "840133527"]
],
[
["20077.00", "0.00020000", "840133528"]
]
]
},
"asks": {
"n_levels": "6112",
"n_orders": "7193",
"levels": [
[
["20221.00", "0.00020000", "840150969"],
["20221.00", "0.00030000", "840150970"]
],
[
["20225.00", "0.00250000", "840152475"]
],
[
["20228.00", "0.00020000", "840150968"]
],
[
["20238.00", "0.00020000", "840150671"]
]
]
}
}
}
3.2.6. pb_snapshot
Price book snapshot.
Name | Type | Description |
---|---|---|
|
string |
Timestamp of the snapshot |
|
string |
ID of the tradeable entity |
|
string |
|
|
string |
Symbol of the tradeable entity |
|
JSON Object |
Contains bid-side of price book including:
|
|
JSON Object |
Contains ask-side of price book including:
|
{
"pb_snapshot":{
"timestamp": "1657776995114801000",
"tradeable_entity_id": "7",
"market_id": "0",
"symbol": "BTC-USD",
"bids": {
"n_levels": "639",
"n_orders": "749",
"levels": [
["20126.00", "0.00250000"],
["20095.00", "0.00020000"],
["20085.00", "0.00020000"],
["20083.00", "0.00020000"],
["20077.00", "0.00020000"]
]
},
"asks": {
"n_levels": "6112",
"n_orders": "7193",
"levels": [
["20221.00", "0.00050000"],
["20225.00", "0.00250000"],
["20228.00", "0.00020000"],
["20238.00", "0.00020000"],
["20240.00", "0.00030000"]
]
}
}
}
3.2.7. multi_leg_ob_snapshot
Multi-leg order book snapshot.
Name | Type | Description |
---|---|---|
|
string |
Timestamp of the snapshot |
|
JSON Array of tradeable_entity_leg |
See "legs" fields of e.g. "legs" in multi_leg_display_order_added |
|
string |
|
|
string |
Sub-strings of format e.g. for 3 legs: |
|
JSON Object |
Contains bid-side of order book including:
|
|
JSON Object |
Contains ask-side of order book including:
|
{
"multi_leg_ob_snapshot":{
"timestamp": "1657778215635497000",
"legs": [{
"tradeable_entity_id": "1784",
"ratio": "1"
}, {
"tradeable_entity_id": "1800",
"ratio": "1"
}, {
"tradeable_entity_id": "1954",
"ratio": "-2"
}],
"market_id": "0",
"symbol": "BTC-20220715-21000C@1/BTC-20220715-20000C@1/BTC-20220715-20500C@-2",
"bids": {
"n_levels": "1",
"n_orders": "1",
"levels": [
[
["100.00", "0.02000000", "7133007"]
]
]
},
"asks": {
"n_levels": "1",
"n_orders": "2",
"levels": [
[
["200.00", "0.14000000", "7132997"],
["200.00", "0.12000000", "7133003"]
]
]
}
}
}
3.2.8. multi_leg_pb_snapshot
Multi-leg price book snapshot.
Name | Type | Description |
---|---|---|
|
string |
Timestamp of the snapshot |
|
JSON Array of tradeable_entity_leg |
See "legs" fields of e.g. "legs" in multi_leg_display_order_added |
|
string |
|
|
string |
Sub-strings of format e.g. for 3 legs: |
|
JSON Object |
Contains bid-side of price book including:
|
|
JSON Object |
Contains ask-side of price book including:
|
{
"multi_leg_pb_snapshot":{
"timestamp": "1657778215635497000",
"legs": [{
"tradeable_entity_id": "1784",
"ratio": "1"
}, {
"tradeable_entity_id": "1800",
"ratio": "1"
}, {
"tradeable_entity_id": "1954",
"ratio": "-2"
}],
"market_id": "0",
"symbol": "BTC-20220715-21000C@1/BTC-20220715-20000C@1/BTC-20220715-20500C@-2",
"bids": {
"n_levels": "1",
"n_orders": "1",
"levels": [
["100.00", "0.02000000"]
]
},
"asks": {
"n_levels": "1",
"n_orders": "2",
"levels": [
["200.00", "0.26000000"]
]
}
}
}
3.2.9. subscriptions_status
Notification that all Reference Data (including reference prices related to treadable entities) for all treadebale entities was provided by the API.
Useful when a client connects to the API and needs to start proper interpetation of corresponding market data with minimal possible delay, so such marker in the stream can be used.
Name | Type | Description |
---|---|---|
|
string |
Timestamp |
|
string |
Number of client’s subscriptions at the moment - reflects the number of unique treadebale entities a client is subscribed to at the moment |
|
string |
Total number of treadebale entities in the Reference Data known by Feeds at the moment (including multi-leg ones) |
|
string |
Total number of multi-leg treadebale entities in the Reference Data known by Feeds at the moment |
{
"subscriptions_status":{
"timestamp": "1658229182528457000",
"n_subscribed_tradeable_entities": "3",
"n_total_tradeable_entities": "1236",
"n_total_multi_leg_tradeable_entities": "2"
}
}
3.2.10. subscriptions_in_progress
Notification with the details about the Reference Data for ongoing subscriptions.
The main field of this message is since_timestamp
. This timestamp can be used as a sign of incremental updates in Reference Data, or if missing, as a complete snapshot of Reference Data:
-
If correct connection parameter since_timestamp (last
cycle_id
or message’s timestamp from previous connection) was given to Feeds API (and Feeds were not restarted after that time),subscriptions_in_progress
withsince_timestamp
equal to requested one will be sent to a client. After that incremental updates of Reference Data (if there is any) will be sent too. -
Otherwise,
subscriptions_in_progress
will not havesince_timestamp
, so a complete snapshot of Reference Data will be sent, so locally cached Reference Data should be wiped as outdated one.
Name | Type | Description |
---|---|---|
|
string |
Timestamp |
|
string |
|
|
string |
Number of client’s subscriptions at the moment - reflects the number of unique treadebale entities a client is subscribed to at the moment |
|
string |
Total number of treadebale entities in the Reference Data known by Feeds at the moment (including multi-leg ones) |
|
string |
Total number of multi-leg treadebale entities in the Reference Data known by Feeds at the moment |
{
"subscriptions_in_progress":{
"timestamp": "1660026698066802000",
"timestamp": "1660026679016175000",
"n_subscribed_tradeable_entities": "0",
"n_total_tradeable_entities": "1268",
"n_total_multi_leg_tradeable_entities": "2"
}
}
3.2.11. subscribe
Subscribe to specific instruments on an active connection.
Please see usage examples in Start with zero subscriptions.
Name | Type | Mandatory | Description |
---|---|---|---|
|
string |
Yes if nothing else is provided. |
Symbol prefix of the instrument you wish to subscribe to. For example, The subscribed instrument messages will respect the initial connection parameters. For example, if you requested Additionally, the subscribed instruments will publish the message types specified in the There are no subscription limits. |
|
string |
Yes if nothing else is provided. |
Exact symbol of instrument to subscribe to. |
|
string |
Yes if nothing else is provided. |
ID of instrument to subscribe to. |
// case 1:
// by symbol_prefix:
// subscribes to all future and option products expiring in June '22
{
"subscribe":{
"symbol_prefix": "BTC-202206"
}
}
// case 2:
// by symbol: subscribes to BTC future
{
"subscribe":{
"symbol": "BTC-20220624"
}
}
// case 3:
// by tradeable_entity_id:
{
"subscribe":{
"tradeable_entity_id": "4"
}
}
3.2.12. subscribed
Confirmation of subscribe success or a notification about a new treadable entity listing.
Name | Type | Description |
---|---|---|
|
string |
ID of subscribed tradeable entity |
|
string |
Symbol of subscribed instrument. |
// case 1:
// `subscribe` by tradeable_entity_id:
{
"subscribe":{
"tradeable_entity_id":"2"
}
}
// receiving response:
{
"subscribed":{
"tradeable_entity_id":"2",
"symbol":"ETH-USD-INDEX"
}
}
// case 2:
// `subscribe` by symbol (to the same market):
{
"subscribe":{
"symbol":"ETH-USD-INDEX"
}
}
// receiving response:
{
"subscribed":{
"tradeable_entity_id":"2",
"symbol":"ETH-USD-INDEX"
}
}
// case 3:
// listing of the treadable entity happens (see trading_state)
// and then the following notification arrives:
{
"subscribed":{
"tradeable_entity_id":"2",
"symbol":"ETH-USD-INDEX"
}
}
3.2.13. subscribe_error
Informs about an error of "subscribe" command.
Name | Type | Description |
---|---|---|
|
string |
Textual error message |
Message | Description |
---|---|
|
The client is already subscribed to the requested instrument. |
|
The requested |
|
If the requested instrument was not listed in the initial connection string’s list of |
{
"subscribe_error":{
"message":"Already subscribed"
}
}
3.2.14. unsubscribe
Unsubscribe from specific instruments on an active connection.
Name | Type | Mandatory | Description |
---|---|---|---|
|
string |
Yes if nothing else is provided. |
Symbol prefix of the instrument you wish to unsubscribe from. |
|
string |
Yes if nothing else is provided. |
Exact symbol of instrument to unsubscribe from. |
|
string |
Yes if nothing else is provided. |
ID of instrument to unsubscribe from. |
// case 1:
// by symbol_prefix:
// unsubscribes from all future and option products expiring in June '22
{
"unsubscribe":{
"symbol_prefix": "BTC-202206"
}
}
// case 2:
// by symbol: unsubscribes from BTC future
{
"unsubscribe":{
"symbol": "BTC-20220624"
}
}
// case 3:
// by tradeable_entity_id:
{
"unsubscribe":{
"tradeable_entity_id": "4"
}
}
3.2.15. unsubscribed
Confirmation of unsubscribe success or a notification about treadable entity de-listing.
Name | Type | Description |
---|---|---|
|
string |
ID of unsubscribed tradeable entity |
|
string |
Symbol of unsubscribed instrument. |
// case 1:
// `unsubscribe` by tradeable_entity_id:
{
"unsubscribe":{
"tradeable_entity_id":"2"
}
}
// response:
{
"unsubscribed":{
"tradeable_entity_id":"2",
"symbol":"ETH-USD-INDEX"
}
}
// case 2:
// `unsubscribe` by symbol (from the same market):
{
"unsubscribe":{
"symbol":"ETH-USD-INDEX"
}
}
// response:
{
"unsubscribed":{
"tradeable_entity_id":"2",
"symbol":"ETH-USD-INDEX"
}
}
// case 3:
// de-listing of the treadable entity happens (see trading_state)
// and then the following notification arrives:
{
"unsubscribed":{
"tradeable_entity_id":"2",
"symbol":"ETH-USD-INDEX"
}
}
3.2.16. unsubscribe_error
Informs about an error of "unsubscribe" command.
Name | Type | Description |
---|---|---|
|
string |
Textual error message |
Message | Description |
---|---|
|
The client has no active subscriptions for the requested instrument. |
{
"unsubscribe_error":{
"message":"Subscription(s) not found"
}
}
3.2.17. cycle_ended
Indicates that the current cycle has ended.
Generated to indicate that the current cycle has ended.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
A timestamp that uniquely identifies the current cycle. |
|
|
A timestamp that uniquely identifies the next cycle, or 'none' if there will be no new cycle. |
{
"cycle_ended":{
"cycle_id":"1618427227000000000",
"next_cycle_id":"1618427827000000000"
}
}
3.2.18. cycle_ending
Indicates that the current cycle is ending soon.
Generated to indicate that the current cycle will be ending soon.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
A timestamp that uniquely identifies the current cycle. |
|
|
A timestamp that uniquely identifies the next cycle, or 'none' if there will be no new cycle. |
{
"cycle_ending":{
"cycle_id":"1618427227000000000",
"next_cycle_id":"1618427827000000000"
}
}
3.2.19. cycle_started
Indicates a new cycle has started.
Generated to indicate that a new cycle has started.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
A timestamp that uniquely identifies the current cycle. |
|
|
A timestamp that uniquely identifies the previous cycle, or 'none' if there was no preceding cycle. |
{
"cycle_started":{
"cycle_id":"1618427227000000000",
"previous_cycle_id":"1618426627000000000"
}
}
3.2.20. cycle_starting
Indicates a new cycle is starting.
Generated to indicate that a new cycle is starting.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
A timestamp that uniquely identifies the new cycle. |
|
|
A timestamp that uniquely identifies the previous cycle, or 'none' if there was no preceding cycle. |
{
"cycle_starting":{
"cycle_id":"1618427227000000000",
"previous_cycle_id":"1618426627000000000"
}
}
3.2.21. deliverable
deliverable
may refer to one of the following messages:
3.2.22. deliverable<aliased_deliverable>
Reference data for an aliased deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"6257",
"symbol":"Reference USD",
"tags":["usd_aliased_deliverable"],
"decimal_places":"2",
"listing_status":"active",
"details":{
"aliased_deliverable":{
"aliased_deliverable_id":"2"
}
}
}
}
3.2.23. deliverable<exchange_token>
Reference data for an exchange token deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"3",
"symbol":"BTC",
"tags":["fundable"],
"decimal_places":"8",
"listing_status":"active",
"details":{
"exchange_token":{
"common_name":"Bitcoin",
"ledger_name":"Bitcoin",
"ledger_address":"0x000000000000000000000000000000",
"minor_units":"0"
}
}
}
}
3.2.24. deliverable<exchange_trading_limit>
Reference data for an exchange trading limit deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"7",
"symbol":"BTC Buy Trading Limit",
"tags":[],
"decimal_places":"8",
"listing_status":"active",
"details":{
"exchange_trading_limit":{
"quote_deliverable_id":"3",
"side":"buy"
}
}
}
}
3.2.25. deliverable<fiat_currency>
Reference data for a fiat currency deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"2",
"symbol":"USD",
"tags":["reference_deliverable","fundable"],
"decimal_places":"10",
"listing_status":"active",
"details":{
"fiat_currency":{
"currency":"US Dollar",
"code":"USD",
"number":"840",
"minor_units":"2"
}
}
}
}
3.2.26. deliverable<future>
Reference data for a single future deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"23",
"symbol":"BTC-20210924",
"tags":["BTC","future","month"],
"decimal_places":"4",
"listing_status":"active",
"details":{
"future":{
"expiry":{
"datetime":{
"date":{
"year":"2021",
"month":"9",
"day":"24"
},
"time":{
"hours":"8",
"minutes":"0",
"seconds":"0",
"nanoseconds":"0"
}
},
"timezone":"UTC"
},
"delivery_style":"cash",
"underlying_deliverable_id":"3",
"contract_size_deliverable_id":"3",
"contract_size":"100000000",
"settlement_deliverable_id":"2",
"utc_creation_time":"1615315440212884641",
"creation_source_id":"0",
"margin_spec_id":"2"
}
}
}
}
3.2.27. deliverable<fx_spot>
Reference data for a single spot deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"14",
"symbol":"BTC-USD",
"tags":["spot"],
"decimal_places":"8",
"listing_status":"active",
"details":{
"fx_spot":{
"base_deliverable_id":"3",
"quote_deliverable_id":"2",
"contract_size":"1"
}
}
}
}
3.2.28. deliverable<index>
Reference data for an index deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"14",
"symbol":"BTC-USD-INDEX",
"tags":["BTC","index"],
"decimal_places":"6",
"listing_status":"active",
"details":{
"index":{
"base_deliverable_id":"3",
"quote_deliverable_id":"2"
}
}
}
}
3.2.29. deliverable<option>
Reference data for a single option deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"92",
"symbol":"BTC-20210625-20000P",
"tags":["BTC","option","month"],
"decimal_places":"4",
"listing_status":"active",
"details":{
"option":{
"expiry":{
"datetime":{
"date":{
"year":"2021",
"month":"6",
"day":"25"
},
"time":{
"hours":"8",
"minutes":"0",
"seconds":"0",
"nanoseconds":"0"
}
},
"timezone":"UTC"
},
"strike_price":"20000000000",
"option_type":"put",
"exercise_style":"european",
"valuation_approach":"vanilla",
"delivery_style":"cash",
"underlying_deliverable_id":"3",
"contract_size_deliverable_id":"3",
"contract_size":"100000000",
"settlement_deliverable_id":"2",
"utc_creation_time":"1615315441357287486",
"creation_source_id":"0",
"margin_spec_id":"1",
"strikes_spec_id":"1"
}
}
}
}
3.2.30. deliverable<perpetual_future>
Reference data for a perpetual future deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"24",
"symbol":"BTC-USD-PERPETUAL",
"tags":["BTC","future","perpetual"],
"decimal_places":"4",
"listing_status":"active",
"details":{
"perpetual_future":{
"funding_period":{
"hours":"1",
"minutes":"0",
"seconds":"0",
"nanoseconds":"0"
},
"funding_reference_time":{
"datetime":{
"date":{
"year":"2021",
"month":"0",
"day":"0"
},
"time":{
"hours":"1",
"minutes":"0",
"seconds":"0",
"nanoseconds":"0"
}
},
"timezone":"UTC"
},
"funding_spec_id":"1",
"underlying_deliverable_id":"14",
"contract_size_deliverable_id":"3",
"contract_size":"100000000",
"settlement_deliverable_id":"2",
"utc_creation_time":"1615315440215106227",
"creation_source_id":"0",
"margin_spec_id":"3"
}
}
}
}
3.2.31. deliverable<stable_token>
Reference data for a stable token deliverable.
Contains reference data associated with a single deliverable.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the deliverable. |
|
|
String |
A human-readable identifier for the deliverable. |
|
array of String |
A collection of tags used for classifying the deliverable. |
|
The number of decimal places used when expressing quantities and balances in terms of the deliverable. |
|
|
The listing status of the deliverable. |
|
|
object with a single field |
Contains additional details describing the deliverable. |
{
"deliverable":{
"deliverable_id":"2",
"symbol":"USDT",
"tags":["reference_deliverable", "fundable"],
"decimal_places":"6",
"listing_status":"active",
"details":{
"stable_token":{
"common_name":"USDt ERC20 Token",
"ledger_name":"Ethereum",
"ledger_address":"0x000000000000000000000000000000",
"minor_units":"6",
"stabilisation_approach":"fiat_backed",
"backing_deliverable_id":"123"
}
}
}
}
3.2.32. display_order_added
Notification that a new display order was added.
Represents the addition of a displayed order to the tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the order was added. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
The unique, exchange-assigned identifier for the displayed order. |
|
|
The displayed price of the order. The number of decimal places is determined by the tradeable entity. |
|
|
The displayed quantity of the order. The number of decimal places is determined by the tradeable entity. |
{
"display_order_added":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"market_id":"0",
"side":"buy",
"display_order_id":"777",
"display_price":"10000000000000",
"display_quantity":"10000000000"
}
}
3.2.33. display_order_deleted
Notification that an existing display order was deleted.
Represents the deletion of a displayed order from the tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the order was deleted. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
The unique, exchange-assigned identifier for the displayed order. |
{
"display_order_deleted":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"market_id":"0",
"side":"buy",
"display_order_id":"777"
}
}
3.2.34. display_order_executed
Notification that an existing display order executed.
Represents the addition of a displayed order to the tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the order was executed. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
The unique, exchange-assigned identifier for the displayed order. |
|
|
The price of the trade. The number of decimal places is determined by the tradeable entity. |
|
|
The quantity of the trade. The number of decimal places is determined by the tradeable entity. |
|
|
The unique, exchange-assigned identifier for the trade. |
{
"display_order_executed":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"market_id":"0",
"side":"buy",
"display_order_id":"777",
"executed_price":"10000000000000",
"executed_quantity":"10000000000",
"trade_id":"1234567"
}
}
3.2.35. display_order_updated
Notification that an existing display order was updated.
Represents the update of a displayed order in a tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the order was updated. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
The current unique, exchange-assigned identifier for the displayed order. |
|
|
The new unique, exchange-assigned identifier for the displayed order. |
|
|
The displayed price of the order. The number of decimal places is determined by the tradeable entity. |
|
|
The displayed quantity of the order. The number of decimal places is determined by the tradeable entity. |
{
"display_order_updated":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"market_id":"0",
"side":"buy",
"old_display_order_id":"777",
"new_display_order_id":"777",
"display_price":"10000000000000",
"display_quantity":"10000000000"
}
}
3.2.36. funding_rate
Notification of a funding rate update.
Communicates an update to the funding rate for a specified tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the funding rate update was generated. |
|
|
A unique, exchange-assigned identifier for the tradeable entity associated with this funding rate. |
|
|
The time from when the funding rate applies. |
|
|
The rate as calculated in basis points. |
|
|
The mark price associated with the funding rate. |
|
|
The underlying price associated with the funding rate. |
{
"funding_rate":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"applies_from":"1618427227000000000",
"rate":"100",
"mark_price":"10000000000000",
"underlying_price":"10000000000000"
}
}
3.2.37. multi_leg_display_order_added
Notification that a new multi-leg display order was added.
Represents the addition of a displayed order to the tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the order was added. |
|
|
array of tradeable_entity_leg |
Identifies the target tradeable entities and leg ratios for the order. Contains at least two entries, in ascending order by tradeable_entity_id, with each tradeable entity appearing no more than once. The greatest common divisor of the absolute values of the leg ratios is one. The ratio of the first leg is always positive. |
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
The unique, exchange-assigned identifier for the displayed order. |
|
|
The displayed price of the order, with decimal places. The number of decimal places is the smallest price_decimal_places value for the tradeable entities in the legs. |
|
|
The displayed quantity of the order, with decimal places. The number of decimal places is the smallest quantity_decimal_places value for the tradeable entities in the legs. |
{
"multi_leg_display_order_added":{
"timestamp":"1618427227000000000",
"legs":[
{
"tradeable_entity_id":"7777",
"ratio":"123"
}
],
"market_id":"0",
"side":"buy",
"display_order_id":"777",
"display_price":"10000000000000",
"display_quantity":"10000000000"
}
}
3.2.38. multi_leg_display_order_deleted
Notification that an existing multi-leg display order was deleted.
Represents the addition of a displayed order to the tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the order was deleted. |
|
|
array of tradeable_entity_leg |
Identifies the target tradeable entities and leg ratios for the order. Contains at least two entries, in ascending order by tradeable_entity_id, with each tradeable entity appearing no more than once. The greatest common divisor of the absolute values of the leg ratios is one. The ratio of the first leg is always positive. |
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
The unique, exchange-assigned identifier for the displayed order. |
{
"multi_leg_display_order_deleted":{
"timestamp":"1618427227000000000",
"legs":[
{
"tradeable_entity_id":"7777",
"ratio":"123"
}
],
"market_id":"0",
"side":"buy",
"display_order_id":"777"
}
}
3.2.39. multi_leg_display_order_executed
Notification that an existing multi-leg display order executed.
Represents the addition of a displayed order to the tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the order was executed. |
|
|
array of tradeable_entity_leg |
Identifies the target tradeable entities and leg ratios for the order. Contains at least two entries, in ascending order by tradeable_entity_id, with each tradeable entity appearing no more than once. The greatest common divisor of the absolute values of the leg ratios is one. The ratio of the first leg is always positive. |
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
The unique, exchange-assigned identifier for the displayed order. |
|
|
The executed price of the order, with decimal places. The number of decimal places is the smallest price_decimal_places value for the tradeable entities in the legs. |
|
|
The executed quantity of the order, with decimal places. The number of decimal places is the smallest quantity_decimal_places value for the tradeable entities in the legs. |
{
"multi_leg_display_order_executed":{
"timestamp":"1618427227000000000",
"legs":[
{
"tradeable_entity_id":"7777",
"ratio":"123"
}
],
"market_id":"0",
"side":"buy",
"display_order_id":"777",
"executed_price":"10000000000000",
"executed_quantity":"10000000000"
}
}
3.2.40. multi_leg_display_order_updated
Notification that an existing multi-leg display order was updated.
Represents the addition of a displayed order to the tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the order was updated. |
|
|
array of tradeable_entity_leg |
Identifies the target tradeable entities and leg ratios for the order. Contains at least two entries, in ascending order by tradeable_entity_id, with each tradeable entity appearing no more than once. The greatest common divisor of the absolute values of the leg ratios is one. The ratio of the first leg is always positive. |
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
The current unique, exchange-assigned identifier for the displayed order. |
|
|
The new unique, exchange-assigned identifier for the displayed order. |
|
|
The displayed price of the order, with decimal places. The number of decimal places is the smallest price_decimal_places value for the tradeable entities in the legs. |
|
|
The displayed quantity of the order, with decimal places. The number of decimal places is the smallest quantity_decimal_places value for the tradeable entities in the legs. |
{
"multi_leg_display_order_updated":{
"timestamp":"1618427227000000000",
"legs":[
{
"tradeable_entity_id":"7777",
"ratio":"123"
}
],
"market_id":"0",
"side":"buy",
"old_display_order_id":"777",
"new_display_order_id":"777",
"display_price":"10000000000000",
"display_quantity":"10000000000"
}
}
3.2.41. reference_price
Notification of a reference price update.
Communicates an update to the reference price for a specified tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the reference price update was generated. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the reference price update. |
|
|
The price. The number of decimal places is determined by the tradeable entity. |
|
|
The type of the reference price update |
{
"reference_price":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"market_id":"0",
"price":"10000000000000",
"price_type":"reference"
}
}
3.2.42. settlement_price
Notification of a settlement price update.
Communicates an update to the settlement price for a specified tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the settlement price update was generated. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
The price. The number of decimal places is determined by the tradeable entity. |
|
|
The type of the settlement price update |
|
|
Indicates the settlement date and time to which the settlement price applies. Interim settlement prices are typically published prior to this time, but may be published on or after this time if there is a delay in determining the final settlement price. Final prices are published only on or after this time. If equal to the quantity deliverable’s expiry, the price being published is for settlement at expiry and the settlement_event_type will be expiry. Otherwise, the settlement_event_type is cyclical. |
|
|
The type of the settlement event to which the price applies. |
{
"settlement_price":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"price":"10000000000000",
"price_type":"interim_price",
"settlement_event":{
"datetime":{
"date":{
"year":"2021",
"month":"7",
"day":"31"
},
"time":{
"hours":"7",
"minutes":"0",
"seconds":"0",
"nanoseconds":"849936000"
}
},
"timezone":"UTC"
},
"settlement_event_type":"cyclical"
}
}
3.2.43. time
Notification of an update to system time.
Used to communicate an update to the internal clock.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the message was generated. |
{
"time":{
"timestamp":"1618427227000000000"
}
}
3.2.44. top_of_book
Notification of a change in the best bid and offer.
The current best bid and best offer for a specified tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the top_of_book was generated. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the top-of-book information. |
|
|
The price of the best bid. The number of decimal places is determined by the tradeable entity. |
|
|
The total quantity at the best bid price. The number of decimal places is determined by the tradeable entity. |
|
|
The price of the best offer. The number of decimal places is determined by the tradeable entity. |
|
|
The total quantity at the best offer price. The number of decimal places is determined by the tradeable entity. |
{
"top_of_book":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"market_id":"0",
"buy_price":"10000000000000",
"buy_quantity":"10000000000",
"sell_price":"10000000000000",
"sell_quantity":"10000000000"
}
}
3.2.45. trade
Notification that a new trade was generated.
A trade generated for the specified tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the trade was generated. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the trade. |
|
|
The unique identifier for the trade. |
|
|
The price of the trade. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies how the price of the trade was determined. |
|
|
The quantity of the trade. The number of decimal places is determined by the tradeable entity. |
|
|
The unique, exchange-assigned identifier of the display order on the buy side of the trade. |
|
|
The unique, exchange-assigned identifier of the display order on the sell side of the trade. |
{
"trade":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"market_id":"0",
"trade_id":"1234567",
"price":"10000000000000",
"price_type":"passive",
"quantity":"10000000000",
"buy_display_order_id":"777",
"sell_display_order_id":"777"
}
}
3.2.46. last_trade_price
The last trade price information for obtaining initial state of corresponding market.
This message is sent only once (per market) in the following moments:
-
on new connection with enabled subscription;
-
on successful subscription per user’s request;
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the trade was generated. |
|
|
A unique, exchange-assigned identifier for the tradeable entity. |
|
|
Identifies the target market for the trade. |
|
|
The price of the trade. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies how the price of the trade was determined. |
{
"last_trade_prirce":{
"timestamp":"1618427227000000000",
"tradeable_entity_id":"7777",
"market_id":"0",
"price":"10000000000000",
"price_type":"passive"
}
}
3.2.47. tradeable_entity
tradeable_entity
may refer to one of the following messages:
3.2.48. tradeable_entity<multi_market>
Reference data for a tradeable entity that is traded using multiple markets.
Contains reference data associated with a single tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the tradeable entity. |
|
|
String |
A human-readable identifier for the tradeable entity. |
|
array of String |
A collection of tags used for classifying the tradeable entity. |
|
Identifies the deliverable used to express the price. |
|
|
The number of decimal places used for prices. |
|
|
Identifies the deliverable used to express the quantity. |
|
|
The number of decimal places used for quantities. |
|
|
Identifies the deliverable used to express trading limits for buy side orders and trades. |
|
|
Identifies the deliverable used to express trading limits for sell side orders and trades. |
|
|
Specifies the tradeability of a tradeable entity. |
|
|
object with a single field |
Contains additional details describing the tradeable entity. |
{
"tradeable_entity":{
"tradeable_entity_id":"123",
"symbol":"A",
"tags":[
"A"
],
"price_deliverable_id":"123",
"price_decimal_places":"123",
"quantity_deliverable_id":"123",
"quantity_decimal_places":"123",
"buy_trading_limit_deliverable_id":"123",
"sell_trading_limit_deliverable_id":"123",
"tradeability":"tradeable",
"details":{
"multi_market":{
"market_ids":[
"123"
]
}
}
}
}
3.2.49. tradeable_entity<simple_market>
Reference data for a tradeable entity that is traded using a simple, single market.
Contains reference data associated with a single tradeable entity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The unique, exchange-assigned identifier for the tradeable entity. |
|
|
String |
A human-readable identifier for the tradeable entity. |
|
array of String |
A collection of tags used for classifying the tradeable entity. |
|
Identifies the deliverable used to express the price. |
|
|
The number of decimal places used for prices. |
|
|
Identifies the deliverable used to express the quantity. |
|
|
The number of decimal places used for quantities. |
|
|
Identifies the deliverable used to express trading limits for buy side orders and trades. |
|
|
Identifies the deliverable used to express trading limits for sell side orders and trades. |
|
|
Specifies the tradeability of a tradeable entity. |
|
|
object with a single field |
Contains additional details describing the tradeable entity. |
{
"tradeable_entity":{
"tradeable_entity_id":"84",
"symbol":"BTC-20210625-20000P",
"tags":["BTC","option","month"],
"price_deliverable_id":"2",
"price_decimal_places":"6",
"quantity_deliverable_id":"92",
"quantity_decimal_places":"4",
"buy_trading_limit_deliverable_id":"11",
"sell_trading_limit_deliverable_id":"12",
"tradeability":"tradeable",
"details":{
"simple_market":{
"market_id":"0",
"settlement_event":{
"datetime":{
"date":{
"year":"2021",
"month":"6",
"day":"25"
},
"time":{
"hours":"8",
"minutes":"0",
"seconds":"0",
"nanoseconds":"0"
}
},
"timezone":"UTC"
}
}
}
}
}
3.2.50. trading_rule
A trading rule that determines order and trade validation.
Contains rules used to determine order and trade validity.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The tradeable entity to which the rule applies. If none, applies to all tradeable entities. |
|
|
The market to which the rule applies. If none, applies to all markets. |
|
|
Specifies the minimum price on an order. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies the maximum price on an order. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies the valid price step for an order. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies the minimum quantity on an order. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies the maximum quantity on an order. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies the valid quantity step for an order. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies the minimum value of an order. The number of decimal places is determined by the tradeable entity. |
|
|
Specifies the maximum value of an order. The number of decimal places is determined by the tradeable entity. |
{
"trading_rule":{
"tradeable_entity_id":"7777",
"market_id":"0",
"minimum_price":"10000000000000",
"maximum_price":"10000000000000",
"price_step":"10000000000000",
"minimum_quantity":"10000000000",
"maximum_quantity":"10000000000",
"quantity_step":"10000000000",
"minimum_value":"100000000",
"maximum_value":"100000000"
}
}
3.2.51. trading_state
Reflects the current state of trading in the tradeable entity and market.
Indicates the current state of a tradeable entity and market.
This message defines the following fields:
Name | Type | Description |
---|---|---|
|
The time when the trading state was reported. |
|
|
The tradeable entity to which the state applies. |
|
|
The market to which the state applies. |
|
|
Whether trading is active or suspended. |
|
|
Whether the tradeable entity is active or expired. |
|
|
The date and time against which trades will be recorded. |
{
"trading_state":{
"timestamp":"123",
"tradeable_entity_id":"123",
"market_id":"123",
"suspension_status":"active",
"expiry_status":"active",
"settlement_event":{
"datetime":{
"date":{
"year":"123",
"month":"123",
"day":"123"
},
"time":{
"hours":"123",
"minutes":"123",
"seconds":"123",
"nanoseconds":"123"
}
},
"timezone":"A"
}
}
}
3.3. Structures
This section describes the following structures:
3.3.1. aliased_deliverable
Contains reference data associated with an aliased deliverable.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The deliverable ID that is being aliased. |
3.3.2. date
Represents a calendar date.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The four digit year. |
|
|
The month (1-12). |
|
|
The day of the month (1-31). |
3.3.3. datetime
Represents a datetime.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The date. |
|
|
The time of day. |
3.3.4. exchange_token
Contains reference data associated with an exchange token.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
String |
The common name of the exchange token. |
|
String |
The name of the exchange token’s anchoring ledger. |
|
Bytes |
The address of the exchange token on the ledger, if any. |
|
The minor units supported for the token. |
3.3.5. exchange_trading_limit
Contains reference data associated with an exchange trading limit.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The deliverable that is being bought or sold in exchange for the quote deliverable. |
|
|
Whether the trading limit is a buy or sell. |
3.3.6. fiat_currency
Contains reference data associated with a fiat currency.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
String |
The ISO 4217 name of the currency. |
|
String |
The ISO 4217 alphabetic code for the currency. |
|
The ISO 4217 numeric code for the currency. |
|
|
The ISO 4217 specified number of minor units for the currency. |
3.3.7. full_order<account_id>
Attributes used for full order entry.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
Identifies the target tradeable entity for the order. |
|
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
Specifies how long the order remains valid. |
|
|
In conjunction with time_in_force, specifies how long the order remains valid. |
|
|
The quantity of the order. The number of decimal places is determined by the tradeable entity. |
|
|
The minimum quantity of the order. Must be 0 or 18446744073709551615 ("none") unless time_in_force is immediate_or_cancel. Must be less than or equal to the quantity of the order. The number of decimal places is determined by the tradeable entity. |
|
|
Order price. 9223372036854775807 ("none") denotes a market order. The number of decimal places is determined by the tradeable entity. |
|
|
object with a single field |
Contains attributes identifying the party associated with the order. |
|
optional array of execution_instruction |
Contains optional instructions specifying how an order should be handled. |
|
optional trigger_instructions |
Contains optional instructions specifying how and when the order will be triggered. |
3.3.8. future
Contains reference data associated with a single future entity.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The expiry for the future. |
|
|
The future delivery style. |
|
|
Denotes the unique deliverable_id assigned to the underlying security within exchange. |
|
|
Identifies the deliverable used to express the contract size. |
|
|
Specifies the contract size. |
|
|
Identifies the deliverable used to express settlement values. |
|
|
The UTC time when the future was created. |
|
|
The creation source ID for the future. |
|
|
Identifies the margin specification to be used for the future. |
3.3.9. fx_spot
Contains reference data associated with a single fx_spot entity.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The deliverable that is being bought or sold in exchange for the quote deliverable. |
|
|
The deliverable that is being paid to secure the base deliverable. |
|
|
Specifies the contract size. |
3.3.10. greeks
Represents each of the greek values.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
How much an options price is expected to change per $1 change in the underlying. |
|
|
The change in the price of an option for a one-day decrease in its time to expiration. |
|
|
The rate of change in an options delta per $1 change in the price of the underlying. |
|
|
The rate of change in an options price per 1% change in the implied volatility of the underlying. |
3.3.11. index
Contains reference data associated with a single index entity.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The deliverable that is being priced in reference to the quote deliverable. |
|
|
The deliverable that is being used to quote the base deliverable. |
3.3.12. multi_leg_order<account_id>
Attributes used for simple order entry.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
array of tradeable_entity_leg |
Identifies the target tradeable entities and leg ratios for the order. Must contain at least two entries, in ascending order by tradeable_entity_id, with each tradeable entity appearing no more than once. The greatest common divisor of the absolute values of the leg ratios must be one. The ratio of the first leg must be positive. |
|
Identifies the target market for the order. Must be a valid ID for all tradeable entities in the legs. |
|
|
Whether the order is a buy or sell. |
|
|
Specifies how long the order remains valid. |
|
|
In conjunction with time_in_force, specifies how long the order remains valid. Must be 65535 ("none") if the time_in_force is immediate_or_cancel. Otherwise, must be less than or equal to 65534. |
|
|
The quantity of the order. The number of decimal places is the smallest quantity_decimal_places value for the tradeable entities in the legs. |
|
|
The minimum quantity of the order. Must be 0 or 18446744073709551615 ("none") unless time_in_force is immediate_or_cancel. Must be less than or equal to the quantity of the order. The number of decimal places is the smallest quantity_decimal_places for the tradeable entities in the legs. |
|
|
Order price. 9223372036854775807 ("none") denotes a market order. The number of decimal places is the largest price_decimal_places value for the tradeable entities in the legs. |
|
|
object with a single field |
Contains attributes identifying the party associated with the order. |
|
optional array of execution_instruction |
Contains optional instructions specifying how an order should be handled. |
3.3.13. multi_market
Describes a set of markets valid for trading in a tradeable entity.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
array of market_id |
The market identifiers that are valid for the tradeable entity. |
3.3.14. option
Contains reference data associated with a single option entity.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The expiry for the option. |
|
|
The option strike price. |
|
|
The option type (Put or Call). |
|
|
The exercise style of the option. |
|
|
The valuation approach of the option. |
|
|
The option delivery style. |
|
|
Denotes the unique deliverable_id assigned to the underlying security within exchange. |
|
|
Identifies the deliverable used to express the contract size. |
|
|
Specifies the contract size. Uses the decimals specified on the corresponding contract deliverable. |
|
|
Identifies the deliverable used to express settlement values. |
|
|
The UTC time when the option was created. |
|
|
The creation source ID for the option. |
|
|
Identifies the margin specification to be used for the option. |
|
|
Identifies the strikes specification to be used for the option. |
3.3.15. perpetual_future
Contains reference data associated with a single perpetual future.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The funding period over which funding occures, expressed in hours, minutes and seconds. |
|
|
A date time that represents the reference time for funding periods. |
|
|
Identifies the funding specification to be used for the perpetual future. |
|
|
Denotes the unique deliverable_id assigned to the underlying security within exchange. |
|
|
Identifies the deliverable used to express the contract size. |
|
|
Specifies the contract size. |
|
|
Identifies the deliverable used to express settlement values. |
|
|
The UTC time when the perpetual future was created. |
|
|
The creation source ID for the perpetual future. |
|
|
Identifies the margin specification to be used for the perpetual future. |
3.3.16. simple_market
Describes a simple, single market for trading in a tradeable entity.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The market identifier. |
|
|
The date and time against which trades will be recorded. |
3.3.17. simple_order<account_id>
Attributes used for simple order entry.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
Identifies the target tradeable entity for the order. |
|
|
Identifies the target market for the order. |
|
|
Whether the order is a buy or sell. |
|
|
Specifies how long the order remains valid. |
|
|
In conjunction with time_in_force, specifies how long the order remains valid. |
|
|
The quantity of the order. The number of decimal places is determined by the tradeable entity. |
|
|
Order price. 9223372036854775807 ("none") denotes a market order. The number of decimal places is determined by the tradeable entity. |
|
|
object with a single field |
Contains attributes identifying the party associated with the order. |
3.3.18. stable_token
Contains reference data associated with a single stable_token entity.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
String |
The common name of the exchange token. |
|
String |
The name of the exchange tokens anchoring ledger. |
|
Bytes |
The address of the exchange token on the ledger, if any. |
|
The minor units supported for the token. |
|
|
The stabilisation approach used by the stable token. |
|
|
The deliverable used to back the stable token, if any. |
3.3.19. time_of_day
Represents a time of day.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The hours (0-23). |
|
|
The minutes (0-59). |
|
|
The seconds (0-59). |
|
|
The nanonseconds (0-999,999,999). |
3.3.20. tradeable_entity_leg
Represents a single leg in a multi-leg order or strategy.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The tradeable entity ID of the leg. |
|
|
Ratio indicating the quantity to buy/sell relative to other legs. |
3.3.21. trigger_instructions
Specifies how and when an order should be triggered.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The type of event when the trigger will be hit. |
|
|
Identifies the tradeable entity against which the trigger price will be compared. |
|
|
Identifies the market against which the trigger price will be compared. |
|
|
The type of the price in the target tradeable entity and market that the price is compared to. |
|
|
Whether the order is triggered based on a movement up or down through the trigger price. |
|
|
The trigger price. The number of decimal places is determined by the tradeable entity. |
3.3.22. zoned_datetime
Represents a zoned datetime.
This structure defines the following fields:
Name | Type | Description |
---|---|---|
|
The date and time of day. |
|
|
String |
The timezone. |
3.4. Types
This section describes the following types:
3.4.1. account_id
Uniquely identifies an account.
account_id
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no account ID. |
|
|
A constant used to specify all account IDs. |
3.4.2. basis_points
Basis Points.
basis_points
is a signed 64-bit integer with supported values from -9223372036854775808
to 9223372036854775807
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max signed 64-bit integer) |
A constant used to specify no basis points. |
3.4.3. channel_id
Uniquely identifies a channel.
channel_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no channel ID. |
3.4.4. contract_size
Specifies the contract size.
contract_size
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no contract size. |
3.4.5. creation_source_id
Identifies the source of an instrument.
creation_source_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no creation source. |
3.4.6. day
Day of the month (1-31).
day
is an unsigned 32-bit integer with supported values from 0
to 4294967295
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no day. |
3.4.7. decimal_places
Decimal Places.
decimal_places
is an unsigned 32-bit integer with supported values from 0
to 4294967295
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no decimal places. |
3.4.8. deliverable_id
Uniquely identifies a deliverable.
deliverable_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no deliverable ID. |
3.4.9. delivery_style
Specifies how derivative delivery will occur.
delivery_style
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The derivative settlement deliverable is the same as the quantity deliverable. |
|
|
The derivative settlement deliverable is a cash-style deliverable. |
|
|
The derivative is non-deliverable. |
|
|
The derivative’s delivery is elected at exercise. |
3.4.10. display_order_id
Uniquely identifies a display order.
display_order_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no display order ID. |
3.4.11. execution_instruction
Instructions for order handling
execution_instruction
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The order will participate in a match only when it is a passive order. It will not initiate a match as an aggressor. |
|
|
The order will be cancelled rather than participate in a match. |
3.4.12. expiry_status
Specifies whether an entity has expired or is active.
expiry_status
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The entity is active. |
|
|
The entity has expired. |
3.4.13. funding_spec_id
Uniquely identifies a funding specification for a perpetual derivative.
funding_spec_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no funding spec ID. |
3.4.14. hours
Hours.
hours
is an unsigned 32-bit integer with supported values from 0
to 4294967295
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no hours. |
3.4.15. iso4217_currency_number
Unique numeric identifier for a currency according to the ISO4217 standard.
iso4217_currency_number
is an unsigned 16-bit integer with supported values from 0
to 65535
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 16-bit integer) |
A constant used to specify no currency number. |
3.4.16. leg_ratio
A leg_ratio.
leg_ratio
is a signed 16-bit integer with supported values from -32768
to 32767
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max signed 16-bit integer) |
A constant used to specify no leg_ratio. |
3.4.17. liquidity_flag
Specifies how an order affects liquidity.
liquidity_flag
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Liquidity was added |
|
|
Liquidity was taken |
|
|
Liquidity was neither added nor taken |
3.4.18. listing_status
Specifies the listing_status of a deliverable.
listing_status
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
An active deliverable. |
|
|
The deliverable is marked for delisting. |
3.4.19. margin_spec_id
Uniquely identifies a margin spec.
margin_spec_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no margin spec ID. |
3.4.20. market_id
Uniquely identifies a market.
market_id
is an unsigned 32-bit integer with supported values from 0
to 4294967295
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no market ID. |
3.4.21. minutes
Minutes.
minutes
is an unsigned 32-bit integer with supported values from 0
to 4294967295
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no minutes. |
3.4.22. month
Month (1-12).
month
is an unsigned 32-bit integer with supported values from 0
to 4294967295
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no month. |
3.4.23. nanoseconds
Nanoseconds.
nanoseconds
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no nanoseconds. |
3.4.24. option_exercise_style
Specifies how the option may be exercised.
option_exercise_style
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The option is a European style option and can only be exercised on expiry. |
3.4.25. option_type
Specifies whether option is a call or put.
option_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Call option. |
|
|
Put option. |
3.4.26. option_valuation_approach
Specifies the general approach used to value the option.
option_valuation_approach
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The option is a Vanilla option. |
|
|
The option is an Asian option. |
|
|
The option is Digital (Binary) option. |
|
|
The option is a Barrier option. |
|
|
The option is a Digital Barrier option. |
|
|
The option is a Loopback option. |
3.4.27. order_action_reject_reason
Specifies why an order was rejected.
order_action_reject_reason
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Invalid tradeable entity |
|
|
Invalid fields |
|
|
Fill side empty |
|
|
No orders to peg to |
|
|
Invalid this period |
|
|
Invalid order flow |
|
|
Illegal order flow |
|
|
Trading suspended |
|
|
Invalid participant |
|
|
Invalid account |
|
|
Insufficient account balance |
|
|
Invalid market |
|
|
The account is suspended |
|
|
The tradeable entity has expired |
|
|
Invalid quantity deliverable |
|
|
Invalid trading limit deliverable |
|
|
The deliverable is not a derivative |
|
|
The price of the order is less than the minimum price allowed by the trading rules that are currently in force. |
|
|
The price of the order is greater than the maximum price allowed by the trading rules that are currently in force. |
|
|
The price of the order is not on an allowed price step as required by the trading rules that are currently in force. |
|
|
The quantity of the order is less than the minimum quantity allowed by the trading rules that are currently in force. |
|
|
The quantity of the order is greater than the maximum quantity allowed by the trading rules that are currently in force. |
|
|
The quantity of the order is not on an allowed quantity step as required by the trading rules that are currently in force. |
|
|
The value of the order is greater than the maximum supported. |
|
|
The value of the order is less than the minimum value allowed by the trading rules that are currently in force. |
|
|
The value of the order is greater than the maximum value allowed by the trading rules that are currently in force. |
|
|
The legs of the multi-leg order do not conform to the rules on tradeable entity ordering, uniqueness, and ratios. |
|
|
The trigger instructions of the full order do not conform to the supported rules for triggered orders. |
|
|
There are too many existing trigger orders |
|
|
The execution instructions contain invalid values |
3.4.28. order_cancelled_reason
Specifies why an order was cancelled.
order_cancelled_reason
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The order was cancelled by the user. |
|
|
There was insufficient liquidity to match the immediate order. |
|
|
The order timed out due to its time_in_force attribute. |
|
|
The order was cancelled during account liquidation. |
|
|
The order was cancelled due to an insufficient account balance. |
|
|
The order was cancelled because this type of order cannot be in a pending state. |
|
|
The order was cancelled as concurrent pending orders on the same deliverable are not allowed. |
|
|
The order was cancelled as the cancel-on-disconnect setting applies to the endpoint, and a disconnection event occurred. |
|
|
The order was cancelled by a market supervisor. |
|
|
The order was cancelled as it was marked participate-do-not-initiate and would have initiated a match. |
|
|
The order was cancelled as it was marked do-not-participate and would have entered the order book. |
3.4.29. order_execution_prevented_reason
Specifies why an order execution was prevented.
order_execution_prevented_reason
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The order would have resulted in the party trading with itself. |
|
|
The order is a market maker order. |
3.4.30. order_id
Uniquely identifies an order.
order_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no order ID. |
3.4.31. order_state
Specifies state of an order following [order_entered].
order_state
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The order has been accepted and is eligible for matching. |
|
|
The order is pending and not yet eligible for matching. |
|
|
The order is a triggered order and has not yet been triggered. |
|
|
The order has expired. No further messages will be generated for it. |
3.4.32. order_token
A 64-bit client-generated ID to uniquely identify an order. Must be increased for each inbound order management request. The top 8 bits are reserved and must be 0.
order_token
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no order token. |
3.4.33. percent
A percentage scaled to 4 decimal places.
percent
is a signed 64-bit integer with supported values from -9223372036854775808
to 9223372036854775807
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max signed 64-bit integer) |
A constant used to specify no percentage value. |
3.4.34. position_balance
A position balance.
position_balance
is a signed 64-bit integer with supported values from -9223372036854775808
to 9223372036854775807
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max signed 64-bit integer) |
A constant used to specify no position_balance. |
3.4.35. position_kind
Specifies the type of position being added.
position_kind
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Cash position. |
|
|
Realised position. |
|
|
Unrealised position. |
|
|
Margin position. |
|
|
Payoff position. |
|
|
Payout (funding) position. |
|
|
The position is Expired but not yet realised. |
|
|
The position is no longer held but is due a funding payment. |
|
|
The position that represents the locked trading limit. |
|
|
The risk metrics (E.g. the Greeks) that are set for a position. |
|
|
Unrealised position based on pending buy orders. |
|
|
Unrealised position based on pending sell orders. |
|
|
Margin position based on pending buy orders. |
|
|
Margin position based on pending sell orders. |
|
|
Unrealised position based on open buy orders. |
|
|
Unrealised position based on sell orders. |
|
|
Margin position based on open buy orders. |
|
|
Margin position based on open sell orders. |
|
|
Cash position based on pending buy orders. |
|
|
Cash position based on pending sell orders. |
|
|
Cash position based on open buy orders. |
|
|
Cash position based on open sell orders. |
|
|
Cash position based on long open orders commitments. |
|
|
Cash position based on short open orders commitments. |
3.4.36. position_source_id
The source_id that triggered a position update.
position_source_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no position source ID. |
3.4.37. position_source_type
Specifies the source trigger for this position message
position_source_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The position update was triggered by a deposit. |
|
|
The position update was triggered by a withdrawal. |
|
|
The position update was triggered by a trade. |
|
|
The position update was triggered by an expiry. |
|
|
The position update was triggered by a mark to market settlement. |
|
|
The position update was triggered by a change in mark price. |
|
|
The position update was triggered by a change in settlement price. |
|
|
The position update was triggered by a new funding rate. |
|
|
The position update was triggered by a message from a portfolio risk engine. |
|
|
The position update was triggered by a message from the holdings and registry facility. |
|
|
The position update was triggered by the start of a cycle. |
|
|
The position update was by a pending order. |
|
|
A constant used to specify no source type. |
3.4.38. position_value
A position_value.
position_value
is a signed 64-bit integer with supported values from -9223372036854775808
to 9223372036854775807
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max signed 64-bit integer) |
A constant used to specify no position value. |
3.4.39. positions_risk_status
Indicates the risk status associated with outstanding positions
positions_risk_status
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The positions have a normal risk status. |
|
|
The positions are considered 'At Risk' and some restrictions will apply. |
|
|
The positions are considered 'Critical' and full trading restrictions will apply. |
|
|
The positions risk status has passed the 'Critical' level and the positions need to be liquidated. |
3.4.40. price
A price.
price
is a signed 64-bit integer with supported values from -9223372036854775808
to 9223372036854775807
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max signed 64-bit integer) |
A constant used to specify no price. |
3.4.41. product_type
Specifies product type of product a position is related to .
product_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Balance positions for the reference currency. |
|
|
Balance. |
|
|
Spot. |
|
|
Future. |
|
|
Option. |
|
|
No product. |
|
|
The current trading limit. |
3.4.42. quantity
A quantity.
quantity
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no quantity. |
3.4.43. reference_price_type
Specifies the type of reference price.
reference_price_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Reference price. |
|
|
Close price. |
3.4.44. scaled_fixed_point
A scaled_fixed_point scaled to 10 decimal places.
scaled_fixed_point
is a signed 64-bit integer with supported values from -9223372036854775808
to 9223372036854775807
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max signed 64-bit integer) |
A constant used to specify no scaled_fixed_pointage value. |
3.4.45. seconds
Seconds.
seconds
is an unsigned 32-bit integer with supported values from 0
to 4294967295
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no seconds. |
3.4.46. sequence_number
A message sequence number.
sequence_number
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A used to specify no sequence number. |
3.4.47. session_end_reason
Specifies why a session was ended.
session_end_reason
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The session was ended due to a logout request from the client. |
|
|
The session was ended due to an inactivity timeout. |
|
|
The session was ended due to the server component being stopped. |
|
|
The session was ended due to a protocol violation by the client. |
3.4.48. session_id
Uniquely identifies a session.
session_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no session ID. |
3.4.49. settlement_event_type
Specifies the type of settlement event.
settlement_event_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The settlement event is cyclical, such as a daily settlement. |
|
|
The settlement event is associated with a deliverable’s expiry. |
3.4.50. settlement_price_type
Specifies the type of settlement price.
settlement_price_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Interim price. |
|
|
Final price. |
3.4.51. side
Specifies whether order is a buy or sell.
side
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Buy order. |
|
|
Sell order. |
3.4.52. stabilisation_approach
Specifies the general approach used to stabilise the token.
stabilisation_approach
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The token is backed by a fiat currency, either directly, or by pegging, or against a basket. |
|
|
The token is backed by an asset, such as commodities like gold price or other kinds of assets. |
|
|
The token is backed by other cryptoasset tokens, such as a diversified basket. |
|
|
The token is a seigniorage-style, unbacked token that uses some form of algorithm to control supply and value. |
3.4.53. stream_id
Uniquely identifies a stream.
stream_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
A constant used to specify no stream ID. |
3.4.54. stream_reject_reason
Specifies why a stream request was rejected.
stream_reject_reason
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The channel ID did not refer to a known channel |
|
|
The begin or end sequence number was invalid |
|
|
The stream ID is already being used for another active stream. |
|
|
The number of active streams is already at the maximum allowed. |
3.4.55. strikes_spec_id
Uniquely identifies a strikes specification.
strikes_spec_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no strikes spec ID. |
3.4.56. suspension_status
Specifies whether an entity is suspended or active.
suspension_status
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The entity is active. |
|
|
The entity is suspended. |
3.4.57. time_in_force
Specifies the duration of the order.
time_in_force
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Good for the number of system cycles specified in time_to_live. |
|
|
Immediate or cancel order. |
3.4.58. time_to_live
Used in conjunction with time_in_force to specify an order’s lifetime.
time_to_live
is an unsigned 16-bit integer with supported values from 0
to 65535
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 16-bit integer) |
A constant used to specify no time_to_live. |
3.4.59. trade_id
Uniquely identifies a trade.
trade_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no trade ID. |
3.4.60. trade_price_type
Specifies how the price of a trade was determined.
trade_price_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The trade occurred during continuous matching and uses the price of the passive order. |
|
|
The trade occurred during an auction and uses a calculated equilibrium price. |
|
|
The trade was between two multi-leg orders and uses a price derived from one of the legs. |
|
|
The trade occurred off-market and uses a reported price. |
3.4.61. tradeability
Specifies the tradeability of a tradeable_entity.
tradeability
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
Can enter orders. |
|
|
Cannot enter orders, but we may publish market data. |
|
|
Cannot enter orders, no market data. |
|
|
The tradeable entity is set to be removed from the market data. |
3.4.62. tradeable_entity_id
Uniquely identifies a tradeable entity.
tradeable_entity_id
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no tradeable entity ID. |
3.4.63. trigger_event_type
Defines when the trigger will be hit.
trigger_event_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The order is triggered by partial execution at the trigger price. |
|
|
The order is triggered by price movement to or through the specified price. |
3.4.64. trigger_price_direction
The side from which the trigger price is reached.
trigger_price_direction
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The order is triggered if the price goes up to or through the specified price. |
|
|
The order is triggered if the price goes down to or through the specified price. |
3.4.65. trigger_price_type
The type of price that the specified trigger price is compared to.
trigger_price_type
is an enumeration with the following well-known string constants:
Value | Equivalent integer | Description |
---|---|---|
|
|
The specified trigger price is compared against the best bid. |
|
|
The specified trigger price is compared against the best offer. |
|
|
The specified trigger price is compared against the last trade. |
3.4.66. utc_timestamp
A UTC timestamp expressed in nanoseconds since the epoch (1970-01-01 00:00:00).
utc_timestamp
is an unsigned 64-bit integer with supported values from 0
to 18446744073709551615
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 64-bit integer) |
A constant used to specify no timestamp. |
3.4.67. value
A value.
value
is a signed 128-bit integer with supported values from -170141183460469231731687303715884105728
to 170141183460469231731687303715884105727
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max signed 128-bit integer) |
A constant used to specify no value. |
3.4.68. year
The year (YYYY).
year
is an unsigned 16-bit integer with supported values from 0
to 65535
inclusive.
The type also supports the following string constants:
Value | Equivalent integer | Description |
---|---|---|
|
(max unsigned 16-bit integer) |
A constant used to specify no year. |
4. Revision History
Date | Version | Notes |
---|---|---|
2024-11-20 |
1.9 |
Add rte_trading_rule, |
2024-09-02 |
1.8 |
Retiring STAGING environment |
2024-02-16 |
1.7 |
|
2024-02-13 |
1.6 |
Add the Hosts section |
2023-10-12 |
1.5 |
Adding |
2022-08-30 |
1.4 |
Adding connection parameter market_id[]; adding DEPRECATED: |
2022-08-15 |
1.3 |
Adding subscriptions_in_progress, |
2022-08-14 |
1.2 |
Adding tradeable_entity<multi_market> |
2022-07-19 |
1.1 |
Adding subscriptions_status |
2022-07-15 |
1.0 |
Initial Market Data Feeds API documentation |