Base Linear Kink IRM
The Base Linear Kink IRM defines the hyperparameters for a linear kink interest rate model
Until a tranche's borrow utilization reaches targetUtilization, the trancheBorrowRate is baseBorrowRate + gentleSlope * trancheBorrowUtilization.
After a tranche's borrow utilization has reached targetUtilization, the trancheBorrowRate is targetBorrowRate + steepSlope * (trancheBorrowUtilization - targetUtilization)
struct TrancheRateConfig {
uint256 targetUtilization; // Target borrow tranche utilization
uint256 baseBorrowRate; // Borrow rate at 0 utilization
uint256 gentleSlope; // Slope of increase in borrow rate from [0, targetUtilization)
uint256 targetBorrowRate; // Borrow rate at targetUtilization
uint256 steepSlope; // Slope of increase in borrow rate from [targetUtilization, 100]
}if (trancheUtilization > config.targetUtilization) {
trancheBorrowRate = config.targetBorrowRate + config.steepSlope.mulWad(trancheUtilization - config.targetUtilization);
} else {
trancheBorrowRate = config.baseBorrowRate + config.gentleSlope.mulWad(trancheUtilization);
}Last updated