Skip to main content

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

ParameterDescription
baseRatePerYearThe minimum annualized borrow rate
multiplierPerYearThe rate of increase in borrow rate per unit of utilization
jumpMultiplierPerYearThe rate of increase beyond the kink
kinkThe utilization point at which the jump multiplier activates

See Also