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 name | Type | Necessary | Remarks |
|---|---|---|---|
| id | String | N | client request id |
| action | String | Y | place_order |
| args | Object | Y | request params |
| clientOrderId | String | N | Client-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. |
| sym | String | Y | Trading 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. |
| side | String | Y | Order side. Supported values: BUY, SELL. |
| orderType | String | Y | Order type. Supported values: LIMIT, MARKET. |
| timeInForce | String | N | Time-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. |
| orderQty | String | N | Order 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. |
| limitPrice | String | N | Limit order price. Mandatory when orderType = LIMIT. Ignored for market orders. |
| quoteOrderQty | String | N | Order 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. |
| reduceOnly | String | N | Reduce-only flag for derivatives orders. Must be "TRUE" or "FALSE" (string). Usually ignored by spot venues. |
| positionSide | String | N | Position 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. |
| tpTriggerPrice | String | N | Take-profit trigger price. |
| tpTriggerType | String | N | Take-profit trigger price type. Supported values: LAST_PRICE, MARK_PRICE. Default is LAST_PRICE. |
| tpPrice | String | N | Take-profit order price. "0" indicates market price. Default "0". |
| slTriggerPrice | String | N | Stop-loss trigger price. |
| slTriggerType | String | N | Stop-loss trigger price type. Supported values: LAST_PRICE, MARK_PRICE. Default is LAST_PRICE. |
| slPrice | String | N | Stop-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 name | Type | Remarks |
|---|---|---|
| id | String | client request id |
| event | String | Event |
| code | String | Code |
| msg | String | Msg |
| data | Object | response data |
| > orderId | String | LTP system-generated unique order ID. Used for later querying, cancelling, and order history. |
| > clientOrderId | String | Echo of the client-defined order ID from the request. Empty / omitted if clientOrderId was not provided. |
