Bybit uses the Dual-Price mechanism to prevent traders from falling victim to market manipulations.
Due to market manipulations, the market price on a futures exchange may deviate significantly from the Spot price, resulting in a mass liquidation of traders’ positions. In addition to costing traders large amounts of their hard-earned money, market manipulations also destroy the general public’s confidence in the entire crypto exchange industry. Bybit’s top priority is to provide a fair trading environment to all traders, which is why we employ a Dual-Price mechanism to prevent market manipulations.
Perpetual Contracts
Mark Price calculation for selected Perpetual contracts
Mark Price calculation for all other Perpetual contracts
Mark Price calculation for TradFi Perpetual contracts
Mark Price calculation for Pre-Market Perpetual contracts
Expiry Contracts
Mark Price calculation for Expiry contracts
Last Traded Price
Perpetual Contracts
For perpetual contracts, the Mark Price refers to a global Spot price index plus a decaying funding basis rate. Mark Price can be considered to reflect the real-time Spot price on the major exchanges. Bybit uses Mark Price as a trigger for liquidation and to measure unrealized profit and loss, but this doesn’t affect a trader’s actual profit & loss. Only when the Mark Price reaches a trader’s liquidation price, the trader’s position will be liquidated.
Mark Price calculation for selected Perpetual contracts
Mark price = Price3 × C + Index price × (1 − C)
Price3 = Index price + MovingAvg(DeltaPrice)
DeltaPrice = (Bid1 + Ask1) ÷ 2 − Index price, measured every second
C = clamp (DeltaPrice ÷ MaxDeltaPrice, 0.3, 0.7), representing the degree of mid-price deviation each second
MaxDeltaPrice = R-minute maximum basis, measured every second (excluding the most recent data point)
Notes:
— This mechanism was rolled out gradually, starting from November 14, 2025, 10 AM UTC, and was fully implemented for the following applicable symbols by November 16, 2025, 10 AM UTC.
— Applicable symbols include RIFUSDT, QUICKUSDT, OXTUSDT, PYRUSDT, 10000ELONUSDT, FIOUSDT, MILKUSDT, DODOUSDT, NTRNUSDT, BOBAUSDT, and the perpetual contracts that are listed after November 14, 2025, 10 AM UTC (excluding Expiry contracts).
Mark Price calculation for TradFi Perpetual contracts
TradFi Mark Price = clamp [Perp MarkPrice, Index x (1 - 3%), Index x (1 + 3%)
Perp MarkPrice = Median (Price 1, Price 2, Last Traded Price)
Price 1 = Index Price × [1 + Last Funding Rate × (Time Until Funding /8)]
Price 2 = Index Price + Moving Average (2.5-minute Basis)
- Moving Average (2.5-minute Basis) = Moving Average [(Bid1 + Ask1)/2 − Index Price], which measures every second in a 2.5-minute interval.
Mark Price calculation for all other Perpetual contracts
Mark Price = Median (Price 1, Price 2, Last Traded Price)
Price 1 = Index Price × [1 + Last Funding Rate × (Time Until Funding /8)]
Price 2 = Index Price + Moving Average (2.5-minute Basis)
- Moving Average (2.5-minute Basis) = Moving Average [(Bid1 + Ask1)/2 − Index Price], which measures every second in a 2.5-minute interval.
In the following scenarios, Bybit will adjust the criteria for selecting the mark price to be used for calculation:
- If the index price of any Spot exchange is abnormal or data cannot be obtained, the mark price will be calculated based on the last traded price on the Bybit platform.
- Due to factors such as index price distortion, there is insufficient data to calculate the 2.5-minute moving average. In this scenario, the mark price will be calculated by Bybit's last traded price.
Notes:
— Bybit will use the optimal mark price to reduce the risk of traders' positions being liquidated in volatile markets.
— Bybit reserves the right to update the mark price selection criteria in real time according to market conditions without prior notice.
— To understand how to check the Mark Price from our chart, please visit the guide here.
Mark Price calculation for Pre-Market Perpetual contracts
The calculation method for the Mark Price of pre-market perpetual contracts can be divided into two scenarios:
- During the call auction period, the mark price equals the estimated opening price.
- During the continuous auction period, the mark price is calculated using the same method as standard perpetual contracts.
Expiry Contracts
However, unlike Perpetual Contracts that involve a funding mechanism, the calculation methodology for the Mark Price in Expiry Contracts differs. Specifically tailored to Expiry Contracts, the Mark Price is computed by referencing a global Spot Index Price in combination with the basis rate. In this article, we will show the Mark Price calculation for both Inverse and USDC Expiry contracts.
Mark Price calculation for All Expiry Contracts
The mark price for Expiry Contracts is determined using the following formula:
Mark Price = Index Price x (1 + Basis Rate)
However, there's a variation within the 30 minutes leading up to delivery:
Within 30 minutes of delivery, the mark price is set to the estimated delivery price.
Here's how the components are calculated:
1. Basis Rate = 2-min Moving Average of [(Mid-price of best ask and best bid price - Index Price) / Index Price]
2. Mid-price of best ask and best bid price = (Best Ask Price + Best Bid Price) / 2
Last Traded Price
The Last Traded Price is Bybit's current market price, which is always anchored to the Spot price using the funding mechanism. This is why the price on Bybit is unlikely to deviate significantly from the Spot market price.
In summary, the Dual-Price Mechanism minimizes the price discrepancy and ensures a fairer trading environment, as well as protecting traders from malicious liquidation.
Note:
In a fluctuating market, the Last Traded Price on Bybit may temporarily deviate from the Mark Price. This may cause an immediate unrealized profit or loss right after order execution. Kindly note that this is not a real profit or loss, but please be reminded to keep an eye on the distance between Liquidation Price and Mark Price.
