Skip to main content
Funding Mechanism
Updated over a week ago

Unlike conventional futures contracts, perpetual contracts never expire, eliminating the need to rollover for perpetual contract holders.


BIT uses funding rate to encourage risk free arbitrage between spot and perpetual markets so that the perpetual prices and index prices converge on a regular basis. Funding Fees are periodic payments made to or by opposite position holders based on the funding rate.

Funding Mechanism


BIT employs a 10-second interval mechanism instead of an 8-hour mechanism for the funding of perpetual contracts. The funding rate will be generated 5 seconds before the start of every 10-second funding interval. For example, the funding rate, which is used to charge the funding fee for the interval between 15:20:40 and 15:20:50, is calculated from the market data as of 15:20:35.

Funding Rate Calculation

Step 1: Calculate Premium Index (P) component
The Premium Index (P) is calculated based on Bid 1/Ask 1 and Impact Bid/Ask obtained from the order book. Bid 1/Ask 1 is also known as the Best Bid/Best Ask or highest bid/lowest ask.
Impact Bid/Ask is described here in more details.

The Premium Index (P) is calculated as:

  • If (Index < Impact Bid), P = (Impact Bid - Index)/Index*100%

  • If (Index > Impact Ask), P = (Impact Ask - Index)/Index*100%

  • If (Index < Bid 1 and Index >= Impact Bid), P = (Bid 1 - Index)/Index*100%

  • If (Index > Ask 1 and Index <= Impact Ask), P = (Ask 1 - Index)/Index*100%

  • If (Index >= Bid 1 and Index <= Ask 1), P = 0

In order to generate the Premium Index (P) that is consistent with the timing of the Funding Rate (F), Impact Bid/Ask, Bid 1/Ask 1 and Index Price are valued 5 seconds before the start of the funding interval.


Step 2: Specify Interest Rate Differential (I) component
Interest Rate Differential (I) = Quote Currency Interest Rate − Base Currency Interest Rate
Currently BIT fixes the Interest Rate Differential (I) at 0.03% daily (0.01% per 8 hours or 0.01%*(10/(8*3600)) per funding interval), with the assumption that holding USD cash equivalent (quote currency) returns a higher interest than coin equivalent (base currency). This fixed interest rate differential may be changed by BIT risk team according to market conditions.

Step 3: Calculate Funding Rate (F)
Funding Rate (F) = Premium Index (P) + Clamp [Interest Rate Differential (I) − Premium Index (P), dampener , −dampener] = Premium Index (P) + Clamp [0.01% − Premium Index (P), 0.05%, −0.05%]

The function Clamp [x, max, min] means that if (x < min), then x = min; if (x > max), then x = max; if max ≥ x ≥ min, then return x.

The dampener is specified to be +/-0.05%. The way the dampener works is illustrated in the following diagram.

In practice, the Funding Rate (F) is equal to the Interest Rate Differential (I) of 0.01% for most of the time. This is because, as long as the Premium Index (P) is between -0.04% and 0.06%, (I - P) will stay in the range of +/-0.05%. As a result, F = P + (I - P) = I. Only when Premium Index (P) deviates more from Interest Rate Differential (I) will we see different values of Funding Rate (F).

For example, if Premium Index (P) is below -0.04%, F = P + 0.05% which is below 0.01% and even further dips into the negative zone. If Premium Index (P) is above 0.06%, F = P - 0.05% which is above 0.01%.


Step 4: Clamp Funding Rate
Clamped Funding Rate = Clamp [Funding Rate, Upper Limit, Lower Limit]
In order to better protect the interests of users in periods of high volatility, BIT sets a band of +/-0.5% for the funding rate. This band might be adjusted by the BIT risk team in real time according to market conditions.

Additionally, an 8-hour average funding rate is calculated for display and comparison only.
8-hour average funding rate is calculated as the arithmetic mean of the funding rates generated every 10 seconds in the last 8 hours (i.e. 60/10 * 60 * 8 = 2880 data points).


Example of funding rate

Take BTCUSD perpetual funding rate as an example:

Time Stamp

Index Price

Mark Price

Premium Index

Interest Rate Differential

Funding Rate

Clamped Funding Rate

05:32:05

22,343.36

22,537.64

0.86952%

0.01000%

0.81952%

0.50000%

05:31:55

22,345.27

22,436.47

0.40814%

0.01000%

0.35814%

0.35814%

05:31:45

22,344.90

22,336.47

-0.03773%

0.01000%

0.01000%

0.01000%

05:31:35

22,345.01

22,333.16

-0.05303%

0.01000%

-0.00303%

-0.00303%

05:31:25

22,344.65

22,132.73

-0.94841%

0.01000%

-0.89841%

-0.50000%

Calculation of funding fee

Funding Fee is calculated and charged at the end of each 10-second funding interval or at each transaction time. It’s based on the Funding Rate (see steps above) generated 5 seconds before the start of the current interval.

Funding Fee = -1 * Clamped Funding Rate * Position Value (USD) * Holding Time Fraction

Position Value is the USD value of the position held until the as-of time of the calculation. When mark price is used in the valuation, it should be the mark price as of the beginning of the current funding interval.

Holding Time Fraction is the position holding time within the current 10-second funding interval divided by the conventional period of 8 hours (or 8*3600 seconds). E.g., the current position holding time is 6 seconds, then the holding time fraction is 6/(8*3600).

Total Funding Fees as of the end of the session (every 8 hours) is the sum of all the Funding Fees in that session.

Settlement of funding fee

The funding settlement cycle is every 8 hours. For a close trade of the perpetual contract, the funding fee will be settled to the user immediately in real time and recorded in the form of a settled funding fee. If the position is partially closed, the settlement will be proportional. The remaining unsettled portion will be settled at the end of the 8-hour session.

For example, at 16:00 (UTC+8), when the funding settlement happens, there will be a record under the Type of Funding Fee in the Assets History page. In this record, there are several items:
Funding = total funding fee accumulated in the current session, including settled funding part and unsettled funding part
Change = settlement of the unsettled funding part in the current session
The difference between Funding and Change is due to the settled funding fee in a close trade in the current session


When a close trade happens, there will be a record under the Type of Trade in the Assets History page. In this record, there are several items:
Funding = settled funding fee in a close trade
Change = realized PnL in a close trade
Cash Flow = closed PnL in a close trade excluding fees and funding
Change (Realized PnL) = Cash Flow (Closed PnL) - Fee + Funding (Settled)



Example of funding fee

Example 1:
Taking the funding interval from 15:20:40 to 15:20:50 as an example, the current funding rate is 0.011%, there is no position change in this 10-second period, and the user's BTCUSD perpetual position is 6000 USD.
If the user holds the position of 6000 USD from 15:20:40 to 15:20:50 for 10 seconds:
Funding Fee =-1*0.011%*6000*[10/(8*3600)]

Example 2:
Taking the funding interval from 15:20:50 to 15:20:60 as an example, the current funding rate is 0.014%, and one trade occurs at 15:20:53. The user’s BTCUSD perpetual position value is 6000 USD before the trade, and the position value is 7000 USD after the trade. Due to the change of the position within the 10-second interval, the calculation of funding fee needs to be done in 2 parts:
If the user holds the position of 6000 USD from 15:20:50 to 15:20:53 for 3 seconds:
Funding Fee=-1*0.014%*6000*[3/(8*3600)]
If the user holds the position of 7000 USD from 15:20:53 to 15:20:60 for 7 seconds:
Funding Fee=-1*0.014%*7000*[7/(8*3600)]

Did this answer your question?