The Deribit perpetual contracts are derivative products similar to a future, however, they do not have an expiry date therefore they need another mechanism to keep the price of the contract as close to the index price as possible. This mechanism is called – the funding rate. These payments have been introduced to keep the perpetual contract price as close as possible to the underlying crypto price - the relevant Deribit Index. If the perpetual contract trades at a higher price than the index, traders that have long positions need to make funding payments to the traders having short positions. This will make the product less attractive to the long position holders and more attractive to the short position holders. This subsequently will cause a perpetual price to trade in line with the price of the index. If the perpetual trades at a price lower than the index, the short position holders will have to pay the long position holders.
The Deribit perpetual contract features a continuous measurement of the difference between the mark price of the contract and the relevant Deribit Index. The percentage difference between these two price levels is the basis for the 8-hourly funding rate that is applied to all outstanding perpetual contracts.
Funding payments are calculated every millisecond. The funding payments will be added to or subtracted from the realized PNL account, which is also part of the available trading balance. At the daily settlement, the realized PNL will be moved to or from the cash balance, from which withdrawals can be made.
The total funding paid will show up in the transaction history in the "funding" column. This column shows the funding amount that is applied to the trader's entire net position in the period between the relevant trade and the trade before that. In this sense, the trader can see the funding paid or received on the position between trade timestamps and position changes.
Standard Margin IM & MM examples Inverse perpetual |
BTC - calculations |
BTC - Margin required |
ETH - Calculations |
ETH - Margin required |
---|---|---|---|---|
Initial margin requirement |
2% + (POS Size in BTC) * 0.005% |
2% + (POS Size in ETH) * 0.0004% perp |
||
Position size 0 |
2% + 0 = 2% |
0 BTC |
2% + 0 = 2% |
0 ETH |
Position size 25 |
2% + 25 * 0.005% = 2.125% |
25 * 2.125% = 0.53125 BTC |
2% + 25 * 0.0004% = 2.01% |
25 * 2.01% = 0.5025 ETH |
Position size 350 |
2% + 350 * 0.005% = 3.75% |
350 * 3.75% = 13.125 BTC |
- |
- |
Position size 6000 |
- |
- |
2% + 6000 * 0.0004% = 4.4% |
6000 * 4.4% = 264 ETH |
Maintenance margin requirement |
1% + (POS Size in BTC) * 0.005% perp |
1% + (POS Size in ETH) * 0.0004% perp |
||
Position size 0 |
1% + 0 = 1% |
0 BTC |
1% + 0 = 1% |
0 ETH |
Position size 25 |
1% + 25 * 0.005% = 1.125% |
25 * 1.125% = 0.28125 BTC |
1% + 25 * 0.0004% = 1.01% |
25 * 1.01% = 0.2525 |
Position size 350 |
1% + 350 * 0.005% = 2.75% |
350 * 2.75% = 9.625 BTC |
- |
- |
Position size 6000 |
- |
- |
1% + 6000 * 0.0004% = 3.4% |
6000 * 3.4% = 204 ETH |
When the funding rate is positive, long position holders pay funding to the short position holders; when the funding rate is negative, short position holders pay funding to the long position holders. The funding rate is expressed as an 8-hour interest rate, and is calculated at any given time as follows:
Premium Rate
Premium Rate = ((Mark Price - Deribit Index) / Deribit Index) * 100%
Funding Rate
Sequentially, the funding rate is derived from the premium rate by applying a damper.
-
If the premium rate is within -0.025% and 0.025% range, the actual funding rate will be reduced to 0.00%.
-
If the premium rate is lower than -0.025%, then the actual funding rate will be the premium rate + 0.025%.
-
If the premium rate is higher than 0.025%, then the actual funding rate will be the premium rate - 0.025%.
-
Additionally, the funding rate is capped at +/- 0.5%, expressed as an 8-hour interest rate for BTC, and +/- 1% for ETH.
Funding Rate = Maximum (0.025%, Premium Rate) + Minimum (-0.025%, Premium Rate)
Time Fraction
Time Fraction = Funding Rate Time Period / 8 hours
The actual funding payment is calculated by multiplying the funding rate by the position size and the time fraction.
Funding Payment = Funding Rate * Position Size * Time Fraction
Example 1 |
If the mark price is at USD 10,010 and the Deribit index is at USD 10,000, the funding rate and premium rate are calculated as follows: Premium Rate = ((10,007.50 - 10,000) / 10,000) * 100% = 0.075% Funding Rate = Maximum (0.025%, 0.075%) + Minimum (-0.025%, 0.075%) = 0.075% - 0.025% = 0.05% Let's assume a trader has a long position of USD 10,000 (1 BTC) for 1 minute, and during this minute the mark price remains at USD 10,007.50 and the Deribit index remains at USD 10,000, in this case, the funding calculation for this period is: 8 hours = 480 minutes: Funding Rate = 1/480 * 0.05% = 0.0001041667% Funding Payment = 0.0001041667% * 1 BTC = 0.000001041667 BTC The short position holders receive this amount and the long position holders pay it. |
Example 2 |
If a trader chose to hold the position of the previous example for 8 hours and the mark price and Deribit index remained at USD 10,007.50 and USD 10,000 for the entire period, then the funding rate would be 0.05%. The funding payment would be paid by the longs and received by the shorts. For 8 hours, it would have been 0.0005 BTC (or USD 5.00). |
Example 3 |
If the mark price is USD 10,007.50 for 1 minute and then changes to USD 9,992.50 the minute after that, however, the Index remains at USD 10,000, then the net funding in these 2 minutes for a 1 BTC long position is exactly 0 BTC. After the first minute, the trader would pay: 1/480 * 0.05% = 0.0001041667% * 1 BTC = 0.000001041667 BTC, however, the minute after, the trader would receive exactly the same amount. |
Example 4 |
The mark price is USD 10,002, and the Index remains at USD 10,000. In this case, real-time funding is zero (0.00%) because the mark price is within the +/-0.025% range from the index price(within USD 9,997.50 and USD 10,002.50). This can be checked by using the premium rate and funding rate formulas: Premium Rate = ((10,002 - 10,000) / 10,000) * 100% = 0.02% Funding Rate = Maximum (0.025%, Premium Rate) + Minimum (-0.025%, Premium Rate) = 0.025% - 0.025% = 0.00% |
In reality, the spread of the Deribit BTC Index and the mark price changes continuously, and all changes are taken into account. Therefore, the examples above are extreme simplifications of the actual calculations. The funding paid or received is continuously added to the realized PNL and is moved to or from the cash balance at the daily settlement, at 08:00 UTC.
Fees on Funding
Deribit does not charge any fees on funding. All the funding payments are transferred between the holders of the perpetual contracts. This makes the funding a zero-sum game, where longs receive all funding from shorts, or shorts receive all funding from longs.
It is essential to understand how the mark price is calculated. We start by determining the "Fair Price". The fair price is calculated as the average of the fair impact bid and the fair impact ask.
Fair Impact Bid Price is an average price at which 100,000 USD worth of contracts can be bought.
Fair Impact Ask Price is an average price at which 100,000 USD worth of contracts can be sold.
Fair Price can never be higher than 0.1 % of best ask or lower than best bid
-
Fair Price = (Fair Impact Bid + Fair Impact Ask) / 2
The mark price is derived using both the Deribit Index and the fair price, by adding to the Deribit Index the 30 second exponential moving average (EMA) of the Fair Price - Deribit Index.
-
Mark Price = Deribit Index + 30 second EMA (Fair Price - Deribit Index)
We implement a safety setting on our mark price to not deviate by more than a certain percentage of Index. This is to prevent manipulation or to curb the impact of panic trading. When a deviation from index is genuine, then we would increase the possible deviation.
Trading outside of this bandwidth is still allowed.
The 30 second EMA is recalculated every second, so in total, there are 30 time periods in which the measurement of the latest second has a weight of 2 / (30 + 1) = 0.0645 or (6.45%).
Two parameters bound the trading range:
Perpetual trades are limited by Deribit Index + 1 minute EMA (Fair Price - Index) +/- 1.5%, and a fixed bandwidth of the Deribit Index of +/- 5%.
If the market circumstances require so, bandwidth parameters can be adjusted at the sole discretion of Deribit.