Skip to main content
POST
Create a new order

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
asset
string
required

Asset identifier: base symbol (e.g. "ETH") or full pair (e.g. "ETHUSDC").

Minimum string length: 1
Example:

"ETH"

exchange
enum<string>
required

Supported perpetual exchange

Available options:
aster,
binance,
bybit,
extended,
gate,
hyperliquid,
lighter,
mexc,
ondo,
robinhood
side
enum<string>
required
Available options:
buy,
sell
size
string
required

Order size in base currency

Pattern: \d+(\.\d+)?
Example:

"0.001"

broker
Broker · object

Broker configuration. Hyperliquid: id is builder address, feeBps is builder fee. Lighter/Robinhood: id is integrator account index, feeBps is integrator fee (applies to both taker and maker). Aster: id is builder address, feeBps is builder fee in BPS. MEXC: id is the Broker_ID sent as the source header to attribute the order; feeBps is still required but has no effect, since MEXC charges no builder fee. On Hyperliquid, Lighter, and Robinhood the user must have pre-approved this builder/integrator on-chain (and feeBps must be ≤ the approved cap); on Aster the approval is bundled into registration. Overridden by the broker settings (if any) of the broker the user is registered through: orders the venue executes as limit take the limitFeeBps of those settings, orders it executes as market take the marketFeeBps (trigger orders count as market on Hyperliquid, Aster and Ondo), and Lighter/Robinhood receive both as maker/taker fees.

clientOrderId
string

Your custom order identifier, forwarded to the exchange as-is (max 32 characters on Binance). On Binance, when omitted, an id carrying the broker rebate tag is generated instead. Ignored on Lighter/Robinhood when placing orders with takeProfit or stopLoss.

normalizeParams
boolean

When true, forces normalization of parameters to match exchange requirements if possible.

price
string

Limit price (optional for market orders)

Pattern: \d+(\.\d+)?
Example:

"1850.50"

reduceOnly
boolean

If true, order will only reduce existing position. Used for TP/SL orders

Example:

true

stopLoss
TakeProfitStopLoss · object

Stop loss order configuration (combine with takeProfit for bracket orders, not supported on Aster)

takeProfit
TakeProfitStopLoss · object

Take profit order configuration (combine with stopLoss for bracket orders, not supported on Aster)

timeInForce
enum<string>

Order time in force policy. gtc (Good-Till-Cancel) — order stays active until filled or manually canceled. ioc (Immediate-Or-Cancel) — fills immediately (fully or partially), unfilled remainder is canceled. fok (Fill-Or-Kill) — fills entirely and immediately or is canceled completely; supported only on Aster. alo (Add Liquidity Only) — order only adds liquidity as a maker; canceled if it would execute as taker. Defaults to gtc when omitted.

Available options:
gtc,
ioc,
fok,
alo
Example:

"gtc"

trigger
object

Optional trigger configuration for stop-loss or take-profit orders

Response

status
enum<string>
required

Order status

Available options:
ok
Example:

"ok"