Place a spot limit order to buy or sell at a specified price via the WhiteBIT V4 API.
The public WhiteBIT API key.
Base64-encoded JSON request body.
HMAC-SHA512 signature of the payload, hex-encoded. Computed as hex(HMAC-SHA512(payload, api_secret)).
Trading pair. Format: BASE_QUOTE (e.g., BTC_USDT). Query GET /api/v4/public/markets for available markets.
"BTC_USDT"
Order side. Allowed values: buy, sell.
buy, sell "buy"
Order quantity in base (stock) currency. Minimum and maximum values are market-dependent. Query GET /api/v4/public/markets for minAmount, minTotal, maxTotal. Precision: stockPrec.
"0.001"
Limit price per unit in quote (money) currency. Minimum and maximum values are market-dependent. Precision: moneyPrec.
"9800"
"{{request}}"
"{{nonce}}"
Custom client order identifier. The identifier must be unique per account and contain only letters, numbers, dashes, dots, or underscores.
"order1987111"
Immediate-or-cancel (IOC) flag. When true, the matching engine executes all or part of the order immediately and cancels any unfilled portion. Default: false.
IOC does not support rpi=true because RPI uses post-only behavior by design.
The API returns error code 37 when a request sets both ioc=true and rpi=true.
Refer to Order Parameter Rules for unsupported parameter combinations.
false
Self-trade prevention mode. Allowed values: no, cancel_both, cancel_new, cancel_old. Default: no.
no, cancel_both, cancel_new, cancel_old "no"
Enables Retail Price Improvement (RPI) mode. Default: false.
RPI orders use post-only behavior by design. An RPI order does not support ioc=true.
The API returns error code 37 when a request sets both rpi=true and ioc=true.
RPI orders do not appear in public order book feeds (depth, bookTicker). RPI orders are visible only in private active orders and in the exchange UI order book (web/mobile).
RPI executions may apply custom fees or rebates, especially when trading via sub-accounts. Use Query Market Fee / Query All Market Fees to verify effective fees.
Refer to Order Parameter Rules for unsupported parameter combinations.
true
Order created successfully
Unique identifier assigned to the order by the matching engine.
4180284841
Custom client order identifier supplied in the request. Returns an empty string when not specified.
"order1987111"
Trading pair for the order. Format: BASE_QUOTE (e.g., BTC_USDT).
"BTC_USDT"
Order side. Possible values: buy, sell.
"buy"
Order type. Possible values: limit, market, stock market, stop limit, stop market.
"limit"
Unix timestamp in seconds (UTC) of order creation, with microsecond precision.
1595792396.165973
Filled amount in quote currency. Returns "0" while the order remains unfilled.
"0"
Filled amount in base currency. Returns "0" while the order remains unfilled.
"0"
Order quantity in base currency for limit and stop-limit orders, or in quote currency for buy market orders.
"0.01"
Remaining unfilled quantity. Equals amount for new orders and "0" for fully filled orders.
"0.001"
Cumulative trading fee charged for filled portions, denominated in the fee asset.
"0"
Limit price per unit in quote currency. Returns "0" for market orders.
"40000"
Post-only flag. When true, the order executes only as a maker order and is rejected if it would match immediately. Default: false.
false
Immediate-or-cancel flag. When true, the order executes available quantity immediately and cancels the unfilled remainder. Default: false.
false
Order lifecycle status. NEW — accepted, not yet matched. FILLED — fully executed. CANCELED — canceled before execution. PARTIAL_FILLED — partially executed, remainder still active. PARTIAL_CANCELED — partially filled, remainder canceled. CANCELED_TAKER_BAND — partially filled up to the taker band limit, remainder canceled to protect against excessive order book slippage. AUTO_CANCELED_REDUCE_ONLY — pending reduce-only order auto-canceled because the associated position was closed.
"FILLED"
Self-trade prevention mode. Possible values: no, cancel_both, cancel_new, cancel_old. Default: no.
"no"
Position side (for collateral orders)
"LONG"
Indicates Retail Price Improvement (RPI) mode for the order.
true
Reduce-only flag. When true, the order can only reduce or close an existing position. See reduce-only.
false
Activation status of the stop order. 0 = not yet triggered (waiting for the activation_price condition to be met). 1 = triggered (the stop condition has been met and the order is now active).
0
Condition that triggers the stop order. "lte" = activate when the market price falls to or below activation_price. "gte" = activate when the market price rises to or above activation_price.
lte, gte "lte"
The trigger price for the stop order. Always equals the activation_price value submitted in the request.
"40000"