post
https://api.liquiditytech.com/api/v1/trading/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
| Field | Type | Necessary | Description |
|---|---|---|---|
| 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
| Field | Type | Description |
|---|---|---|
| code | Integer | Business status code. 200000 indicates the request was processed successfully. |
| message | String | Text description of the result, usually "Success" on success. |
| data.orderId | String | LTP system-generated unique order ID. Used for later querying, cancelling, and order history. |
| data.clientOrderId | String | Echo of the client-defined order ID from the request. Empty / omitted if clientOrderId was not provided. |
