Skip to main content

How are funding rates calculated in GRVT?

Details of GRVT's funding rate calculations.

Updated yesterday

The following steps are followed to determine funding rate:

  1. Fair Impact Bid/Ask

    • Calculate average fill prices for a set notional amount on both the bid and ask sides.

  2. Fair Price

    • Take the median of:

      1. Average of Fair Impact Bid/Ask

      2. Average of best bid/ask

      3. Last traded price

  3. Index Price

    • A weighted average from several external exchanges.

  4. Premium

    • Computed every second:

      Premium = Fair_Price – Index_Price
  5. Premium Rate

    • The median of (Premium / Index_Price) over the past minute.

    • Updated every minute.

  6. Capping the Rate

    • Limited to ±1% (configurable) to prevent extreme funding swings.

    • Cap_Rate = 0.01 (1%, configurable) - this is the max payment, in % of your position.

      Capped Premium Rate = Max(  Min(Premium Rate, Cap_Rate),  
      -Cap_Rate )
  7. Funding Index

    • Tracks cumulative funding changes, starting at 0.

    • Updated every minute:

      Funding_Index += Capped_Premium_Rate * (Index_Price) / (8 * 60)
      e.g.
      Funding_Index_1 = Funding_Index_0 + Capped_Premium_Rate * (Index_Price) / (8 * 60)
  8. Funding Payment

    • Funding accrues every minute but is only settled when you trade or withdraw funds. Each trade or withdrawal triggers settlement for all open positions, generating individual entries per position. Deposits do not initiate settlement. There is no fixed settlement interval, funding payments occur only upon user activity.​

    • If your position size was Last_Position_Size and the Funding Index is F, then:

      Funding_Payment = -1 × (Last_Position_Size) × (F - Funding_Index_Start)
    • Afterward, Funding_Index_Start is updated to the current Funding Index if you still have a position, or reset to 0 if you fully closed it.

    • A note on the sign convention for Funding Payments in the "Funding History" tab of the UI : a negative number in the "Funding Amount" column (e.g. like in the screenshot below) indicates that user is paying ( a reduction in user's USDT Balance), and a positive amount indicates that user is receiving payment ( an increase in user's USDT Balance).

for more details, see this PDF and this Excel file

Did this answer your question?