Skip to main content
The order action lets you place one or more limit or market orders against a specific contract. Each request can contain up to 10 order objects, all signed with a single ECDSA signature. Order objects use compact single-letter keys to keep payloads small and reduce bandwidth overhead.

Endpoint

Request Body

Place a limit order that rests in the order book until filled or cancelled (GTC), or choose IOC/ALO for alternative execution policies.
Testnet market orders may return "price 10000 exceeds maxTicks 10000". Use limit orders when testing against the testnet environment.

Action Fields

string
required
Fixed value: "order".
array
required
Array of order objects to submit. Maximum 10 orders per request. See the order object fields below.
string
required
Fixed value: "na". Reserved for future order grouping strategies.

Order Object Fields

Each element of the orders array uses compact single-letter keys.
int32
required
asset — The integer contract ID identifying which perpetual to trade.
boolean
required
isBuytrue to open a buy/long position; false to open a sell/short position.
string
price — Limit price as a decimal string (e.g. "100"). Required for limit orders. Omit entirely for market orders.
string
required
size — Order quantity as a decimal string (e.g. "10"). Must be positive.
boolean
required
reduceOnly — When true, the order only reduces an existing position and will never increase or open a new one. Set to false for standard orders.
object
required
orderType — Specifies the execution type and time-in-force. See the order type formats table below.
string
clientOrderId — An int64 decimal string you assign for your own tracking (e.g. "1778572951477"). Use this value later with cancelByCloid to cancel by your own ID without needing the exchange-assigned oid.

Order Types

Responses

You will receive one status entry per order in the same index order as your request.
The limit order was accepted and is waiting in the order book for a match.

Response Fields

int64
Exchange-assigned order ID for an order that is now resting in the book. Store this value to cancel the order later via the cancel action.
int64
Exchange-assigned order ID for an order that filled immediately.
string
Total quantity filled, as a decimal string.
string
Average fill price across all matched lots, as a decimal string.
string
Rejection reason when the order could not be placed or filled.

Known Order Errors

For accounts using Portfolio (PORTFOLIO) margin mode, the system automatically draws from the shared margin pool for all contracts in the same share group. You do not need to include any additional fields in the order request to opt into this behavior.