Skip to main content

(Legacy) How are funding rates calculated in GRVT? (note: this system is getting phased out in October 10, 2025)

Details of GRVT's funding rate calculations.

Updated this week

Legacy Description Warning
Note: This is a Legacy description : this system is getting phased out on October 10, 2025


See here for new Funding Rate description: link

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?