Funding Rates

Funding rates in DPerp ensure that perpetual contract prices stay close to spot prices by creating incentives for traders to balance long and short positions. Funding is exchanged between long and short position holders every 8 hours.

Funding Mechanism

Funding Rate Calculation

function getNextFundingRate(bytes32 assetId, uint256 poolAmount, uint256 reservedAmount) 
    external view returns (int256) {
    FundingRate memory rate = fundingRates[assetId];
    
    if (poolAmount == 0) return 0;
    
    int256 fundingRate = int256((rate.fundingRateFactor * reservedAmount) / poolAmount);
    
    uint256 maxRate = maxFundingRate[assetId];
    if (maxRate > 0 && uint256(fundingRate > 0 ? fundingRate : -fundingRate) > maxRate) {
        fundingRate = fundingRate > 0 ? int256(maxRate) : -int256(maxRate);
    }
    
    return fundingRate;
}

Funding Rate Structure

Funding Intervals

8-Hour Funding Cycles

Funding Schedule

Time (UTC)
Funding Event

00:00

Funding Payment

08:00

Funding Payment

16:00

Funding Payment

Funding Rate Factors

Utilization-Based Rates

Funding rates depend on pool utilization:

Asset-Specific Factors

Asset Category
Funding Rate Factor
Max Funding Rate

Major Crypto

0.01%

0.75%

Minor Crypto

0.02%

1.00%

Commodities

0.015%

0.50%

Equities

0.025%

0.30%

Forex

0.005%

0.25%

Funding Payments

Payment Calculation

Payment Direction

  • Positive Funding Rate: Longs pay shorts

  • Negative Funding Rate: Shorts pay longs

  • Zero Funding Rate: No payments

Example Calculation

Funding Rate Monitoring

Real-time Funding Rates

Funding History

Funding Rate Impact

Position Cost Analysis

Funding Rate Arbitrage

Funding Rate Strategies

Funding Rate Farming

Delta-Neutral Strategies

Funding Rate Configuration

Admin Functions

Dynamic Adjustments

Integration Examples

Funding Rate Display

Position Funding Calculator

Last updated