JumpRateModelV2
The JumpRateModelV2 is an upgradeable interest rate model used in Rheofi Protocol's isolated liquidity pools. It implements a two-slope (kinked) interest rate curve that incentivizes optimal utilization by sharply increasing rates beyond a configurable utilization threshold (the "kink").
Overview
JumpRateModelV2 extends the base InterestRateModel interface and adds the ability to update model parameters through governance. Below the kink utilization, rates increase linearly based on the base rate and multiplier. Above the kink, the jump multiplier applies, creating a steeper curve that discourages excessive borrowing and encourages repayment.
This model is commonly deployed across isolated pool markets where governance may need to adjust parameters in response to changing market conditions.
Key Functions
updateJumpRateModel
Updates the interest rate model parameters. Restricted to authorized callers.
function updateJumpRateModel(
uint256 baseRatePerYear,
uint256 multiplierPerYear,
uint256 jumpMultiplierPerYear,
uint256 kink_
) external;
getBorrowRate
Calculates the borrow rate based on current utilization.
function getBorrowRate(
uint256 cash,
uint256 borrows,
uint256 reserves
) external view override returns (uint256);
getSupplyRate
Calculates the supply rate derived from the borrow rate and reserve factor.
function getSupplyRate(
uint256 cash,
uint256 borrows,
uint256 reserves,
uint256 reserveFactorMantissa
) external view override returns (uint256);
utilizationRate
Computes the current utilization rate of the market.
function utilizationRate(
uint256 cash,
uint256 borrows,
uint256 reserves
) public pure returns (uint256);
Parameters
| Parameter | Description |
|---|---|
baseRatePerYear | The minimum annualized borrow rate |
multiplierPerYear | The rate of increase in borrow rate per unit of utilization |
jumpMultiplierPerYear | The rate of increase beyond the kink |
kink | The utilization point at which the jump multiplier activates |