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