BASE_QUOTE (for example, BTC_USDT). The base asset (left side) is what gets bought or sold. The quote asset (right side) is what gets paid with.
Market types
WhiteBIT supports four market types, each using different account balances and leverage settings.
Spot — Direct buy/sell. Orders execute against the spot orderbook. Funds held in the Trade balance.
Margin — Leveraged trading on spot pairs with up to 10× leverage. Pair names are identical to spot (e.g.,
BTC_USDT). Funds held in the Collateral balance. Isolated margin mode available.
Futures — Perpetual contracts with up to 100× leverage. Pairs use the _PERP suffix (e.g., BTC_PERP). Funds held in the Collateral balance. Hedge Mode allows simultaneous long and short positions.
TradFi Futures — Futures markets on traditional-finance assets such as equities (e.g., AAPL_USD), identified in the markets response by type: tradfiFutures and isTradFiFutures: true. Funds are held in the Collateral balance. Availability is region-gated — markets not available in a given region are omitted from GET /api/v4/public/markets entirely. TradFi markets enabled for collateral trading also appear in the collateral markets list; placing an order on a TradFi market additionally requires TradFi futures to be enabled for the account.
Availability is also gated per account: placing or modifying an order on a TradFi market requires the account to hold the TradFi futures permission. The account gate is separate from the region gate, so a TradFi market can be listed in GET /api/v4/public/markets and still reject order placement with HTTP 422 and error code 10011 on the collateral order endpoints. Canceling an existing order on a TradFi market is never restricted.
API naming convention: WhiteBIT’s API uses “collateral” endpoints for both
Margin and Futures trading. The market pair determines the product:
spot pairs (e.g.,
BTC_USDT) for Margin, perpetual pairs (e.g., BTC_PERP)
for Futures. All endpoints under /api/v4/order/collateral/ and
/api/v4/collateral-account/ serve both products.How to fetch market info
Public endpoints — no authentication required:- All markets (spot, margin, perpetual, TradFi futures):
GET /api/v4/public/markets— API Reference - Perpetual futures markets:
GET /api/v4/public/futures— API Reference
Key market fields
Each market returned byGET /api/v4/public/markets includes:
Price and amount steps
From September 18, 2026, the matching engine rejects an order whose price is not a multiple oftickSize or whose amount is not a multiple of stepSize. Read both values from GET /api/v4/public/markets on every poll instead of deriving the steps from moneyPrec and stockPrec — both values follow the market settings in the trade engine and may differ from the precision-derived values.
The amount step does not apply to
POST /api/v4/order/market and POST /api/v4/order/stop_market buy orders: there amount is the total in quote currency, not a quantity. The activation_price of a buy stop-market order is still checked.
A standalone order rejected for a step mismatch returns HTTP 422 with trade error code 1 and the failing field in errors:
errors on price, amount, activationPrice, stopLimitPrice, takeProfit or stopLoss, whatever spelling the request uses for the field. The endpoint’s own validation errors — codes 30, 32 and 33 — key on the request field instead, so activation_price appears there. Branch on the code together with the key, never on the message text: the message is localized.
An empty tickSize or stepSize means the trade engine does not provide the value for that market. Fall back to 10^-moneyPrec for the price step and 10^-stockPrec for the amount step, and re-read the market on the next poll.
Market statuses
ThetradesEnabled field indicates whether a market is actively accepting orders. The /api/v4/public/markets response only includes markets enabled for trading, so a disabled market disappears from the list rather than appearing with tradesEnabled: false. Markets can be temporarily disabled by the platform without prior notice.
The platform announces a permanent removal in advance instead. The market carries the announced delisting date in delistedAt — a Unix timestamp in seconds, null when no delisting is announced. The market keeps trading until the delisting runs, then the platform cancels the active orders and drops the market from the response. An announcement can be rescheduled or canceled, so re-read delistedAt on each poll.
For platform-wide maintenance status, call GET /api/v4/public/platform/status — API Reference.
What’s Next
Order Types
Learn about the 7 order types available on WhiteBIT.
Balances & Transfers
Understand Main, Trade, and Collateral account types.
Market Data Quickstart
Fetch live prices and orderbooks — no auth required.