Advanced level
A lending protocol is a pool whose price of money is set by a formula. Utilization, borrows divided by deposits, drives a kinked rate curve that is gentle below a target and steep above it. Suppliers earn the borrow rate times utilization times one minus the reserve factor. Liquidations keep loans solvent only while they are profitable to execute; when collateral gaps down or cannot be sold, the shortfall becomes bad debt that reserves, stakers or suppliers must absorb.
A lending market is a balance sheet
Suppliers deposit an asset and receive a claim on the pool (aTokens on Aave, a positive balance on Compound III, shares on Morpho). Borrowers post collateral and take the asset out. At any moment the pool holds some cash and is owed some borrows, and the single most important number is how much of it is lent out:
Suppliers can only withdraw cash. At 100% utilization there is none, and withdrawals wait until borrowers repay or new deposits arrive. The whole job of the interest rate model is to keep that from happening: make borrowing cheap when there is plenty of cash, and painful enough near the top that borrowers repay and new suppliers arrive. If you have run a loan (see running a loan), this is the machine on the other side of it.
The kinked interest rate model
Aave, Compound and most of their descendants use a piecewise linear curve with a kink at a
target utilization. Aave calls it the optimal usage ratio. With base rate R0 and two
slopes:
You can read it in a dozen lines of the rate strategy contract, which also caps the kink between 1% and 99% and the maximum borrow rate at 1,000%.
Take illustrative parameters: base 0%, slope1 4%, slope2 60%, kink at 90%, reserve factor 10%.
| Utilization | Borrow rate | Supply rate | Borrow minus supply rate |
|---|---|---|---|
| 50% | 2.22% | 1.00% | 1.22 pts |
| 80% | 3.56% | 2.56% | 1.00 pts |
| 90% (the kink) | 4.00% | 3.24% | 0.76 pts |
| 92% | 16.00% | 13.25% | 2.75 pts |
| 95% | 34.00% | 29.07% | 4.93 pts |
| 99% | 58.00% | 51.68% | 6.32 pts |
The gap is not all revenue: the protocol keeps only the reserve factor share of interest, borrow rate × U × 10%, which is 0.11% of deposits a year at 50% utilization and 3.23% at 95%. Two points past the kink, the borrow rate quadruples. That cliff is deliberate: it is the protocol shouting at borrowers to repay and at suppliers to deposit, before cash runs out. Compound III uses the same shape but publishes separate kinked curves for supply and for borrow, set by governance (see its interest rate docs), and lets the reserve be whatever the gap between them leaves.
The supply rate and the reserve factor
Borrowers pay interest on the borrowed part of the pool; suppliers are paid on all of it. The protocol keeps a fraction, the reserve factor, for its treasury or insurance. So:
This is worth checking against a live market once, because it makes every dashboard legible. On September 29, 2026, Aave v3’s Ethereum USDC market had about 2.41 billion USDC supplied and 2.23 billion borrowed, a utilization of 92.33%. Its parameters were a kink at 94%, slope1 4.4%, slope2 10%, base 0% and a reserve factor of 10%. Below the kink, the formula gives 4.4% × 0.9233 ÷ 0.94 = 4.32% to borrowers and 4.32% × 0.9233 × 0.9 = 3.59% to suppliers, matching the contract’s stored rates to the basis point.
These are APRs. Borrow interest compounds every second, so the effective annual cost is slightly higher. And the curves are policy, not physics. During the April 2026 rsETH incident described below, Aave’s risk steward cut the WETH second slope on several markets so that the rate at 100% utilization fell from 8.5 to 10.5% down to 3%, to keep borrowing costs sustainable while utilization was pinned near the top.
Collateral factors, thresholds and bonuses
Each collateral asset gets its own risk parameters. The loan to value (LTV) caps how much you can borrow when you open or add to a loan. The liquidation threshold (LT) is the line that matters afterward. The gap between them is the buffer that absorbs oracle lag and ordinary volatility. The liquidation bonus is the discount a liquidator receives on the collateral it takes.
| Aave v3 Ethereum, September 2026 | LTV | Liquidation threshold | Liquidation bonus | Reserve factor |
|---|---|---|---|---|
| WETH | 80.5% | 83% | 5% | 15% |
| wstETH | 78.5% | 81% | 6% | 35% |
| WBTC | 73% | 78% | 5% | 50% |
| USDC | 75% | 78% | 4.5% | 10% |
Read onchain from the pool’s reserve configuration. The pattern is general: deeper, less volatile collateral gets higher thresholds and smaller bonuses, because it is easier to sell. The liquidation calculator runs the health factor math for your own positions.
How a liquidation executes
When the health factor drops below 1, anyone can repay part of the debt and take collateral worth the repaid amount plus the bonus. Aave limits how much in one call with a close factor: 50% of the position’s debt, rising to 100% when the health factor is at or below 0.95 or when the collateral or debt on that reserve is under 2,000 dollars, and never leaving less than 1,000 dollars of dust behind. The protocol also takes a slice of the bonus (10% of it for WETH).
A worked example with those WETH parameters: 10 ETH of collateral at 2,600 dollars against 18,000 USDC of debt.
| Step | Numbers |
|---|---|
| Starting health factor | 26,000 × 0.83 ÷ 18,000 = 1.199 |
| Liquidation price of ETH | 18,000 ÷ (10 × 0.83) = 2,168.67 dollars |
| ETH falls to 2,150 | health factor 0.991, above 0.95, so the 50% close factor applies |
| Liquidator repays 9,000 USDC | seizes 9,000 × 1.05 ÷ 2,150 = 4.395 ETH, worth 9,450 dollars |
| Bonus split | 450 dollars of bonus: 45 to the protocol, 405 to the liquidator |
| Borrower afterward | 5.605 ETH (12,050 dollars) against 9,000 debt, health factor 1.111 |
Other designs make different choices. Compound III has no partial liquidation: absorb takes the
whole underwater account onto the protocol’s books, pays the user out of reserves minus a penalty, and then
sells the seized collateral at a discount through buyCollateral whenever reserves are below a target.
Morpho has no close factor at all and derives the bonus from each market’s liquidation LTV (LLTV):
| LLTV | 62.5% | 77% | 86% | 91.5% | 94.5% |
|---|---|---|---|---|---|
| Bonus | 12.68% | 7.41% | 4.38% | 2.62% | 1.68% |
Why liquidation must be profitable
Nobody is obliged to liquidate. Liquidators are bots, and they act only when the bonus beats their costs: gas or priority fees to win the race, slippage selling the seized collateral, and the price risk of holding it for a moment. Flash loans remove the capital requirement, so the race is purely about speed and execution, and it is often won in the block right after an oracle update (the subject of MEV).
For 4 ETH on a deep market, a 405 dollar margin is plenty. For 40 million dollars of a token that trades 2 million a day, a 5% bonus is less than the slippage of selling it, so the rational liquidator does nothing while the position sinks. That is why long tail collateral gets low thresholds, high bonuses and hard supply caps, and why, for thin collateral, the supply cap matters more than any other parameter.
How bad debt happens
Two thresholds tell you when a position becomes a problem for everyone else:
For WETH on Aave that is a health factor of 0.83 and 0.8715. A position liquidated promptly at 1.0 never gets there. It takes a gap: a drop of about 13% between two chances to liquidate. In the example above, if ETH gapped from 2,200 (health factor 1.014) to 1,700 in one move, 10 ETH would be worth 17,000 against 18,000 of debt. A liquidator could repay at most 16,190 and take everything; about 1,810 dollars of debt would remain with no collateral behind it.
Gaps are one cause. The others are collateral nobody can sell at the oracle price, an oracle that is stale or pinned (see oracles), and collateral whose backing breaks while its price feed says nothing is wrong. That last one happened at scale in April 2026. An attacker forged a cross chain message that released 116,500 rsETH from the bridge contract backing rsETH on other chains, leaving the bridged copies largely unbacked. The attacker deposited 89,567 rsETH on Aave v3 on Ethereum and Arbitrum and borrowed about 82,650 WETH, roughly 191 million dollars. The positions sat at health factors of 1.01 to 1.03: healthy by the oracle, which kept pricing rsETH at its exchange rate, while its real value depended on how the loss would be shared among rsETH holders. Aave’s guardian began freezing rsETH markets within about 90 minutes. In the incident report and its updates, service provider estimates of the bad debt ranged from about 62 million to 162 million dollars depending on that allocation, and a multi party recovery effort followed.
How protocols absorb bad debt
| Protocol | Mechanism | Who bears it first |
|---|---|---|
| Aave v3.3 and later | Debt left on an account with no collateral is burned and recorded as a reserve deficit; the Umbrella module can burn staked aTokens to cover it | The Umbrella backstop, where one covers the asset |
| Compound III | Absorptions are paid from the market’s reserves; collateral is sold later | Protocol reserves |
| Morpho | Bad debt is realized in the same liquidation and subtracted from the market’s total supply | That market’s suppliers, pro rata, immediately |
| MakerDAO (historically) | Shortfalls covered by debt auctions that mint and sell new MKR | MKR holders, through dilution |
The Aave mechanics are described in the v3.3 release notes, and Morpho’s in its open source core, where the whole liquidation, bad debt included, fits in one function. The MakerDAO row has a famous origin. On March 12, 2020, network congestion meant few keepers could bid in MakerDAO’s collateral auctions, some auctions cleared at zero, and the system was left short. Auctions only work if bidders with capital can reach the chain in time.
Pooled versus isolated markets
Pooled
Aave, Compound v2 style
- Deep shared liquidity and simple rates for users
- Borrow many assets against a basket of collateral
- One bad collateral listing can hurt every supplier in the pool
- Governance must vet and tune every asset
Isolated
Morpho markets, Euler v2 vaults, Kamino curated markets
- A failure stays inside one market
- Anyone can create a market with its own oracle and LTV
- Liquidity fragments across many small markets
- Risk moves to whoever curates the vault you deposit into
A Morpho market is defined by five immutable choices: loan asset, collateral asset, oracle, rate model and LLTV. The core contract’s owner can only approve new rate models and LLTV values and set a fee of at most 25% of interest; it cannot change a market once created. That is strong isolation, and it pushes the judgment to the vaults that allocate deposits across markets. Compound III sits in between: each market has a single borrowable base asset, and collateral earns no interest.
Reading a market before you supply
Utilization and the kink
Where is utilization relative to the kink? A market parked just below it can jump into the steep slope, and a market at 100% cannot pay out withdrawals.
Collateral you are exposed to
In a pooled market, list every collateral asset and its supply cap. Ask what backs each one and how deep its market is relative to the cap.
Oracle per collateral
Which feed, what update rules, any caps or adapters. The oracles guide shows how to read them.
Backstop
Reserves, a staking module, an insurance fund, or nothing. Find out who absorbs a shortfall before it happens.
Who can change the rules
Parameters, oracles and code can all change. Check the delay first; see admin keys and timelocks.
Common questions
Why does the borrow rate jump so sharply above the kink?
Because the protocol needs cash available for withdrawals. Past the target utilization, a steep second slope makes borrowing expensive enough that borrowers repay and suppliers arrive, pulling utilization back before the pool runs dry.
Why is the supply rate always lower than the borrow rate?
Two reasons. Only the borrowed part of the pool pays interest, but it is shared across all deposits, so the rate is multiplied by utilization. Then the protocol keeps the reserve factor before paying suppliers.
What is a close factor?
The share of a position’s debt a liquidator may repay in one go. Aave uses 50%, rising to 100% when the health factor is at or below 0.95 or the position is small. It stops a borrower from losing their whole position to a marginal breach.
Can suppliers lose money in a lending protocol?
Yes. If bad debt exceeds the protocol’s backstops, suppliers bear it, directly in isolated designs like Morpho and through deficits in pooled ones. Suppliers can also be temporarily unable to withdraw when utilization is at 100%.
Are isolated markets safer than pooled ones?
They contain failures better: one bad collateral asset hurts only its own market. But liquidity is thinner and you rely on whoever curates the vault or market you choose. Safer for the system is not automatically safer for your deposit.
Where to go next
Next: How pegs hold and how they break
Guide 11 of 16 in the Advanced level. Your place is kept on this device, so you can pick up exactly here next time.