HomeDocumentationAPI Reference
Log In
API Reference

Order Debug

Method Name

private/order_debug

Debug a new order
Required minimum session key permission level is read_only

Parameters

amountstringrequired
Order amount in units of the base
directionstringrequired
Order direction
enum buysell
instrument_namestringrequired
Instrument name
limit_pricestringrequired
Limit price in quote currency.
This field is still required for market orders because it is a component of the signature. However, market orders will not leave a resting order in the book in case of a partial fill.
max_feestringrequired
Max fee PER contract, denominated in USDC.
For resting orders (maker orders), max_fee must be > 2 x max(taker_fee, maker_fee) x spot_price + extra_fee / amount.For crossing orders (taker order), max_fee must be > maker max_fee + base_fee / fill_amount.
Note, in this calculation, regardless of the custom account taker / maker fees, the standard taker / maker fees are used.
The max(limit_price, index_price) is used to calculate the notional volume.
nonceintegerrequired
Unique nonce defined as (UTC_timestamp in ms)(random_number_up_to_3_digits) (e.g. 1695836058725001, where 001 is the random number).
Note, using a random number beyond 3 digits will cause JSON serialization to fail.
signaturestringrequired
Ethereum signature of the order
signature_expiry_secintegerrequired
Unix timestamp in seconds. Order signature becomes invalid after this time, and the system will cancel the order.
Expiry MUST be at least 5 min from now.
signerstringrequired
Owner wallet address or registered session key that signed order
subaccount_idintegerrequired
Subaccount ID
algo_duration_secinteger
Total execution window in seconds (required for algo orders)
algo_num_slicesinteger
Number of child executions to split the order into (required for algo orders)
algo_typestring
Algo order type (twap). Cannot be combined with trigger fields.
enum twap
clientstring
Client that submitted the order
extra_feestring
Extra fee in USDC added to the total final fee paid by user and directly sent to client / builder (must be between 0.000001 and 1000 USDC). The referral_code field must also be filled out. See Builder Fee page in docs for more info.
is_atomic_signingboolean
Used by vaults to determine whether the signature is an EIP-1271 signature.
labelstring
Optional user-defined label for the order
mmpboolean
Whether the order is tagged for market maker protections (default false)
order_typestring
Order type:
- limit: limit order (default)
- market: market order, note that limit_price is still required for market orders, but unfilled order portion will be marked as cancelled

enum limitmarket
reduce_onlyboolean
If true, the order will not be able to increase position's size (default false). If the order amount exceeds available position size, the order will be filled up to the position size and the remainder will be cancelled. This flag is only supported for market orders or non-resting limit orders (IOC or FOK)
referral_codestring
Optional referral code for the order
reject_post_onlyboolean
If true (default), post-only orders that would cross the book are rejected. If false, the limit price is adjusted to be 1 tick away from the BBO instead of rejecting.
reject_timestampinteger
UTC timestamp in ms, if provided the matching engine will reject the order with an error if reject_timestamp < server_time. Note that the timestamp must be consistent with the server time: use public/get_time method to obtain current server time.
time_in_forcestring
Time in force behaviour:
- gtc: good til cancelled (default)
- post_only: a limit order that will be rejected if it crosses any order in the book, i.e. acts as a taker order
- fok: fill or kill, will be rejected if it is not fully filled
- ioc: immediate or cancel, fill at best bid/ask (market) or at limit price (limit), the unfilled portion is cancelled
Note that the order will still expire on the signature_expiry_sec timestamp.

enum gtcpost_onlyfokioc
trigger_pricestring
(Required for trigger orders) "index" or "mark" price to trigger order at
trigger_price_typestring
(Required for trigger orders) Trigger with "mark" price as "index" price type not supported yet.
enum markindex
trigger_typestring
(Required for trigger orders) "stoploss" or "takeprofit"
enum stoplosstakeprofit

Response

idstring or integerrequired
resultobjectrequired
result.action_hashstringrequired
Keccak hashed action data
result.encoded_datastringrequired
ABI encoded order data
result.encoded_data_hashedstringrequired
Keccak hashed encoded_data
result.typed_data_hashstringrequired
EIP 712 typed data hash
result.raw_dataobjectrequired
Raw order data
result.raw_data.expiryintegerrequired
result.raw_data.is_atomic_signingbooleanrequired
result.raw_data.modulestringrequired
result.raw_data.nonceintegerrequired
result.raw_data.ownerstringrequired
result.raw_data.signaturestringrequired
result.raw_data.signerstringrequired
result.raw_data.subaccount_idintegerrequired
result.raw_data.dataobjectrequired
result.raw_data.data.assetstringrequired
result.raw_data.data.desired_amountstringrequired
result.raw_data.data.is_bidbooleanrequired
result.raw_data.data.limit_pricestringrequired
result.raw_data.data.recipient_idintegerrequired
result.raw_data.data.sub_idintegerrequired
result.raw_data.data.trade_idstringrequired
result.raw_data.data.worst_feestringrequired

Example

{request_example_shell}
{request_example_javascript}
{request_example_python}

The above command returns JSON structured like this:

{response_example_json}