Skip to content

Place Order

POST /api/v1/crypto/accounts/{acc_id}/orders

Submit a new crypto trading order.

Path Parameters

ParameterTypeRequiredDescription
acc_iduint64YesAccount ID

Request Parameters

ParameterTypeLocationRequiredDescription
req_idstringBodyYesIdempotency ID, 16–64 characters. Recommended format: timestamp_uuid. The gateway prepends gw_ and forwards it downstream for deduplication.
sidestringBodyYesTrade direction. See Naming Dictionary for valid values.
symbolstringBodyYesTrading pair, e.g. BTCUSD
ord_typestringBodyYesOrder type. See Naming Dictionary for valid values.
time_in_forcestringBodyYesTime in force. See Naming Dictionary for valid values.
pricestringBodyConditionalLimit price. Required when ord_type is LIMIT, TAKE_PROFIT_LIMIT, or STOP_LOSS_LIMIT.
qtystringBodyConditionalOrder quantity. Mutually exclusive with cash_order_qty.
cash_order_qtystringBodyConditionalOrder amount for amount-based orders. Mutually exclusive with qty. Only supported for side=BUY and ord_type=MARKET.
conditional_infoobjectBodyConditionalConditional order details. Required when ord_type is TAKE_PROFIT_LIMIT, TAKE_PROFIT_MARKET, STOP_LOSS_LIMIT, or STOP_LOSS_MARKET.

conditional_info Fields

ParameterTypeRequiredDescription
trigger_pricestringYesTrigger price for the conditional order

Request Example

bash
curl -X POST "https://webapi.futunn.com/api/v1/crypto/accounts/123456/orders" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: <AppKey>" \
  -H "X-Timestamp: <timestamp_ms>" \
  -H "X-Nonce: <nonce>" \
  -H "Authorization: <signature_base64>" \
  -d '{
    "req_id": "1750000000000_a1b2c3d4e5f6g7h8",
    "side": "BUY",
    "symbol": "BTCUSD",
    "ord_type": "LIMIT",
    "qty": "0.01",
    "price": "30000",
    "time_in_force": "TIF_GTC"
  }'

Response Example

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "order_id": "FTHC2989880641155745280T"
  }
}

Error Response:

json
{
  "code": 550000001,
  "msg": "Invalid code. Please adjust and place the order again."
}

Note

Error code 550000001 indicates an invalid trading pair. Only "crypto + fiat" pairs are currently supported (e.g. BTCUSD).