Interest Rates
Interest Rate Model
Base Rate Calculation
contract InterestRateModel {
uint256 public baseRate = 2e16; // 2% base rate
uint256 public multiplier = 5e16; // 5% multiplier
uint256 public jumpMultiplier = 109e16; // 109% jump multiplier
uint256 public kink = 8e17; // 80% utilization kink
function getBorrowRate(uint256 cash, uint256 borrows, uint256 reserves)
external view returns (uint256) {
uint256 util = utilizationRate(cash, borrows, reserves);
if (util <= kink) {
return baseRate + (util * multiplier / 1e18);
} else {
uint256 normalRate = baseRate + (kink * multiplier / 1e18);
uint256 excessUtil = util - kink;
return normalRate + (excessUtil * jumpMultiplier / 1e18);
}
}
function utilizationRate(uint256 cash, uint256 borrows, uint256 reserves)
public pure returns (uint256) {
if (borrows == 0) return 0;
return borrows * 1e18 / (cash + borrows - reserves);
}
}Rate Components
Collateral-Specific Rates
Risk-Based Pricing
Collateral
Base Rate
Risk Premium
Current Rate
Max Rate
Rate Calculation by Asset
Dynamic Rate Adjustments
Market-Responsive Rates
Utilization-Based Adjustments
Interest Accrual
Compound Interest Calculation
User Interest Calculation
Interest Payment
Automatic Accrual
Manual Interest Payment
Rate Monitoring
Real-time Rate Tracking
Interest Rate Dashboard
Rate Optimization
Borrowing Strategy
Rate Arbitrage
Integration Examples
Interest Calculator
Last updated