There is no interest rate desk at Aave. Nobody at Compound wakes up, checks deposit flows, and decides that stablecoin lenders should earn a little more this month. The rate you see when you open a lending market is the output of a formula that was written into the contract when the pool was deployed, and the only live input that formula takes is a single number called utilization. I keep coming back to this because once you see how that one number drives everything, a lot of confusing lending behavior stops being confusing, including the most expensive misread in DeFi, which is treating a spiking supply APY as free money when it is usually closer to a warning light.
Utilization is borrowed funds divided by total deposits. If a pool holds 100 million of a stablecoin and 80 million of it is out on loan, utilization is 80 percent. Every deposit, withdrawal, borrow, and repayment nudges that ratio, and every time it moves, the rate recalculates. On Aave this happens whenever anyone touches the pool, so the number you see is genuinely live. The curve itself was approved by governance, sometimes years ago, and from that point on the market runs itself with nobody in the loop.
The kink is the whole design
Aave and Compound both use what people call a kinked curve, which is just two straight lines joined at an elbow. There is a base rate, often zero or close to it, then a gentle first slope that raises the borrow rate as utilization climbs toward a target the protocol calls optimal utilization. For major assets that target typically sits somewhere between 80 and 92 percent. Below the target, borrowing gets gradually more expensive in a way nobody really notices. Above it, a second slope takes over, and the second slope is violent on purpose. On a typical stablecoin market the borrow rate might be in the low single digits at the kink and several times that, sometimes ten times that, at full utilization. The last few percentage points of utilization carry almost all of the rate movement.
The reason for the elbow is that the unborrowed portion of the pool is the only exit door depositors have. When you supply to a lending pool, your tokens do not sit in a box with your name on it. They get lent out, and what remains is a shared buffer of idle cash that services withdrawals. Utilization is really a measure of how much of that exit door is left. At 80 percent utilization, a fifth of the pool can leave. At 99 percent, almost nobody can. The steep second slope is the protocol defending its buffer, and it pushes in both directions at once. High rates pull new deposits in because the yield suddenly looks spectacular, and they push borrowers to repay because holding the loan starts to hurt. In theory, utilization drifts back below the kink and the door reopens.
What a spiking rate is actually telling you
Which brings me to the part I wish more people internalized before their first deposit. If utilization hits 100 percent, withdrawals fail. The transaction just reverts. The pool has no cash to give you, and because these loans have no fixed term, no borrower is obligated to repay on any particular schedule. The protocol is not insolvent in that moment, borrowers are still overcollateralized, and liquidations still function since a liquidator repays debt rather than removing cash. But your ability to exit depends entirely on someone else deciding the borrow rate is too painful, or a new depositor deciding the supply rate is attractive enough to take your place at the door.
It happens in practice more than people expect. Stablecoin markets sat pinned near full utilization during the USDC depeg in 2023 while everyone tried to move at once. Long-tail markets have been drained by traders borrowing a token to short it, perfectly happy to pay triple-digit borrow rates because the trade dwarfed the interest. And a single large wallet borrowing most of one side of a pool can hold utilization above the kink for weeks. In every one of these cases the supply APY on the screen looked extraordinary, and in every one of them that number was the pool advertising its own illiquidity.
The mechanics make this worse than it sounds. Your supply rate is roughly the borrow rate multiplied by utilization, with a slice called the reserve factor taken out for the protocol treasury. So the headline supply APY peaks at exactly the moment the exit is narrowest. The yield is real and it does accrue, but it is compensation for withdrawal risk, priced by a formula rather than by anything resembling a market. A pool paying four times its usual rate is quoting you a risk premium, and yield dashboards and screenshot accounts will present it as an opportunity every single time.
Reading the curve before you deposit
All of these parameters are public. Aave publishes the optimal utilization, both slopes, and the reserve factor for every asset, and Compound does the same, with the footnote that Compound v3 runs separate curves for the supply side and the borrow side. Five minutes of reading replaces most of the guesswork. What I actually check, in order:
- Current utilization against the kink. The gap between them is your margin. Depositing at 70 percent utilization with a 90 percent kink is a very different position from depositing at 89 percent, even if the APY looks identical today.
- The borrow rate at full utilization. Add the base rate, the whole first slope, and the whole second slope. If that worst-case number would genuinely force borrowers to repay, the pool can self-correct. If the likely borrowers are rate-insensitive, shorts, loopers, someone farming an incentive worth more than the interest, the curve loses its teeth.
- The reserve factor, since it is the standing gap between what borrowers pay and what you receive.
- Borrower concentration. A borrow side made of thousands of wallets responds to rates. A borrow side that is mostly one address responds to whatever that one address is doing.
- Whether the advertised APY is curve yield or token incentives stacked on top. Incentives come from a different budget, expire on someone else's schedule, and tell you nothing about pool health.
The failure mode I see most often combines all of this. A small market for a long-tail asset shows a supply APY several times the norm. Someone deposits for the yield without noticing that utilization is sitting at 97 percent because one wallet has borrowed most of the pool to short the token. Utilization stays pinned, since the shorter does not care about the interest. The depositor cannot withdraw, the accrued yield is unrealizable until liquidity returns, and if the token sells off in the meantime they are locked into an asset they want out of at exactly the moment nobody else wants in.
One more thing worth knowing, since it undercuts the marketing a little. These rates get described as algorithmic, but the algorithm's parameters are set by governance votes, which means they are set by people, just slowly and in public. When a risk team proposes moving a kink from 90 down to 80 percent, that proposal is telling you how much withdrawal risk they think the market carries, and reading those forum threads is unglamorous but far more informative than any APY screenshot. The same logic applies to watching the borrow side directly. At Blockcircle we spend most of our time tracking what large wallets do across markets, and a single address quietly becoming the majority borrower in a lending pool is exactly the kind of thing that shows up on-chain well before the rate spikes.
So my rule of thumb, for whatever it is worth. Before depositing anywhere, look up the kink, the second slope, and the live utilization, then ask what has to happen for you to get your money back if the pool fills up. If the answer depends on a rate-insensitive borrower changing their mind, the extra yield is probably not paying you enough. The curve is public, the buffer is public, and the nice thing about on-chain lending is that you can check all of this before you click deposit, which is more than most depositors ever do.