Price limit rules
Price limit is a core risk control mechanism OKX uses to prevent market manipulation and protect users. OKX dynamically calculates the highest and lowest price limits for each instrument in real time, based on more than a dozen parameters such as trading volume, open interest, and the percentage of index deviation. To preserve its risk control effect, the full set of rules is not completely disclosed.
How price limits affect your orders
For instruments where the price limit is enabled, the system calculates the highest price limit and lowest price limit in real time. An order placed outside this range is rejected:
Buy orders: When the order price is higher than the highest price limit, the order is rejected.
Sell orders: When the order price is lower than the lowest price limit, the order is rejected.
Note for API users: When placing an order, you can use the pxAmendType field to specify an automatic price-amendment strategy, and the system will amend orders that exceed the price limit.
How price limits are calculated
The highest and lowest price limits are calculated in real time using the formulas below. Different product lines use different reference prices and parameters.
Futures and perpetuals
For the real-time values of the X, Y, Z parameters, please visit /trade-market/info/swap.
Phase | Highest price limit | Lowest price limit |
Within 10 mins of contract generation | Index × (1 + X) | Index × (1 − X) |
10 mins after contract generation | Min[ Max(Index, Index × (1 + Y) + avg. premium in last N mins), Index × (1 + Z) ] | Max[ Min(Index, Index × (1 − Y) + avg. premium in last N mins), Index × (1 − Z) ] |
Z equals 3% in the 30 minutes before weekly futures are delivered.
Index price (Index):
USDT-margined and crypto-margined contracts use the index price of the corresponding trading pair. For example, the BTCUSDT perpetual contract uses the BTC/USDT index, and the BTCUSD perpetual contract uses the BTC/USD index.
Average premium in the last N minutes:
The platform samples the contract quotes and the spot index at a fixed interval. At each sampling point, the contract mid-price is taken (mid-price = (best ask + best bid) / 2), and the spot index at the same moment is subtracted from it to obtain the premium basis at that point. The average of all premium bases over the last N minutes is the average premium in the last N minutes. For the value of N, please visit /trade-market/info/swap. The sampling interval is typically 200 milliseconds and may differ for certain pairs; OKX reserves the right to adjust it at any time.These rules apply to all contracts (including USDT-margined, USDC-margined, and crypto-margined contracts), and both opening and closing positions are subject to the limits.
Spot and margin
For the real-time values of the X, Y, Z, J, H parameters, please visit /trade-market/info/spot.
Before opening (pre-open period)
For trading pairs that open via pre-open ordering, the following price limit applies from the start of the pre-open period until the market officially opens:
Highest price limit | Lowest price limit |
Index × (1 + J) | Index × (1 − J) |
After opening
When a stable spot index is available, OKX will typically apply index-based price limit rules; in new listing scenarios where the spot index is unavailable or unstable, it will typically apply closing-price-based price limit rules. OKX may switch the calculation rules or adjust parameters in real time according to market conditions.
Index-based price limit rules:
Phase | Highest price limit | Lowest price limit |
Within 10 mins of listing | Index × (1 + X) | Index × (1 − X) |
10 mins after listing | Min[ Max(Index, Index × (1 + Y) + avg. premium in last N mins), Index × (1 + Z) ] | Max[ Min(Index, Index × (1 − Y) + avg. premium in last N mins), Index × (1 − Z) ] |
Closing-price-based price limit rules:
Phase | Highest price limit | Lowest price limit |
First minute after listing | Call auction deal price × (1 + H) | No price limit |
1 to N minutes after listing | Previous minute's close price × (1 + H) | No price limit |
After N minutes | No price limit | No price limit |
Spot and margin price protection
In addition to the price limit rules, to protect users from large slippage at execution, your order will be fully cancelled if the estimated filled price exceeds the following range:
Buy orders: Your order is cancelled if the estimated filled price is greater than best ask price × 1.05.
Sell orders: Your order is cancelled if the estimated filled price is lower than best bid price × 0.95.
Options
OKX will dynamically set risk control rules based on options market price, Delta and other parameters. In order to make users better understand price limit, and convenient for users to trade, the highest price of buy order and lowest price of sell order are calculated as follows:
Highest price of buy order = Mark price of options + Adjustment coefficient * Max (0.004, 0.016 * abs (Delta));
Lowest price of sell order = Mark price of options - Adjustment coefficient * Max (0.004, 0.016 * abs (Delta));
OKX may adjust the above parameters according to certain market conditions, and the adjustment coefficients of different crypto options contracts are different. The limit price also needs to follow the smallest price unit requirement. Orders placed and forced reduction orders from common users also follow the price limit rules.
OKX may switch the price limit calculation rules or adjust the price limit parameters in real time according to market conditions, without separate announcements.