Place Order

Rate Limit: 1200 requests per 60 seconds

Tip:
You can create order by websocket after login.

Request

demo

{
  "id": "XXX",
  "action": "place_order",  
  "args":  
  {  
     "clientOrderId": "XXXX",  
     "sym": "BINANCE_SPOT_BTC_USDT",  
     "side": "BUY",
     "orderType": "LIMIT",
     "timeInForce": "GTC",
     "orderQty": "1000",
     "limitPrice": "60000",
     "reduceOnly": "false"
   }  
}

Field nameTypeNecessaryRemarks
idStringNclient request id
actionStringYplace_order
argsObjectYrequest params
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

Success example:

{
  "id": "XXXX",
  "event": "place_order",  
  "code": "200000",  
  "msg": "",
  "data": {
    "orderId": "XXXXX",
    "clientOrderId": "XXXXX"
  }
}

Fail example:

{  
  "id":"***",
  "event": "error",  
  "code": "60009",  
  "msg": "CreateOrder failed."  
}
Field nameTypeRemarks
idStringclient request id
eventStringEvent
codeStringCode
msgStringMsg
dataObjectresponse data
> orderIdStringLTP system-generated unique order ID. Used for later querying, cancelling, and order history.
> clientOrderIdStringEcho of the client-defined order ID from the request. Empty / omitted if clientOrderId was not provided.