Place Order

Rate Limit: 1200 requests per 60 seconds

Description

Submit a new order to the connected venue (spot / margin / perpetual). Using a unified sym identifier format across exchanges and business types.

Rate Limit

1200 requests per 60 seconds

Permission

  • Requires trading permission on the corresponding API key.
  • Read-only keys cannot call this endpoint.

Request


FieldTypeNecessaryDescription
clientOrderIdStringNClient-defined order ID. Only supports lowercase letters (a-z) and digits (0-9). Recommended length ≤ 32 characters. If omitted, LTP will auto-generate an ID.
symStringYTrading symbol unique identifier in the format Exchange_Business_Base_Counter. For example: BINANCE_SPOT_BTC_USDT (Binance spot BTC/USDT), BINANCE_PERP_BTC_USDT (Binance perpetual BTC/USDT), BINANCE_MARGIN_BTC_USDT (Binance margin BTC/USDT).

Currently supports SPOT, MARGIN, PERPETUAL on BINANCE / OKX, and PERPETUAL on EDX.
sideStringYOrder side. Supported values: BUY, SELL.
orderTypeStringYOrder type. Supported values: LIMIT, MARKET.
timeInForceStringNTime-in-force policy. For LIMIT orders: default GTC, supports GTC, IOC, FOK, GTX (GTX = GTC + Post-only).

For MARKET orders: do not send this field, default behavior is IOC.
orderQtyStringNOrder quantity. Required unless the order is a spot market buy using quoteOrderQty. For spot, this is the base asset quantity (e.g. in ETH/BTC, orderQty is in ETH).

For derivatives: on OKX it is the number of contracts; on Binance and EDX it is the base asset quantity.
limitPriceStringNLimit order price. Mandatory when orderType = LIMIT. Ignored for market orders.
quoteOrderQtyStringNOrder amount in the quote currency, only used for spot market buy orders.

Limit orders must use orderQty; market sell orders must use orderQty; market buy (spot) orders must use quoteOrderQty.
reduceOnlyStringNReduce-only flag for derivatives orders. Must be "TRUE" or "FALSE" (string). Usually ignored by spot venues.
positionSideStringNPosition side. Supported values: NONE, LONG, SHORT.

In hedge mode (BOTH) this field is required, and must be LONG or SHORT.

In one-way mode (NET) this field is optional; if omitted, it defaults to NONE.
tpTriggerPriceStringNTake-profit trigger price.
tpTriggerTypeStringNTake-profit trigger price type. Supported values: LAST_PRICE, MARK_PRICE. Default is LAST_PRICE.
tpPriceStringNTake-profit order price. "0" indicates market price. Default "0".
slTriggerPriceStringNStop-loss trigger price.
slTriggerTypeStringNStop-loss trigger price type. Supported values: LAST_PRICE, MARK_PRICE. Default is LAST_PRICE.
slPriceStringNStop-loss order price. "0" indicates market price. Default "0".

Response

FieldTypeDescription
codeIntegerBusiness status code. 200000 indicates the request was processed successfully.
messageStringText description of the result, usually "Success" on success.
data.orderIdStringLTP system-generated unique order ID. Used for later querying, cancelling, and order history.
data.clientOrderIdStringEcho of the client-defined order ID from the request. Empty / omitted if clientOrderId was not provided.
Language
Credentials
OAuth2