Protocol Documentation

Table of Contents

protos/messages.proto

Top

CancelAllOrdersMessage

Defines the order properties during all orders cancellation

FieldTypeLabelDescription
side OrderSide

Order side

price Decimal

Order price

CancelDelayedActionMessage

Request to cancel the delayed action

FieldTypeLabelDescription
prev_client_id bytes

Order id is going to be updated

all_for_trader int32

CancelOrderMessage

Defines the order properties during order cancellation

FieldTypeLabelDescription
prev_client_id bytes

Order id is going to be updated

ChangeLeverageAllMessage

Defines the number of leverage to be changed for all contracts

FieldTypeLabelDescription
leverage uint32

Order leverage

ChangeLeverageMessage

Defines the number of leverage to be changed for the specific contract (no UI elements for doing this action by a trader)

FieldTypeLabelDescription
leverage uint32

Order leverage

contract_id uint64

Contract ID is going to be changed

CloseAllContractsMessage

Request to close all Contracts

FieldTypeLabelDescription
order_type OrderType

Order type

price Decimal

Order price

order_flags uint32

Not used, May be used for defining the order position in a queue

CloseContractMessage

Request to close the particular Contract

FieldTypeLabelDescription
contract_id uint64

Contract ID is going to be changed

order_type OrderType

Order type

price Decimal

Order price

quantity Decimal

Quantity of the Order

order_flags uint32

Not used, May be used for defining the order position in a queue

ContractClosedMessage

Identifies Contract closure, response to CloseContractMessage

FieldTypeLabelDescription
order_ids bytes repeated

Array of ID of canceled Orders

ContractTransferredMessage

Defines the new system user who owned the Contract during liquidation (System message)

FieldTypeLabelDescription
old_contract_id uint64

ID of the closed Contract

old_trader_id uint32

ID of the previous trader

new_client_id bytes

Order ID of the new Order (for instance, when Order was partially matched)

DailyStatisticsMessage

Defines info of the appropriate market by the last 24 hours

FieldTypeLabelDescription
start_timestamp int64

volume Decimal

Sum of trades quantity: measured in the quantity of Contracts on Futures markets and in the amount of currency on Spot markets

gross Decimal

Sum of trades quantity: measured in quantity in $ on Futures markets and in quantity in quote currency on Spot markets

high_price Decimal

The highest price by the last 24 hours

low_price Decimal

The lowest price by the last 24 hours

Decimal

Defines the numbers type used for transferring to Protobuf

FieldTypeLabelDescription
value64 int64

64-bit signed integer value type.

value256 bytes

protobuf does not support 256-bit values natively, this is ULEB128 value used only if value64 is not enough Protobuf does not support 256-bit values natively, this is ULEB128 value. Used only if value64 is not enough.

scale uint32

The number of digits after the decimal point.

DelayedActionMessage

Defines the info per one delayed action

FieldTypeLabelDescription
delayed_action_timestamp int64

Time when delayed action was created

delayed_action_client_id bytes

ID of the future Order, that will be created if delayed action happened

delayed_action_id bytes

Delayed action ID

old_delayed_action_id bytes

ID of the initial delayed action if delayed action updated (updated delayed action received the new ID)

old_delayed_action_client_id bytes

ID of the initial future Order, that will be created if delayed action updated (future Order received the new ID)

action_type DelayedActionType

Action type of delayed action

trigger_variable DelayedTriggerVariable

Variable in the condition for placing an order

trigger_condition DelayedTriggerCondition

Comparison type in the condition of placing an order

trigger_value Decimal

Numerical threshold in the condition for placing an order

order OrderMessage

Info regarding the future order that will be created if delayed action happened

DelayedActionStatusMessage

Defines the info regarding delayed actions

FieldTypeLabelDescription
status OrderStatus

Order status

delayed_actions DelayedActionMessage repeated

The array of the delayed actions

ErrorMessage

minimal message to return the error code

Defines the error code

ExchangeRateItemMessage

Defines the info regarding rate of the particular currency pair exchange

FieldTypeLabelDescription
currency_pair_id uint32

Currency pair id

mark_price Decimal

Spot Price

sell_price Decimal

recommended sell price, for example, for DGTX/BTC it is the price of purchase of one DGTX from the treasury

buy_price Decimal

recommended buy price, for DGTX/BTC it is the price of buying back DGTX to the treasury

last_update_time int64

Fetch time (when info was collected)

unreliable int32

Flag indicates source (external market) credibility

ExchangeRateMessage

System message, indicates exchange rates on other trades per particular currency pair

FieldTypeLabelDescription
currency_pair_id uint32

Currency pair id

mark_price Decimal

Spot Price

sell_price Decimal

recommended sell price, for example, for DGTX/BTC it is the price of purchase of one DGTX from the treasury

buy_price Decimal

recommended buy price, for DGTX/BTC it is the price of buying back DGTX to the treasury

unreliable int32

Flag indicates source (external market) credibility

ExchangeRatesMessage

Defines the info regarding rate of all currency pairs exchange, response to GetExchangeRatesMessage

FieldTypeLabelDescription
items ExchangeRateItemMessage repeated

Array of the currency pairs

FundingInfoMessage

FieldTypeLabelDescription
funding_time int64

Remaining time until the next funding event

funding_rate Decimal

Funding rate indicates which positions should pay to traders with the opposite positions at the Funding event

payout_per_contract Decimal

Payout per Contract

open_interest Decimal

FundingMessage

Message received after Funding event

FieldTypeLabelDescription
trades TradeMessage repeated

Array of the Open Contracts

trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

upnl Decimal

Unrealized profit and loss

pnl Decimal

Profit and loss

accum_quantity Decimal

The amount of orders placed by a trader for the last 8 hours (period between funding events)

position_contracts Decimal

Sum of Quantity under all Contracts

position_volume Decimal

Sum of (Entry Price * Quantity) under all Contracts

position_liquidation_volume Decimal

Sum of (Liquidation Price * Quantity) under all Contracts (0.5 of margin)

position_bankruptcy_volume Decimal

Sum of (Bankruptcy Price * Quantity) under all Contracts (full margin)

position_type OrderPosition

Position of open Contracts

buy_order_margin Decimal

Margin of a buy order

sell_order_margin Decimal

Margin of a Sell order

payout_per_contract Decimal

Payout per Contract

payout Decimal

Payout for all Contracts

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

mark_price Decimal

Spot Price

position_margin_change Decimal

Defines how much position changed, measured in currency

buy_order_quantity Decimal

Sum of quantity under all Buy Orders

sell_order_quantity Decimal

Quantity of contracts in the sell order

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

funding_time int64

Remaining time until the next funding event

funding_type FundingType

Funding Type

GetExchangeRatesMessage

Request for getting info regarding rate of all currency pairs exchange

GetMarketStateMessage

Request to get the the appropriate market state

GetTraderBalanceMessage

Request to engine in order to receive Trader Balance

FieldTypeLabelDescription
currency_id uint32

Currency ID

GetTraderStatusMessage

Trader Status Request in order ot receive TraderStatusMessage

LeverageMessage

Defines the Leverage size (per trader)

FieldTypeLabelDescription
leverage uint32

Order leverage

trades TradeMessage repeated

Array of the Open Contracts

orders OrderMessage repeated

Array of the Orders

trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

upnl Decimal

Unrealized profit and loss

pnl Decimal

Profit and loss

accum_quantity Decimal

The amount of orders placed by a trader for the last 8 hours (period between funding events)

position_contracts Decimal

Sum of Quantity under all Contracts

position_volume Decimal

Sum of (Entry Price * Quantity) under all Contracts

position_liquidation_volume Decimal

Sum of (Liquidation Price * Quantity) under all Contracts (0.5 of margin)

position_bankruptcy_volume Decimal

Sum of (Bankruptcy Price * Quantity) under all Contracts (full margin)

position_type OrderPosition

Position of open Contracts

buy_order_margin Decimal

Margin of a buy order

sell_order_margin Decimal

Margin of a Sell order

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

buy_order_quantity Decimal

Sum of quantity under all Buy Orders

sell_order_quantity Decimal

Quantity of contracts in the sell order

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

LiquidationEntryMessage

FieldTypeLabelDescription
liquidation_price Decimal

The price at which the trade will be liquidated

quantity Decimal

Quantity of the Order

entry_timestamp int64

position OrderPosition

Order Position

LiquidationsMessage

FieldTypeLabelDescription
liquidation_entries LiquidationEntryMessage repeated

MarketStateMessage

Defines the state of the appropriate market, response to GetMarketStateMessage

FieldTypeLabelDescription
trades TradeMessage repeated

Array of the Open Contracts

ohlcvs OHLCVMessage repeated

Array of the time frame lengths

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

event_timestamp int64

daily_stats DailyStatisticsMessage repeated

Array of Market states, includes info the last and current day

funding_time int64

Remaining time until the next funding event

funding_rate Decimal

Funding rate indicates which positions should pay to traders with the opposite positions at the Funding event

next_funding_rate Decimal

Funding rate for the next period

tick_value Decimal

Measure of the minimum upward or downward movement in the price of an asset. For example, a Tick Size of $5 means that the price of the futures is changing by $5 i.e. $0, $5, $10

tick_price Decimal

Contract price increment. This value is used in money change from USD to DGTX within the exchange. Denominated in DGTX, each market has a different exact value.

contract_value Decimal

Last trade price (value of 1 contract)

funding_interval int64

Funding period indicates how often Funding event happen (every 8 hours for now)

payout_per_contract Decimal

Payout per Contract

alert_timestamp int64

alert_text string

open_interest Decimal

insurance_fund Decimal

MarketStateUpdateMessage

Received info regarding Market State changes

FieldTypeLabelDescription
trades TradeMessage repeated

Array of the Open Contracts

ohlcvs OHLCVMessage repeated

Array of the time frame lengths

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

event_timestamp int64

daily_stats DailyStatisticsMessage repeated

Array of Market states, includes info the last and current day

funding_time int64

Remaining time until the next funding event

funding_rate Decimal

Funding rate indicates which positions should pay to traders with the opposite positions at the Funding event

next_funding_rate Decimal

Funding rate for the next period

funding_interval int64

Funding period indicates how often Funding event happen (every 8 hours for now)

impact_base_quantity Decimal

dgtx_to_base_price Decimal

impact_value Decimal

impact_quantity Decimal

impact_bid_value Decimal

impact_bid_count Decimal

impact_ask_value Decimal

impact_ask_count Decimal

future_value Decimal

future_count Decimal

spot_price Decimal

Spot Price

quote_interest_rate Decimal

indicative interest rate for borrowing quote (USD) DAILY Indicative interest rate for borrowing quote (USD) DAILY

base_interest_rate Decimal

indicative interest rate for borrowing base (BTC) DAILY Indicative interest rate for borrowing base (BTC) DAILY

effective_rate Decimal

the current funding rate proportional to the time before the next funding Current funding rate proportional to the time before the next funding

fair_price Decimal

the futures price adjusted Futures price adjusted

premium_index Decimal

premium index Premium index

premium_index_sum Decimal

for average computation Used for average computation ?

premium_index_count Decimal

for average computation Used for average computation ?

payout_per_contract Decimal

Payout per Contract

next_payout_per_contract Decimal

alert_timestamp int64

alert_text string

open_interest Decimal

insurance_fund Decimal

trading_suspended bool

next_resume_time int64

next_suspend_time int64

Message

FieldTypeLabelDescription
msg_type MessageType

Type of a message

timestamp int64

Unix Timestamp, exact time in milliseconds ??

sender uint32

Engine ID that sends messages (always one now)

serial uint64

Message ID (global message counter)

market_id uint32

Market ID to which the message belongs

trader_id uint32

User ID by which the information is received in the message

client_id bytes

Order ID

error_code uint32

Error code

session_id int64

Session ID (Not Used)

auth bytes

User signature to send message (Not Used)

place_order_msg PlaceOrderMessage

cancel_order_msg CancelOrderMessage

cancel_all_orders_msg CancelAllOrdersMessage

change_leverage_msg ChangeLeverageMessage

order_status_msg OrderStatusMessage

order_filled_msg OrderFilledMessage

change_leverage_all_msg ChangeLeverageAllMessage

trader_balance_msg TraderBalanceMessage

position_event_msg PositionEventMessage

leverage_msg LeverageMessage

exchange_rate_msg ExchangeRateMessage

order_book_request_msg OrderBookRequestMessage

order_book_msg OrderBookMessage

order_book_updated_msg OrderBookUpdatedMessage

ping_msg PingMessage

pong_msg PongMessage

update_order_msg UpdateOrderMessage

get_trader_status_msg GetTraderStatusMessage

trader_status_msg TraderStatusMessage

funding_msg FundingMessage

ohlcv_list_msg OHLCVListMessage

trade_list_msg TradeListMessage

subscribe_msg SubscribeMessage

subscribe_status_msg SubscribeStatusMessage

update_contract_msg UpdateContractMessage

update_all_contracts_msg UpdateAllContractsMessage

close_contract_msg CloseContractMessage

close_all_contracts_msg CloseAllContractsMessage

order_canceled_msg OrderCanceledMessage

get_market_state_msg GetMarketStateMessage

market_state_msg MarketStateMessage

get_exchange_rates_msg GetExchangeRatesMessage

exchange_rates_msg ExchangeRatesMessage

market_state_update_msg MarketStateUpdateMessage

contract_closed_msg ContractClosedMessage

contract_transferred_msg ContractTransferredMessage

get_trader_balance_msg GetTraderBalanceMessage

trader_balance_updated_msg TraderBalanceUpdatedMessage

place_delayed_action_msg PlaceDelayedActionMessage

update_delayed_action_msg UpdateDelayedActionMessage

cancel_delayed_action_msg CancelDelayedActionMessage

delayed_action_status_msg DelayedActionStatusMessage

liquidations_msg LiquidationsMessage

funding_info_msg FundingInfoMessage

error_msg ErrorMessage

Error message

OHLCVListMessage

Defines the all trading chart info

FieldTypeLabelDescription
ohlcvs OHLCVMessage repeated

Array of the time frame lengths

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

OHLCVMessage

Defines the time frame length of the trading chart (e.g. for building the one candle)

FieldTypeLabelDescription
open_price Decimal

Open OHLCV (open-high-low-close chart) price of the time frame length

high_price Decimal

The highest OHLCV (open-high-low-close chart) price of the time frame length

low_price Decimal

The lowest OHLCV (open-high-low-close chart) price of the time frame length

close_price Decimal

Close OHLCV (open-high-low-close chart) price of the time frame length

volume Decimal

Quantity under the new base price

average_oracle_price Decimal

Average Spot Price of the time frame length

timestamp int64

Unix Timestamp, exact time in milliseconds ??

OrderBookEntryMessage

Defines Price Point

FieldTypeLabelDescription
price Decimal

Order price

quantity Decimal

Quantity of the Order

entry_timestamp int64

trade_id uint64

OrderBookMessage

Defines Order Book Info per OrderBookRequestMessage request

FieldTypeLabelDescription
bids OrderBookEntryMessage repeated

The array of Bids related to the Order Book

asks OrderBookEntryMessage repeated

The array of Asks related to the Order Book

mark_price Decimal

Spot Price

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

OrderBookRequestMessage

Request for Order Book of the appropriate market

OrderBookTradeEntryMessage

Defines Order Book info regarding recent trades on the market

FieldTypeLabelDescription
price Decimal

Order price

quantity Decimal

Quantity of the Order

entry_timestamp int64

trade_id uint64

side OrderSide

Order side

OrderBookUpdatedMessage

Defines Order Book Info, no request required

FieldTypeLabelDescription
bid_updates OrderBookEntryMessage repeated

The array of the Updated Bids related to the Order Book

ask_updates OrderBookEntryMessage repeated

The array of the Updated Asks related to the Order Book

trades OrderBookEntryMessage repeated

The array of the created Trades

trades2 OrderBookTradeEntryMessage repeated

The array of the created Trades but with Trade Side that defines the trade color in the Recent Trades panel (red color means Sell side, green color means Buy side)

mark_price Decimal

Spot Price

last_full_timestamp int64

Time when the last Order book was sent by engine

update_serial int64

ID of Update Event

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

OrderCanceledMessage

Defines info regarding Canceled Order, response to CancelOrderMessage

FieldTypeLabelDescription
status OrderStatus

Order status

prev_client_id bytes

Order id is going to be updated

order_ids bytes repeated

the canceled orders: deprecated! Array of ID of canceled Orders

orders OrderMessage repeated

the verbose list of canceled orders Array of the Orders

trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

upnl Decimal

Unrealized profit and loss

pnl Decimal

Profit and loss

accum_quantity Decimal

The amount of orders placed by a trader for the last 8 hours (period between funding events)

buy_order_margin Decimal

Margin of a buy order

sell_order_margin Decimal

Margin of a Sell order

buy_order_quantity Decimal

Sum of quantity under all Buy Orders

sell_order_quantity Decimal

Quantity of contracts in the sell order

trader_balance_2 Decimal

for spot market, balance in base currency

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

mark_price Decimal

Spot Price

OrderFilledMessage

Received when Order was matched

FieldTypeLabelDescription
status OrderStatus

Order status

new_client_id bytes

Order ID of the new Order (for instance, when Order was partially matched)

order_type OrderType

Order type

side OrderSide

Order side

leverage uint32

Order leverage

duration OrderDuration

Order duration (e.g. GFD, GTC)

price Decimal

Order price

quantity Decimal

Quantity of the Order

paid_price Decimal

Price that trader paid for the order (Price / Leverage)

orig_client_id bytes

Used when Order partially matched, Order id (orig_client_id) is given to the initial Order in a chain

open_time int64

Time when order was placed. May be used when Order partially matched, open_time defines the time when the new Order was placed

orig_quantity Decimal

Used when Order partially matched, orig_quantity defines the quantity of the initial Order in a chain

volume Decimal

for spot market if 'price * quantity' has been rounded

dropped_quantity Decimal

Used when Order partially matched, dropped_quantity defines the quantity of the matched part

old_order_id bytes

from v129: the auto-generated order_id that matched

orig_order_id bytes

from v129: the auto-generated order_id of the first order in chain

trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

upnl Decimal

Unrealized profit and loss

pnl Decimal

Profit and loss

accum_quantity Decimal

The amount of orders placed by a trader for the last 8 hours (period between funding events)

position_contracts Decimal

Sum of Quantity under all Contracts

position_volume Decimal

Sum of (Entry Price * Quantity) under all Contracts

position_liquidation_volume Decimal

Sum of (Liquidation Price * Quantity) under all Contracts (0.5 of margin)

position_bankruptcy_volume Decimal

Sum of (Bankruptcy Price * Quantity) under all Contracts (full margin)

position_type OrderPosition

Position of open Contracts

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

buy_order_margin Decimal

Margin of a buy order

sell_order_margin Decimal

Margin of a Sell order

buy_order_quantity Decimal

Sum of quantity under all Buy Orders

sell_order_quantity Decimal

Quantity of contracts in the sell order

mark_price Decimal

Spot Price

trader_balance_2 Decimal

for spot market, balance in base currency

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

order_flags uint32

Not used, May be used for defining the order position in a queue

trades TradeMessage repeated

Array of the Open Contracts

raw_trades TradeMessage repeated

Array of new contracts created after matching the Order

OrderMessage

Defines Order Info

FieldTypeLabelDescription
order_client_id bytes

FIXME: rename to order_id // Client order UUID

order_timestamp int64

Time when the Order has been placed

order_trader_id uint32

Trader ID who placed the order (Maker)

order_type OrderType

Order type

side OrderSide

Order side

leverage uint32

Order leverage

duration OrderDuration

Order duration (e.g. GFD, GTC)

price Decimal

Order price

quantity Decimal

Quantity of the Order

paid_price Decimal

Price that trader paid for the order (Price / Leverage)

volume Decimal

for spot market if 'price * quantity' has been rounded

contract_id uint64

Contract ID is going to be changed

old_client_id bytes

FIXME: rename to old_order_id

orig_client_id bytes

Used when Order partially matched, Order id (orig_client_id) is given to the initial Order in a chain

open_time int64

Time when order was placed. May be used when Order partially matched, open_time defines the time when the new Order was placed

orig_quantity Decimal

Used when Order partially matched, orig_quantity defines the quantity of the initial Order in a chain

is_closing int32

Reduce Only flag

may_increase int32

Flag defines that Order may increase a position

orig_order_id bytes

from v129: the auto-generated order_id of the first order in chain

order_flags uint32

Not used, May be used for defining the order position in a queue

OrderStatusMessage

Defines the status of an order

FieldTypeLabelDescription
status OrderStatus

Order status

trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

upnl Decimal

Unrealized profit and loss

pnl Decimal

Profit and loss

accum_quantity Decimal

The amount of orders placed by a trader for the last 8 hours (period between funding events)

buy_order_margin Decimal

Margin of a buy order

sell_order_margin Decimal

Margin of a Sell order

buy_order_quantity Decimal

Sum of quantity under all Buy Orders

sell_order_quantity Decimal

Quantity of contracts in the sell order

trader_balance_2 Decimal

for spot market, balance in base currency

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

position_contracts Decimal

Sum of Quantity under all Contracts

position_volume Decimal

Sum of (Entry Price * Quantity) under all Contracts

position_liquidation_volume Decimal

Sum of (Liquidation Price * Quantity) under all Contracts (0.5 of margin)

position_bankruptcy_volume Decimal

Sum of (Bankruptcy Price * Quantity) under all Contracts (full margin)

position_type OrderPosition

Position of open Contracts

mark_price Decimal

Spot Price

order_type OrderType

Order type

side OrderSide

Order side

leverage uint32

Order leverage

duration OrderDuration

Order duration (e.g. GFD, GTC)

price Decimal

Order price

quantity Decimal

Quantity of the Order

paid_price Decimal

Price that trader paid for the order (Price / Leverage)

old_contract_id uint64

ID of the closed Contract

volume Decimal

for spot market if 'price * quantity' has been rounded

is_closing int32

Reduce Only flag

order_client_id bytes

order_timestamp int64

Time when the Order has been placed

orig_client_id bytes

Used when Order partially matched, Order id (orig_client_id) is given to the initial Order in a chain

open_time int64

Time when order was placed. May be used when Order partially matched, open_time defines the time when the new Order was placed

orig_quantity Decimal

Used when Order partially matched, orig_quantity defines the quantity of the initial Order in a chain

orig_order_id bytes

from v129: the auto-generated order_id of the first order in chain

order_flags uint32

Not used, May be used for defining the order position in a queue

PingMessage

Message for checking connection with engine

PlaceDelayedActionMessage

Request to place the delayed action

FieldTypeLabelDescription
delayed_action DelayedActionMessage

Delayed action info

PlaceOrderMessage

Defines the order properties during order placement

FieldTypeLabelDescription
order_type OrderType

Order type

side OrderSide

Order side

leverage uint32

Order leverage

duration OrderDuration

Order duration (e.g. GFD, GTC)

price Decimal

Order price

quantity Decimal

Quantity of the Order

is_closing int32

Reduce Only flag

order_flags uint32

Not used, May be used for defining the order position in a queue

PongMessage

Engine response to PingMessage

FieldTypeLabelDescription
ping_sender uint32

Sender of PingMessage that was set in envelope Message

ping_serial uint64

Serial of PingMessage that was set in envelope Message

ping_timestamp int64

Ping of PingMessage that was set in envelope Message

PositionEventMessage

Defines the Position changes

FieldTypeLabelDescription
liquidated_contracts uint64 repeated

liquidated contracts are just taken from the trader DEPRECATED, see liquidated_trades

liquidated_trades TradeMessage repeated

Array of the Liquidated Contracts

terminated_orders bytes repeated

DEPRECATED, see orders

orders OrderMessage repeated

liquidated orders

trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

upnl Decimal

Unrealized profit and loss

pnl Decimal

Profit and loss

accum_quantity Decimal

The amount of orders placed by a trader for the last 8 hours (period between funding events)

position_contracts Decimal

Sum of Quantity under all Contracts

position_volume Decimal

Sum of (Entry Price * Quantity) under all Contracts

position_liquidation_volume Decimal

Sum of (Liquidation Price * Quantity) under all Contracts (0.5 of margin)

position_bankruptcy_volume Decimal

Sum of (Bankruptcy Price * Quantity) under all Contracts (full margin)

position_type OrderPosition

Position of open Contracts

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

buy_order_margin Decimal

Margin of a buy order

sell_order_margin Decimal

Margin of a Sell order

trader_balance_increment Decimal

уточнить: минимальный шаг, на который баланс может измениться

buy_order_quantity Decimal

Sum of quantity under all Buy Orders

sell_order_quantity Decimal

Quantity of contracts in the sell order

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

mark_price Decimal

Spot Price

floor_mark_price Decimal

Mark Price round down to the size chart

ceil_mark_price Decimal

Mark Price round up to the size chart

SubscribeMessage

Used for subscribing and unsubscribing from received info (messages) via marketdata channel

FieldTypeLabelDescription
subscribe_mask uint64

Binary mask (e.g. 01111), each digit corresponds to a certain type of message, where 1 means that we want to receive the certain message type and 0 if we don’t want to change the subscription (skip the appropriate message type)

unsubscribe_mask uint64

Binary mask (e.g. 01111), where 1 means we want to unsubscribe from the certain message type and 0 if we don’t want to change the subscription (skip the appropriate message type)

SubscribeStatusMessage

Response to SubscribeMessage

FieldTypeLabelDescription
subscribe_mask uint64

Binary mask (e.g. 01111), each digit corresponds to a certain type of message, where 1 means that we want to receive the certain message type and 0 if we don’t want to change the subscription (skip the appropriate message type)

TradeListMessage

Defines the list of Open Contracts

FieldTypeLabelDescription
trades TradeMessage repeated

Array of the Open Contracts

TradeMessage

Defines the Open Contract information

FieldTypeLabelDescription
trade_timestamp int64

Time of Trade (when Contract was Opened or Closed)

trade_trader_id uint32

Trader ID who matched the order (Taker)

position OrderPosition

Order Position

price Decimal

Order price

paid_price Decimal

Price that trader paid for the order (Price / Leverage)

liquidation_price Decimal

The price at which the trade will be liquidated

bankruptcy_price Decimal

Bankruptcy Price under the appropriate Contract, indicates the price at which a trader lost full margin related to the contract

quantity Decimal

Quantity of the Order

exit_price Decimal

Average trade closing price

leverage uint32

Order leverage

contract_id uint64

Contract ID is going to be changed

old_contract_id uint64

ID of the closed Contract

old_client_id bytes

Order ID that was matched and as a result Contract was opened

is_increase int32

'Reduce only' flag, defines if quantity in the Contract may increase

is_liquidation int32

Flag defines if Contract was liquidated

open_time int64

Time of creating the contracts chain

entry_quantity Decimal

Total quantity of increments of contract chain

exit_quantity Decimal

Total quantity of decrements of trade

exit_volume Decimal

Exit quantity * Exit price, where Exit quantity - quantity of closed contracts and Exit Price - contract closing price

funding_paid_price Decimal

Total number of payout * qty in the trade (at the time of funding) for all fundings

funding_quantity Decimal

Total quantity that was funded

funding_volume Decimal

Amount of funds accrued during all fundings under the contracts chain

funding_count int32

The number of fundings that occurred during the existence of the current trade

is_funding int32

Flag indication that contract was changed based on funding event

is_maker int32

Maker of the Order

orig_contract_id uint64

The initial Contract ID of the chain

is_settlement int32

Flag defines if Contract was liquidated during the maintenance (e.g. new release deployment)

volume Decimal

for spot market if 'price * quantity' has been rounded

fee_currency_id uint32

fee_volume Decimal

TraderBalanceMessage

Defines the trader's balance info

FieldTypeLabelDescription
currency_id uint32

Currency ID

trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

upnl Decimal

Unrealized profit and loss

pnl Decimal

Profit and loss

accum_quantity Decimal

The amount of orders placed by a trader for the last 8 hours (period between funding events)

position_contracts Decimal

Sum of Quantity under all Contracts

position_volume Decimal

Sum of (Entry Price * Quantity) under all Contracts

position_liquidation_volume Decimal

Sum of (Liquidation Price * Quantity) under all Contracts (0.5 of margin)

position_bankruptcy_volume Decimal

Sum of (Bankruptcy Price * Quantity) under all Contracts (full margin)

position_type OrderPosition

Position of open Contracts

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

buy_order_margin Decimal

Margin of a buy order

sell_order_margin Decimal

Margin of a Sell order

buy_order_quantity Decimal

Sum of quantity under all Buy Orders

sell_order_quantity Decimal

Quantity of contracts in the sell order

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

TraderBalanceUpdatedMessage

Defines the new trader balance, response to UpdateTraderBalanceMessage (System message)

FieldTypeLabelDescription
currency_id uint32

Currency ID

increment Decimal

Trader’s balance increasing in currency_id

trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

TraderStatusMessage

Defines Trader Status info, response to GetTraderStatusMessage, UpdateContractMessage, UpdateAllContractsMessage?

FieldTypeLabelDescription
trader_balance Decimal

Balance of the trading account (Bal)

order_margin Decimal

Order margin

position_margin Decimal

Position margin

upnl Decimal

Unrealized profit and loss

pnl Decimal

Profit and loss

accum_quantity Decimal

The amount of orders placed by a trader for the last 8 hours (period between funding events)

mark_price Decimal

Spot Price

position_contracts Decimal

Sum of Quantity under all Contracts

position_volume Decimal

Sum of (Entry Price * Quantity) under all Contracts

position_liquidation_volume Decimal

Sum of (Liquidation Price * Quantity) under all Contracts (0.5 of margin)

position_bankruptcy_volume Decimal

Sum of (Bankruptcy Price * Quantity) under all Contracts (full margin)

position_type OrderPosition

Position of open Contracts

last_trade_price Decimal

Last Trade Price (LTP)

last_trade_quantity Decimal

Last Trade Quantity (on the ladder or Recent Trades (Amount column))

last_trade_timestamp int64

Time of the last Trade

buy_order_margin Decimal

Margin of a buy order

sell_order_margin Decimal

Margin of a Sell order

trades TradeMessage repeated

Array of the Open Contracts

orders OrderMessage repeated

Array of the Orders

leverage uint32

Order leverage

buy_order_quantity Decimal

Sum of quantity under all Buy Orders

sell_order_quantity Decimal

Quantity of contracts in the sell order

trader_balance_2 Decimal

For spot market, balance in base currency

delayed_actions DelayedActionMessage repeated

The array of the delayed actions

full_position_margin Decimal

Sum of Position Margin under all markets

full_buy_order_margin Decimal

Sum of Buy Orders Margin under all markets

full_sell_order_margin Decimal

Sum of Sell Orders Margin under all markets

fee_maker_rate Decimal

fee_taker_rate Decimal

UpdateAllContractsMessage

Request to update all Contracts

FieldTypeLabelDescription
update_mask uint32

update bitmask: stop_loss: 1, take_profit: 2, leverage: 4; stop_loss and stop_loss_type are updated at once

leverage uint32

Order leverage

UpdateContractMessage

Request to update the particular Contract

FieldTypeLabelDescription
contract_id uint64

Contract ID is going to be changed

leverage uint32

Order leverage

UpdateDelayedActionMessage

Request to update the delayed action

FieldTypeLabelDescription
prev_client_id bytes

Order id is going to be updated

delayed_action DelayedActionMessage

Delayed action info

UpdateOrderMessage

Defines the order properties during order updating (no UI elements for doing this action by a trader)

FieldTypeLabelDescription
prev_client_id bytes

Order id is going to be updated

order_type OrderType

Order type

side OrderSide

Order side

leverage uint32

Order leverage

duration OrderDuration

Order duration (e.g. GFD, GTC)

price Decimal

Order price

quantity Decimal

Quantity of the Order

order_flags uint32

Not used, May be used for defining the order position in a queue

DelayedActionType

Defines the type of delayed action

NameNumberDescription
DA_UNDEFINED 0

Delayed action type is not defined

DA_ORDER 1

Delayed order has been placed

DelayedTriggerCondition

Defines the condition of the delayed action

NameNumberDescription
DTC_UNDEFINED 0

Condition of the delayed action is not defined

DTC_GREATER_OR_EQUAL 1

Delayed action will place an order if Spot Price >= the appropriate price

DTC_LESS_OR_EQUAL 2

Delayed action will place an order if Spot Price <= the appropriate price

DelayedTriggerVariable

Defines the variable of condition for delayed action

NameNumberDescription
DTV_UNDEFINED 0

condition variable is not defined

DTV_ORACLE_PRICE 1

Condition of placing the byu market order by creating the delayed action, trader price variable is taking into consideration (e.g. Place Buy Market Order if Spot Price (SP) ≤ n USD)

DTV_LAST_TRADE_PRICE 2

Condition of placing the byu market order by creating the delayed action, last trade price variable is taking into consideration (e.g. Place Buy Market Order if Last Trade Price (LTP) ≤ n USD)

FundingType

Defines the type of funding

NameNumberDescription
FUNDING_UNKNOWN 0

Funding type is not defined

FUNDING_FUNDING 1

Rewards to miners in scope of the funding event

FUNDING_LIQUIDITY_REWARD 2

Rewards to miners in scope of the liquidity mining

MessageType

Defines the type of a Message

NameNumberDescription
NOP 0

No-op (No operation)

PLACE_ORDER 513

Create a new Order

CANCEL_ORDER 514

Cancel an active Order

CANCEL_ALL_ORDERS 515

Cancel all active Orders

CHANGE_LEVERAGE 516

Leverage changing for a specific contract

ORDER_STATUS 517

Placed order information (PLACE_ORDER message response)

ORDER_FILLED 518

Matched order information

CHANGE_LEVERAGE_ALL 519

Leverage changing for all contract (for exact market)

TRADER_BALANCE_UPDATE 521

User balance request (for trading (NOT main balance)) - Service message

TRADER_BALANCE 522

Trading balance information (TRADER_BALANCE_UPDATE message response)

POSITION_EVENT 523

New information about a position when a position has been changed

LEVERAGE 524

New information about a leverage when a leverage has been changed (CHANGE_LEVERAGE & CHANGE_LEVERAGE_ALL message response)

EXCHANGE_RATE 525

Pair rate information (EXCHANGE_RATE_UPDATE message response)

ORDER_BOOK_REQUEST 526

Request for order book information

ORDER_BOOK 527

Order book information (ORDER_BOOK_REQUEST message response)

ORDER_BOOK_UPDATED 528

Changes since the previous ORDER_BOOK_UPDATED. Приходит дельта по прайс поинтам с момента последнего изменения

PING 529

Connection check request message

PONG 530

Connection check response message (PING message response)

UPDATE_ORDER 531

Quantity changing request in the order

GET_TRADER_STATUS 532

Trader status request

TRADER_STATUS 533

Request for overall information about the trader (GET_TRADER_STATUS message response)

FUNDING 535

Funding information message (when Funding happened)

OHLCV_LIST 536

Candles information for a trading view

TRADE_LIST 537

DEPRECATED

SUBSCRIBE 538

Request to subscribe for certain information in the Market Data channel

SUBSCRIBE_STATUS 539

Subscription request response

UPDATE_CONTRACT 540

NOT IMPLEMENTED

UPDATE_ALL_CONTRACTS 541

NOT IMPLEMENTED

CLOSE_CONTRACT 542

Closing a specific contract

CLOSE_ALL_CONTRACTS 543

Closing all contracts (for one market)

ORDER_CANCELED 546

Specific order cancellation (CANCEL_ORDER & CANCEL_ALL_ORDERS message response)

GET_MARKET_STATE 548

Request for information on the market

MARKET_STATE 549

Market information (response for the GET_MARKET_STATE message)

GET_EXCHANGE_RATES 550

Rate request

EXCHANGE_RATES 551

Rate information (GET_EXCHANGE_RATES message response)

MARKET_STATE_UPDATE 552

Updated information on the market

CONTRACT_CLOSED 553

Contract closure information (CLOSE_CONTRACT & CLOSE_ALL_CONTRACTS message response)

CONTRACT_TRANSFERRED 554

Contracts that have been transferred to the system trader (in a liquidation or settlement situation)

GET_TRADER_BALANCE 562

Trader Balance request

TRADER_BALANCE_UPDATED 564

Updated information about Trader Balance (UPDATE_TRADER_BALANCE message response)

PLACE_DELAYED_ACTION 566

Create a pending order

UPDATE_DELAYED_ACTION 567

Update pending order parameters

CANCEL_DELAYED_ACTION 568

Cancel a pending order

DELAYED_ACTION_STATUS 569

Pending order information (PLACE_DELAYED_ACTION & UPDATE_DELAYED_ACTION & CANCEL_DELAYED_ACTION message response)

LIQUIDATIONS 570

Information on all liquidated contracts for all users for 1 time tick (since the last change in the spot price)

FUNDING_INFO 571

General information about funding

ERROR 572

Error information - Service message

OrderDuration

Defines how long an order will be active

NameNumberDescription
DURATION_UNDEFINED 0

Duration is not defined

GFD 1

good for the day

GTC 2

good till cancel

GTF 3

good till funding

IOC 4

immediate or cancel

FOK 5

fill or kill

OrderPosition

Defines the position of open Contracts

NameNumberDescription
POSITION_UNDEFINED 0

Contract position is not defined

LONG 1

Contract position is long

SHORT 2

Contract position is short

OrderSide

Defines the side of an Order

NameNumberDescription
SIDE_UNDEFINED 0

Order side is not defined

BUY 1

Trader creates the buy/long order

SELL 2

Trader creates the short/sell order

OrderStatus

Defines the status of an Order

NameNumberDescription
STATUS_UNDEFINED 0

Order status is not defined

PENDING 1

The order has not been processed by the engine yet,

ACCEPTED 2

The order has been accepted by the engine

REJECTED 3

The order has not been accepted by the engine, not processed and rejected

CANCELED 4

The order has been canceled by the user

FILLED 5

The order has been matched

PARTIAL 6

A part of the order has been filled

TERMINATED 7

The order has been canceled after Leverage changes

EXPIRED 8

The order was canceled according to the order type's rules (e.g. ??) or by the exchange (e.g. ??)

TRIGGERED 9

The order has been triggered after the delayed action completed

OrderType

Defines the type of an Order

NameNumberDescription
TYPE_UNDEFINED 0

Order type is not defined

MARKET 1

Trader creates the market order

LIMIT 2

Trader creates the limit order

ValueType

Defines the type of value

NameNumberDescription
TYPE_NONE 0

Value type is not defined

INT64 1

Integer value type

UINT64 2

Unsigned Integer value type

DOUBLE 3

Double value type

STRING 4

String value type

BYTES 5

Bytes value type

DECIMAL 6

Decimal value type

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)