Order metadata
Metadata fields are used to support Backend only operations. These operations are not trustless by nature.
Hence, fields in here are never signed, and is never transmitted to the smart contract.
NameLite |
Type | RequiredDefault |
Description |
|---|---|---|---|
client_order_idco |
string | True | A unique identifier for the active order within a subaccount, specified by the client This is used to identify the order in the client's system This field can be used for order amendment/cancellation, but has no bearing on the smart contract layer This field will not be propagated to the smart contract, and should not be signed by the client This value must be unique for all active orders in a subaccount, or amendment/cancellation will not work as expected Gravity UI will generate a random clientOrderID for each order in the range [0, 2^63 - 1] To prevent any conflicts, client machines should generate a random clientOrderID in the range [2^63, 2^64 - 1] When GRVT Backend receives an order with an overlapping clientOrderID, we will reject the order with rejectReason set to overlappingClientOrderId |
create_timect |
string | False0 |
[Filled by GRVT Backend] Time at which the order was received by GRVT in unix nanoseconds |
triggert |
TriggerOrderMetadata | False `` |
Trigger fields are used to support any type of trigger order such as TP/SL |
brokerb |
BrokerTag | False `` |
Specifies the broker who brokered the order |
is_ecnie |
boolean | Falsefalse |
Specifies this order is an ECN order eligible for Market Maker Last Look. Only applicable to STABLE_PERP (SFP) instruments with qualified market makers. |
slippage_bpssb |
integer | False0 |
Maximum allowed slippage from mark price for an IOC limit order, expressed in basis points (800 = 8%). Only valid on IOC limit orders. 0 means no slippage protection (regular limit IOC order). |
rfq_idri |
string | FalseNone |
Binds this order to an RFQ (see ApiCreateRfqRequest and the v1.rfq / v1.quote streams). Optional.As a taker acceptance: unlocks that RFQ's private quote pool, so the order matches across the private pool merged with the public book (firm resting liquidity + public quotes). The acceptance must be a single-leg order with time_in_force = IOC or FOK. Setting rfq_id on a non-ECN GTT order is rejected. If the referenced RFQ has expired, been cancelled, or is unknown, the order is rejected.As a maker quote (is_ecn = true): identifies which RFQ the quote is responding to. Omit rfq_id to match the public book only — private RFQ liquidity requires an RFQ. |
is_privateip1 |
boolean | Falsefalse |
Maker quotes only. true = a private quote delivered to a single RFQ's taker (appears only on that taker's v1.quote book); false = a public quote resting on the order book, visible to all. When true, rfq_id is required. |
TriggerOrderMetadata
Contains metadata related to trigger orders, such as Take Profit (TP) or Stop Loss (SL).
Trigger orders are used to automatically execute an order when a predefined price condition is met, allowing traders to implement risk management strategies.
NameLite |
Type | RequiredDefault |
Description |
|---|---|---|---|
trigger_typett |
TriggerType | True | Type of the trigger order. eg: Take Profit, Stop Loss, etc |
tpslt |
TPSLOrderMetadata | True | Contains metadata for Take Profit (TP) and Stop Loss (SL) trigger orders. |
TriggerType
Defines the type of trigger order used in trading, such as Take Profit or Stop Loss.
Trigger orders allow execution based on pre-defined price conditions rather than immediate market conditions.
| Value | Description |
|---|---|
UNSPECIFIED = 0 |
Not a trigger order. The order executes normally without any trigger conditions. |
TAKE_PROFIT = 1 |
Take Profit Order - Executes when the price reaches a specified level to secure profits. |
STOP_LOSS = 2 |
Stop Loss Order - Executes when the price reaches a specified level to limit losses. |
TPSLOrderMetadata
Contains metadata for Take Profit (TP) and Stop Loss (SL) trigger orders.
NameLite |
Type | RequiredDefault |
Description |
|---|---|---|---|
trigger_bytb |
TriggerBy | True | Defines the price type (e.g., index price) that activates a Take Profit (TP) or Stop Loss (SL) order |
trigger_pricetp |
string | True | The Trigger Price of the order, expressed in 9 decimals. |
close_positioncp |
boolean | True | If True, the order will close the position when the trigger price is reached |
is_split_positionis |
boolean | True | If True, the order will be treated as part of a position's split-TP/SL set, subject to aggregate size/count limits. |
TriggerBy
Defines the price type that activates a Take Profit (TP) or Stop Loss (SL) order.
Trigger orders are executed when the selected price type reaches the specified trigger price.Different price types ensure flexibility in executing strategies based on market conditions.
| Value | Description |
|---|---|
UNSPECIFIED = 0 |
no trigger condition |
INDEX = 1 |
INDEX - Order is activated when the index price reaches the trigger price |
LAST = 2 |
LAST - Order is activated when the last trade price reaches the trigger price |
MID = 3 |
MID - Order is activated when the mid price reaches the trigger price |
MARK = 4 |
MARK - Order is activated when the mark price reaches the trigger price |
BrokerTag
BrokerTag is a tag for the broker that the order is sent from.
| Value | Description |
|---|---|
UNSPECIFIED = 0 |
|
COIN_ROUTES = 1 |
CoinRoutes |
ALERTATRON = 2 |
Alertatron |
ORIGAMI = 3 |
Origami |