Interest Rate Model
Morpho is an Interest Rate Model (IRM) agnostic protocol, meaning it can support any interest rate model for its markets. In Morpho, the interest borrowers pay in a given market is defined by the IRM chosen at market creation among a governance-approved set.
The only IRM that has been governance-approved is the AdaptiveCurveIRM, which is described in more detail later in this page.
Understanding Borrow and Supply APY
The Annualized Percentage Yield (APY) is a critical metric that standardizes interest rates over a one-year period by accounting for compounding. In the context of lending protocols, two key APYs are:
-
Borrow APY: This reflects the effective annual interest cost that borrowers incur. It is derived from the instantaneous interest rate provided by the chosen Interest Rate Model (IRM). Essentially, the Borrow APY tells borrowers how much they will pay on an annual basis for borrowing assets.
-
Supply APY: This indicates the effective annual yield that lenders receive on their supplied assets. It is derived from the same per-second borrow rate, scaled by the market's utilization and by the share of interest left to suppliers after the market's fee, then compounded over a year.
How Are These APYs Calculated?
Borrow APY Calculation
The Borrow APY is obtained by compounding the per-second borrow rate over the entire year. The formula is:
Here, borrowRate is the rate provided by the IRM and secondsPerYear equals 31,536,000.
Supply APY Calculation
Suppliers receive the borrowers' interest minus the market's fee, spread over all supplied assets. Apply utilization and the fee to the per-second borrow rate first, then compound the resulting per-second supply rate over the year:
Where:
- Utilization: Is the ratio of the total borrowed assets to the total supplied assets.
- Fee: The market's fee, set per market by governance. (Scaled by WAD: 1e18)
Do not multiply the Borrow APY by utilization and (1 - fee): compounding is not linear, so scaling the APY after compounding overstates the Supply APY. With the example below (4.89% Borrow APY, 85% utilization), that shortcut gives 4.15% instead of 4.14%.
APY Conventions
Between two interactions with a market, its borrow rate keeps moving: the AdaptiveCurveIRM's rate at target drifts with utilization until the next interaction accrues interest. An APY therefore depends on which borrow rate of that interval it uses. The formulas above stay the same; only borrowRate changes:
- End-of-interval: the borrow rate at the given timestamp, after drifting since the market's last update. It is the rate that applies from that moment on.
- Interval average: the average borrow rate between the market's last update and the given timestamp. It is the rate Morpho charges when it accrues interest over that interval.
Both are equal when the market was updated in the same block, and the gap grows with the time since the last update.
| Field or method | Convention |
|---|---|
AdaptiveCurveIRM borrowRateView and borrowRate | Interval average, from the market's lastUpdate to the block time |
SDK Market.getBorrowApy(timestamp), Market.getSupplyApy(timestamp), and the borrowApy / supplyApy getters | End-of-interval |
SDK Market.getAvgBorrowApy(timestamp) and Market.getAvgSupplyApy(timestamp) | Interval average |
GraphQL API MarketState.borrowApy and MarketState.supplyApy | Interval average, from the market's last update to the state block |
To reproduce the API's supplyApy with the SDK, call getAvgSupplyApy(timestamp) with the state's block timestamp on the market as last stored onchain, not on a copy with interest already accrued. The API's totals and utilization in the same state are accrued to the block timestamp, so recomputing the APY from them does not exactly match supplyApy.
Resources
For a deeper dive into the mechanics and the code behind these calculations, refer to the following resources:
- Interest Rate Model Repository: Explore the implementation and the smart contracts that power the IRM.
- IRM Interface Documentation: Review the interface definitions and understand how different IRMs integrate into the system.
- Introducing the AdaptiveCurveIRM article
This integrated approach ensures that both borrowers and suppliers have a clear understanding of the cost of borrowing and the returns on lending, all derived from a robust and governance-approved interest rate model.
Initially, this set is composed of one immutable IRM, the AdaptiveCurveIRM.
The AdaptiveCurveIRM
Overview
The AdaptiveCurveIRM is engineered to maintain the ratio of borrowed assets over supplied assets, commonly called utilization, close to a target of 90%.
In Morpho, the collateral supplied is not rehypothecated. Removing this systemic risk removes the liquidity constraints imposed by liquidation needs. It enables more efficient markets with higher target utilization of capital and lower penalties for illiquidity, resulting in better rates for both lenders and borrowers.
As with every parameter of a Morpho Market, the IRM address is immutable. This means that neither governance nor market creators can change it at any given time. As such, the AdaptiveCurveIRM is designed to adapt autonomously to market conditions, including changes in interest rates on other platforms and, more broadly, any shifts in supply and demand dynamics.
Its adaptability enables it to perform effectively across any asset, market, and condition, making it highly suitable for Morpho's permissionless market creation.
How It Works
The model can be broken down into two complementary mechanisms:
-
The Curve Mechanism This mechanism is akin to the interest rate curve in traditional lending pools. It manages short-term utilization effectively, maintaining capital efficiency while avoiding excessively high utilization zones that could lead to liquidity issues.

-
The Adaptive Mechanism This mechanism fine-tunes the curve over time to keep the range of rates in sync with market dynamics. It achieves this by adjusting the value of the target rate, which in turn shifts the entire curve:
- When utilization exceeds the target, the curve continuously shifts upward. This incentivizes loan repayment and thus decreases utilization.
- When utilization falls below the target, the curve continuously shifts downward. This incentivizes borrowing and thus increases utilization.

The speed at which the curve adjusts is determined by the distance of current utilization to the target: the further it is, the faster the curve shifts. This incremental adjustment of the curve allows for rate exploration, ultimately stabilizing when the interest rate at the target utilization aligns with the market equilibrium.
Here's a video showing how the two mechanisms combine to adjust interest rates:
For more on the AdaptiveCurveIRM, explore the technical reference.