Introduction to Fair Price and Price Index
Fair pricing is a mechanism used in cryptocurrency futures trading to ensure that futures contracts are priced fairly and accurately.
The price index is used to mitigate the risks arising from price fluctuations and market manipulation by providing a more stable reference point. Instead of using the asset's last price, the price index takes into account the asset's price across multiple trading platforms. To learn more about the differences between the fair price and the last price, please refer to What is the difference between the last price and the fair price for futures contracts?
The fair price of a contract on the Binance Futures platform is determined based on several factors, including the last contract price, the bid and ask chains of the order book, the funding rate, and the composite average of the asset's spot price on major cryptocurrency exchanges.
The price index is used to calculate the fair price and is based on the weighted average of the asset's spot price across multiple cryptocurrency trading platforms.
2. Price Index for USDⓈ-M Futures
What is the USDⓈ-M Futures Price Index?
The price index is the primary component of the fair price and represents the weighted average value of the underlying asset across major spot trading platforms, reflecting the fair market value of futures contracts. The price index is continually updated to account for any changes in the spot price of the asset or the weightings of the trading platform used in the calculation.
On Binance, the price index for USDⓈ-M futures is based on prices from trading platforms such as: Binance - KuCoin - OKX - HitBTC - Gate.io - Ascendex - MEXC - Coinbase - Kraken - Bitget - Bitfinex - Bybit - PancakeSwap (BNB Chain) - Uniswap (Ethereum) - Raydium (Solana).
Components of PancakeSwap (BNB Chain), Uniswap (Ethereum), and Raydium (Solana) platforms will be available in listed contracts from 10-02-2025 onwards, subject to availability and price feed stability.
Binance reserves the right to change the components of the price index from time to time without notice.
You can view real-time price index information on the Binance website.
How do you calculate the price index for perpetual futures?
The price index is calculated as follows:
Price Index = Sum of (Percentage Weighting of Trading Platform A) * Spot Price of Token on Trading Platform A + Percentage Weighting of Trading Platform B * Spot Price of Token on Trading Platform B +...+ Percentage Weighting of Trading Platform N * Spot Price of Token on Trading Platform N))
where:
Trading Platform Percentage Weight (T) = Trading Platform Weight (T) / Total Weight
Total Weight = Sum of (Weight of Trading Platform (A) + Weight of Trading Platform (B) + ...+ Weight of Trading Platform (N))
Please note: In the event of extreme price fluctuations or significant deviation from the price index, Binance will take additional protection measures, including, but not limited to, changing the components of the price index.
Binance implements additional safeguards to protect against poor market performance during spot trading platform outages or connectivity issues:
Individual Price Source Deviation: If the latest price of a specific exchange platform deviates by more than 3% from the average price of all sources, the maximum value will be immediately set at the average price multiplied by 1.03 or 0.97, depending on whether the deviation is above or below the average. For example, if the average price of the BTCUSDT index on Exchange A is 20,000 USDT and the price deviates by +7%, the maximum value will be set at 20,600 USDT (i.e., 20,000 = 1.03). Conversely, if the deviation is -6%, the calculated value will be 19,400 USDT (i.e., 20,000 = 0.97). This adjustment will occur immediately after the spot price exceeds this price deviation threshold. The price value calculated by the exchange platform will be readjusted to its original value once the price value falls within the 3% deviation threshold of the average price of all price sources. However, this rule does not apply to some specific indices (for example, the percentage of BTC and ETH indices is 1%).
Exchange connection issues: If Binance is unable to access an exchange's data or the exchange has not updated its trading data in the last five minutes, the weight for that exchange will be set to zero in the weighted average calculation.
Last Price Protection Mechanism: When Binance is unable to obtain stable reference data for the price index and fair price, it uses the Last Price Protection mechanism. In this case, the price index is temporarily updated based on the contract's last transaction price within a certain threshold as a reference for the fair price to calculate unrealized profit and loss and liquidation order level. This helps prevent unnecessary liquidations until the situation returns to normal.
You can refer to the latest trading platform reference on Price Index for real-time updates.
note:
Cross-exchange rate: For underlying assets that do not have live quotes, Binance will use the composite rate to calculate the cross-exchange rate as the composite index. For example, LINK/USDT can be calculated using LINK/BTC and BTC/USDT.
Price Index Updates: Binance reserves the right to update price index references from time to time without prior notice.
You can think of the price index as the "spot price." Now, we'll explain how to calculate the fair price for all unrealized profit and loss accounts. Please note that realized profits and losses are based on actual executed market prices.
3. Fair price of USDⓈ-M futures contracts
The fair price provides a better estimate of the "true" value of a contract than perpetual futures prices, as it is less volatile in the short term. Binance uses the fair price to avoid unnecessary liquidations and prevent bad actors from manipulating the market.
On the Binance Futures platform, the fair price of a contract is calculated based on several factors, including the last price of the futures contract, the bid and ask chains of the order list, the funding rate, and the composite average of the spot price of the underlying asset on major cryptocurrency exchanges.
The calculation of the fair price is closely related to the financing rate, and vice versa. Since unrealized gains and losses are the primary factor in triggering liquidations, accurate calculation is essential to prevent unnecessary liquidations. The underlying asset of a perpetual contract represents the "true" value of the contract, and the price index—the average of prices from major markets—is the primary component of the fair price.
How do you calculate the fair price of USDⓈ-M perpetual futures?
The fair price is calculated using the following equation:
Fair Price = Average (Price 1, Price 2, Contract Price)
Price 1 = Price Index (1 + Last Financing Rate (Time until next financing / Financing Period))
where:
Funding period refers to the period between each time Binance charges funding fees to users, and is indicated in hours.
The time until the next funding is the time remaining (expressed in hours) until the next funding charge is charged. For example, if the funding period is set to be every 8 hours and the last funding charge was charged 2 hours ago, the time until the next funding will be 6 hours.
Note: Financing fees are exchanged between the holders of the buy and sell transactions, with Binance acting as a neutral intermediary in the transaction.
Price 2 = Price Index + Moving Average (1 minute basis)
A moving average (on a one-minute basis) is calculated as the average of 60 data points over a one-minute period. A data point is calculated every one second by taking the average of the bid and ask prices and then subtracting the price index.
The equation is:
Moving Average (1 minute basis) = Sum of [(Bid1_i + Ask1_i)/2 - PI_i] /60
where:
PI is the price index at the time of calculation.
Bid1_i, Ask1_i, and PI_i were recorded over 60 data points collected at 1-second intervals over a 1-minute period (0, 1… 58, 59, 60 seconds past the minute).
Please refer to the Price Index for each USDⓈ-M futures contract for further details.
Average fair price calculation:
If price 1 < price 2 < contract price, price 2 will be used as the fair price.
Note: Please be aware that the fair price may deviate from the spot price during extreme market conditions or deviations in price sources. In such cases, Binance will take additional protective measures, such as calculating the fair price = price 2.
During system upgrades or downtime, when all trading activity is temporarily halted, the system will continue to calculate the fair price using the standard formula. However, the moving average (based on a one-minute basis) at price 2 will be set to 0 until the system returns to normal operation.
How to calculate the fair price for USDⓈ-M quarterly delivery contracts?
Before delivery date:
Fair Price = Price Index + Moving Average (1-minute basis)
The moving average (based on one minute) is calculated as follows:
Moving Average (Bid1 + Demand1) / 2 - Price Index), calculated every second over a one-minute period.
On delivery date:
a) If the time remaining until delivery is more than 30 minutes
Using the BTCUSDT 0925 contract as an example:
Fair price before September 25, 2020, 07:29:59 UTC
= Price Index + Moving Average (based on 2.5 minutes)
Moving Average (based on 2.5 minutes) = Moving Average ((Bid1 + Ask1) / 2 - Price Index), calculated every minute over a 2.5-minute period.
b) If the delivery time is 30 minutes or less
Fair price on September 25, 2020, 07:30:00 - 07:59:59 UTC
= Average price index, calculated every second between 07:30:00 and 07:59:59 (UTC) on the delivery day.
4. Fair price of USDⓈ-M futures contracts in pre-market trading
Fair price methodology during the pre-market trading period
The fair price of perpetual futures contracts in pre-market trading is calculated using the following equation:
Fair Price = Average of trading prices in the last 10 seconds, calculated every second.
If there are fewer than 21 transaction prices in a 10-second period, the average price index will be based on the prices of the last 20 transactions.
Transition period to standard perpetual futures in pre-market trading
Perpetual futures contracts in the pre-market trading period will be converted into standard perpetual futures contracts once a stable index price is reached from the spot trading market (at Binance's discretion). During the transition period, the fair price from the pre-market trading will gradually be incorporated into the standard fair price calculation (fair price = average value of (Price 1, Price 2, Contract Price)).
Trading functionality will not be affected during the transition period, and open orders and trades will not be cancelled.
Fair price after the end of the pre-market trading period
When a perpetual futures contract expires in the pre-market trading period, the fair price will be calculated using the following equation:
Fair Price = Average (Price 1, Price 2, Contract Price)$BTC