Interest Rate Model
Here is an example video showing how the Adaptive Curve IRM works:
Video provided by Morpho Docs.
In Bend, the interest rate borrowers pay is determined by an external Interest Rate Model (IRM), which is selected at the time each market is created.
Currently, the only IRM available for Bend markets is the AdaptiveCurveIRM. This model stands apart from traditional lending pool IRMs in two main ways:
Whereas most lending pool IRMs can be changed or upgraded, the AdaptiveCurveIRM is immutable and cannot be altered. As a result, it must automatically respond to market conditions, including shifts in interest rates across other platforms.
In the Bend protocol, supplied assets are not used as collateral. This means markets do not need to maintain excessive liquidity for potential liquidations at all times. By eliminating this risk, the protocol can target a higher utilization of capital and impose less severe penalties for illiquidity, which leads to improved market efficiency.
The AdaptiveCurveIRM mechanism is built to keep utilization near its target—set at 90%. There are two overlapping timeframes: in the short-term, the protocol seeks to avoid utilization becoming too low or too high (to prevent liquidity disruptions), while over the medium and long term, the rate adapts to ongoing market changes.
To maintain this balance, AdaptiveCurveIRM modifies incentives for users through two main mechanisms:
The Curve Mechanism
This mechanism resembles the interest rate curves commonly found in traditional lending protocols.
The curve is defined by the following features:
| Name | Description |
|---|---|
| Target Rate | 0.9) |
| Fixed Steepness Parameters | c = 4 |

Image provided by Morpho Docs
Each time a user interacts with the market—such as borrowing or repaying—the utilization changes. This causes an immediate, stepwise shift in the rate as set by the curve.
For instance, the following are sample utilization-to-rate relationships:
| Utilization | Rate |
|---|---|
| 90% | |
| 100% |
The Curve Mechanism is designed to respond to short-term fluctuations in utilization, helping maintain healthy market liquidity during periods of sudden borrowing or repayment.
The Adaptive Mechanism
This mechanism continuously shifts the curve to adjust to market conditions over time.
Importantly, the interest rate adapts along with the curve itself, so it continually evolves based on market conditions—even in periods without any market activity.

Image provided by Morpho Docs
The adaptive mechanism dynamically shifts the rate curve in response to changing market conditions, even during periods without user interaction.
The key value that moves the curve is
- If utilization rises above the target (90%),
will steadily increase. - If utilization falls below the target,
will steadily decrease.
The pace at which
As an example: if utilization holds steady at 100% for five days,
TIP
The values of some constants are hardcoded into the code deployed on Berachain, such as TARGET_UTILIZATION, INITIAL_RATE_AT_TARGET, etc.
Formula Breakdown
| Name | Description |
|---|---|
| utilization - total assets borrowed divided by total assets supplied | |
| time - the specific moment at which utilization and other parameters are evaluated | |
| Ratio of total borrow over total supply at time | |
| Constant target value for utilization (set to 0.9) that the model aims to maintain. | |
| For all time | |
| error - Difference between the current utilization and the target utilization, divided by a normalization factor | |
| Constant that controls how sharply the interest rate increases when utilization exceeds the target | |
| The time step (in seconds) between two interest rate updates | |
| Most recent interaction time before or at a specific time | |
| Factor controlling how quickly the interest rate evolves based on utilization changes over time | |
| Borrow rate | |
| Rate at target - Interest rate corresponding to the target utilization, updated over time using the speed factors |
Utilization
Utilization (
Error
Error (

Image provided by Morpho Docs
Curve
Curve (
with
History Of Interactions
History of interactions (
Last Interaction
Last interaction (
Speed
Speed factor (
Rate At Target
Rate at target (
At any time (
Calculations
Annual Percentage Yield (APY) is a standardized metric that expresses the annualized return for suppliers and the annualized cost for borrowers, accounting for the effects of compounding interest over a one-year period. In Bend, APY enables participants to directly compare returns and costs across different protocols and asset markets.
Borrow APY
The Borrow APY is calculated using the following formula:
Where:
borrowRateis the borrow rate per second, as determined by the Interest Rate Model (IRM).secondsPerYearrepresents the total number of seconds in a year (31,536,000).
Supply APY
The Supply APY is calculated considering the utilization and the fee. The formula is:
Where:
feeis the fee of the market on a per-market basis and portion of the interest paid by borrowers that is retained by the protocol. See Yield & Fees for more details.utilizationis calculated as:
Constants
The values of the following constants are hardcoded into the Morpho code deployed on Berachain.
- WAD = Wei-based Decimal (WAD = 10¹⁸, meaning 1 WAD = 1.0)
| Parameter | Description | Value |
|---|---|---|
CURVE_STEEPNESS | Curve steepness (scaled by WAD) | 4 |
ADJUSTMENT_SPEED | Adjustment speed per second (scaled by WAD) | 50/# of seconds per year |
TARGET_UTILIZATION | Target utilization (scaled by WAD) | 90% |
INITIAL_RATE_AT_TARGET | Initial rate at target per second (scaled by WAD) | 4%/# of seconds per year |
MIN_RATE_AT_TARGET | Minimum rate at target per second (scaled by WAD) | 0.1%/# of seconds per year |
MAX_RATE_AT_TARGET | Maximum rate at target per second (scaled by WAD) | 200%/# of seconds per year |