Defines the order properties during all orders cancellation
| Field | Type | Label | Description |
| side | OrderSide | Order side |
|
| price | Decimal | Order price |
Request to cancel the delayed action
| Field | Type | Label | Description |
| prev_client_id | bytes | Order id is going to be updated |
|
| all_for_trader | int32 |
|
Defines the order properties during order cancellation
| Field | Type | Label | Description |
| prev_client_id | bytes | Order id is going to be updated |
Defines the number of leverage to be changed for all contracts
| Field | Type | Label | Description |
| leverage | uint32 | Order leverage |
Defines the number of leverage to be changed for the specific contract (no UI elements for doing this action by a trader)
| Field | Type | Label | Description |
| leverage | uint32 | Order leverage |
|
| contract_id | uint64 | Contract ID is going to be changed |
Request to close all Contracts
| Field | Type | Label | Description |
| 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 |
Request to close the particular Contract
| Field | Type | Label | Description |
| 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 |
Identifies Contract closure, response to CloseContractMessage
| Field | Type | Label | Description |
| order_ids | bytes | repeated | Array of ID of canceled Orders |
Defines the new system user who owned the Contract during liquidation (System message)
| Field | Type | Label | Description |
| 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) |
Defines info of the appropriate market by the last 24 hours
| Field | Type | Label | Description |
| 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 |
Defines the numbers type used for transferring to Protobuf
| Field | Type | Label | Description |
| 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. |
Defines the info per one delayed action
| Field | Type | Label | Description |
| 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 |
Defines the info regarding delayed actions
| Field | Type | Label | Description |
| status | OrderStatus | Order status |
|
| delayed_actions | DelayedActionMessage | repeated | The array of the delayed actions |
minimal message to return the error code
Defines the error code
Defines the info regarding rate of the particular currency pair exchange
| Field | Type | Label | Description |
| 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 |
System message, indicates exchange rates on other trades per particular currency pair
| Field | Type | Label | Description |
| 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 |
Defines the info regarding rate of all currency pairs exchange, response to GetExchangeRatesMessage
| Field | Type | Label | Description |
| items | ExchangeRateItemMessage | repeated | Array of the currency pairs |
| Field | Type | Label | Description |
| 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 |
|
Message received after Funding event
| Field | Type | Label | Description |
| 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 |
Request for getting info regarding rate of all currency pairs exchange
Request to get the the appropriate market state
Request to engine in order to receive Trader Balance
| Field | Type | Label | Description |
| currency_id | uint32 | Currency ID |
Trader Status Request in order ot receive TraderStatusMessage
Defines the Leverage size (per trader)
| Field | Type | Label | Description |
| 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 |
| Field | Type | Label | Description |
| 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 |
| Field | Type | Label | Description |
| liquidation_entries | LiquidationEntryMessage | repeated |
|
Defines the state of the appropriate market, response to GetMarketStateMessage
| Field | Type | Label | Description |
| 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 |
|
Received info regarding Market State changes
| Field | Type | Label | Description |
| 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 |
|
| Field | Type | Label | Description |
| 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 |
Defines the all trading chart info
| Field | Type | Label | Description |
| 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 |
Defines the time frame length of the trading chart (e.g. for building the one candle)
| Field | Type | Label | Description |
| 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 ?? |
Defines Price Point
| Field | Type | Label | Description |
| price | Decimal | Order price |
|
| quantity | Decimal | Quantity of the Order |
|
| entry_timestamp | int64 |
|
|
| trade_id | uint64 |
|
Defines Order Book Info per OrderBookRequestMessage request
| Field | Type | Label | Description |
| 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 |
Request for Order Book of the appropriate market
Defines Order Book info regarding recent trades on the market
| Field | Type | Label | Description |
| price | Decimal | Order price |
|
| quantity | Decimal | Quantity of the Order |
|
| entry_timestamp | int64 |
|
|
| trade_id | uint64 |
|
|
| side | OrderSide | Order side |
Defines Order Book Info, no request required
| Field | Type | Label | Description |
| 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 |
Defines info regarding Canceled Order, response to CancelOrderMessage
| Field | Type | Label | Description |
| 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 |
Received when Order was matched
| Field | Type | Label | Description |
| 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 |
Defines Order Info
| Field | Type | Label | Description |
| 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 |
Defines the status of an order
| Field | Type | Label | Description |
| 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 |
Message for checking connection with engine
Request to place the delayed action
| Field | Type | Label | Description |
| delayed_action | DelayedActionMessage | Delayed action info |
Defines the order properties during order placement
| Field | Type | Label | Description |
| 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 |
Engine response to PingMessage
| Field | Type | Label | Description |
| 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 |
Defines the Position changes
| Field | Type | Label | Description |
| 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 |
Used for subscribing and unsubscribing from received info (messages) via marketdata channel
| Field | Type | Label | Description |
| 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) |
Response to SubscribeMessage
| Field | Type | Label | Description |
| 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) |
Defines the list of Open Contracts
| Field | Type | Label | Description |
| trades | TradeMessage | repeated | Array of the Open Contracts |
Defines the Open Contract information
| Field | Type | Label | Description |
| 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 |
|
Defines the trader's balance info
| Field | Type | Label | Description |
| 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 |
Defines the new trader balance, response to UpdateTraderBalanceMessage (System message)
| Field | Type | Label | Description |
| 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 |
Defines Trader Status info, response to GetTraderStatusMessage, UpdateContractMessage, UpdateAllContractsMessage?
| Field | Type | Label | Description |
| 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 |
|
Request to update all Contracts
| Field | Type | Label | Description |
| 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 |
Request to update the particular Contract
| Field | Type | Label | Description |
| contract_id | uint64 | Contract ID is going to be changed |
|
| leverage | uint32 | Order leverage |
Request to update the delayed action
| Field | Type | Label | Description |
| prev_client_id | bytes | Order id is going to be updated |
|
| delayed_action | DelayedActionMessage | Delayed action info |
Defines the order properties during order updating (no UI elements for doing this action by a trader)
| Field | Type | Label | Description |
| 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 |
Defines the type of delayed action
| Name | Number | Description |
| DA_UNDEFINED | 0 | Delayed action type is not defined |
| DA_ORDER | 1 | Delayed order has been placed |
Defines the condition of the delayed action
| Name | Number | Description |
| 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 |
Defines the variable of condition for delayed action
| Name | Number | Description |
| 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) |
Defines the type of funding
| Name | Number | Description |
| 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 |
Defines the type of a Message
| Name | Number | Description |
| 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 |
Defines how long an order will be active
| Name | Number | Description |
| 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 |
Defines the position of open Contracts
| Name | Number | Description |
| POSITION_UNDEFINED | 0 | Contract position is not defined |
| LONG | 1 | Contract position is long |
| SHORT | 2 | Contract position is short |
Defines the side of an Order
| Name | Number | Description |
| SIDE_UNDEFINED | 0 | Order side is not defined |
| BUY | 1 | Trader creates the buy/long order |
| SELL | 2 | Trader creates the short/sell order |
Defines the status of an Order
| Name | Number | Description |
| 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 |
Defines the type of an Order
| Name | Number | Description |
| TYPE_UNDEFINED | 0 | Order type is not defined |
| MARKET | 1 | Trader creates the market order |
| LIMIT | 2 | Trader creates the limit order |
Defines the type of value
| Name | Number | Description |
| 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 |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| 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) |