Interest rates on Bend are set by each market’s Interest Rate Model (IRM). If you’re building a borrow integration, you need to show how rates work and how they affect positions.Documentation Index
Fetch the complete documentation index at: https://berachain-422fce37-feat-nodes-section-reno.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
IRM role
Each Bend market has a single, immutable IRM. That contract computes the borrow rate from market conditions, mainly utilization (total borrows / total supply). Only IRMs approved by Bend governance can be used; the main one is AdaptiveCurveIRM.AdaptiveCurveIRM
AdaptiveCurveIRM targets 90% utilization.- Below 90%: Borrow rate falls to encourage borrowing.
- Above 90%: Borrow rate rises to encourage repayments and more supply.
Finding the market rate
To get the rate at a given utilization (e.g. 80%) for a market:- Morpho Contract - To retrieve IRM for market
- IRM Contract - Query rate at utilization point (e.g. 80%)
| Market | MarketId |
|---|---|
| wsRUSD / HONEY | 0x04d3b8b00c6f3b75481492b76139473e2368339ee58587df65684fdb9103984e |
| WBTC / HONEY | 0x950962c1cf2591f15806e938bfde9b5f9fbbfcc5fb640030952c08b536f1f167 |
| sUSDe / HONEY | 0x1ba7904c73d337c39cb88b00180dffb215fc334a6ff47bbe829cd9ee2af00c97 |
| wgBERA / HONEY | 0x63c2a7c20192095c15d1d668ccce6912999b01ea60eeafcac66eca32015674dd |
| WETH / HONEY | 0x1f05d324f604bd1654ec040311d2ac4f5820ecfd1801a3d19d2c6f09d4f7a614 |
| WBERA / HONEY | 0x147b032db82d765b9d971eac37c8176260dde0fe91f6a542f20cdd9ede1054df |
| iBERA / HONEY | 0x594de722a090f8d0df41087c23e2187fb69d9cd6b7b425c6dd56ddc1cff545f0 |
Step 1 - Determine IRM contract
Go to https://berascan.com/address/0x24147243f9c08d835C218Cda1e135f8dFD0517D0#readContract and enter one of the MarketIds from above in theidToMarketParams field.

| Name | Type | Value |
|---|---|---|
| loanToken | address | 0x0dE23153BC280dD95BE914ddafb5591aE877e067 |
| collateralToken | address | 0xC3aD1095c231bb5D25E7EB1Aa23de7A9439EA12c |
| oracle | address | 0xc76A0E60016dFd4B18Db71b6DaEF769bc8057a3d |
| irm | address | 0x1d5376e532CcF25b740270624111D665830E5dB9 |
| lltv | uint256 | 945000000000000000 |
irm address and go to that address on BeraScan.
Step 2 - Determine Market Rate Target Utilization
Enter one of the MarketIds from above into therateAtTarget field.

How interest accrues on debt
For a borrower, the most important takeaway is that interest is constantly accruing, increasing their total debt over time. This directly impacts their position’s health. The process is as follows:1. Rate calculation
The IRM calculates the instantaneousborrowRate based on the market’s current utilization.
2. Interest accrual
This rate is applied to the borrower’s debt continuously. The amount of interest accrued increases thetotalBorrowAssets in the market and, proportionally, the asset value of each borrower’s borrowShares.
3. Impact on Health Factor
As the debt value increases due to accrued interest, the user’s LTV rises and their Health Factor falls, even if collateral and asset prices remain stable. Health Factor = (Collateral Value x LLTV) / (Initial Debt + Accrued Interest) This is a critical concept to communicate to users: their position can become riskier over time simply from interest accrual.Onchain state and accrueInterest
The Bend contract does not update interest for every block to save gas. Instead, interest is calculated and applied only when a market interaction occurs via the _accrueInterest internal function. This function is triggered by actions like borrow, repay, supply, and withdraw.
When you fetch a user’s position from the contract, the
totalBorrowAssets value reflects the
state at the last interaction. To get the up-to-the-second debt value, you must account for the
interest accrued since the lastUpdate timestamp.