← Back to Glossary
Lending

Borrow Rate

In one sentence

The borrow rate is the annualized interest you pay on assets borrowed from a lending protocol such as Aave, Morpho, or Euler. It is also called the borrowing rate or borrow APY, and it is variable: it rises as more of the supplied asset gets borrowed.

Borrow rate definition

The borrow rate is the annualized interest you pay on assets you have borrowed from a lending protocol. Borrow 10,000 USDC at a borrow rate of 5% and the debt grows by roughly 500 USDC over a year, denominated in USDC, on top of the 10,000 you already owe.

Borrow rate, borrowing rate, and borrow APY are the same number under three names: the price of the debt. Its mirror image is the lending rate, also called supply APY, which is what the depositors on the other side of the same market earn. On Aave, Morpho, and Euler the borrow rate is always higher than the lending rate in the same market, because only part of the interest borrowers pay reaches suppliers. The rest goes to the protocol reserve.

How the borrow rate is set

Nobody quotes you a rate on-chain. It falls out of a formula whose main input is utilization: the share of the supplied asset that is currently borrowed. Little borrowed means cheap credit. Nearly everything borrowed means expensive credit, because the protocol has to keep suppliers able to withdraw and the only lever it has is price.

Aave V3 uses a two slope model built around an optimal utilization ratio, the point everyone calls the kink. Below the kink the rate climbs gently. Above it, the second slope is applied across the narrow band between the optimal point and 100%, so a small move in utilization produces a large move in the rate.

  • Below the kink: borrow rate = base rate + slope1 x (utilization / optimal utilization).
  • Above the kink: borrow rate = base rate + slope1 + slope2 x (utilization - optimal utilization) / (1 - optimal utilization).
  • Base rate, slope1, slope2, and the optimal utilization point are configured per asset and per market, and governance can change them.
  • Supply APY = borrow APY x utilization x (1 - reserve factor), which is why the two rates never match.

Morpho takes a different route with its AdaptiveCurveIRM. There is still a curve, targeted at 90% utilization, but the curve itself moves over time. While utilization sits above target the curve shifts up, while it sits below the curve shifts down, and the speed depends on how far from target the market is. Morpho documents the pace: at 100% utilization the rate at target doubles in about 5 days, at 95% it doubles in about 10 days, and at 45% it halves in about 10 days. On top of that, utilization at 100% gives 4x the rate at target and utilization at 0% gives the rate at target divided by 4.

Euler v2 lets each vault choose its interest rate model contract. Vaults use kinked models, and Euler also ships an adaptive curve model derived from Morpho, tuned with its own parameters. Different plumbing, same two ideas: a curve driven by utilization, and in the adaptive versions a curve that also drifts to pull utilization back to target.

The practical read: know which side of the kink your market is on. Below it, a few points of utilization move the rate by basis points. Above it, the same few points move it by whole percent.

How often does the borrow rate change?

Constantly, and with no warning. The rate is a function of the state of the market, so it is recomputed every time somebody touches that market: a supply, a borrow, a repayment, a withdrawal, a liquidation. Several of those can land in the same block. There is no daily fixing, no notice period, and no rate you locked in at open.

Interest accrues continuously in between. On Aave your debt is a variable debt token whose balance grows over time. Morpho states the same thing plainly: interest is constantly accruing and increasing total debt, while the contract only writes the accrued state when someone interacts with the market. Either way, the debt grows whether or not anyone is looking.

Variable rate vs stable rate

Aave V2 offered a stable rate mode that fixed the borrow rate for the life of a loan under certain rebalancing conditions. That is over. Aave 3.2 removed stable rate logic from the protocol entirely: new assets no longer instantiate a stable debt token, all pool functions related to stable rate mode were deleted, and a borrow now reverts if it tries to open in stable mode. Aave documented the reason bluntly, that no active stable rate position remained on any Aave instance. Morpho and Euler never offered a stable mode.

So on-chain borrowing today is variable borrowing. A fixed cost of debt has to be constructed rather than selected, for example with Pendle PT and YT instruments or a fixed rate vault built on top of a variable market. The trade-off is the usual one: you buy predictability and you give up the ability to walk away at par.

Why the borrow rate matters: a spike flips a carry trade overnight

Every leveraged on-chain position is a carry trade. You earn a yield on the collateral, you pay the borrow rate on the debt, and net APY is the spread between them. Of those two legs, the borrow rate is the one that can move violently in hours, and it moves with no price action at all. Your thesis on the asset can be perfectly intact while the position quietly turns into a loss.

Borrow 50,000 USDC at 4% against collateral earning 7%: the carry is positive at 3%. Utilization pushes past the kink, the borrow rate goes to 18%, and the same position now pays 18% to earn 7%. Nothing happened to the price of anything you hold.
  • A leveraged staking loop only works while the staking yield stays above the ETH borrow rate.
  • A short built by borrowing an asset only pays while the borrow rate stays below the fall you expect.
  • A market pinned above the kink is a signal: either genuine borrow demand, or a crowd racing for the exit.
  • High utilization means the rate spike and the withdrawal squeeze arrive together, so exiting late costs more than the interest.
  • Borrow rate spikes frequently run ahead of a wave of liquidations across the same market.

Worked example

A user borrows 50,000 USDC at 4% to lever an ETH position. Annual cost: 2,000 USDC. During a leverage unwind, USDC utilization climbs past the optimal point and the rate reaches 18% over six hours. New annual cost: 9,000 USDC. If the collateral earns 7%, the position went from earning a 3% spread to paying an 11% spread on the debt, and it can stay there for days until utilization normalizes. Six hours of not looking is the entire difference between noticing and being told.

Reading the utilization curve

A useful habit is to track utilization, not just the rate. Below the kink, the market is calm and predictable: rates barely respond to flow. Above it, the curve steepens and the market becomes reflexive, because the same conditions that push utilization up (borrowers piling in, suppliers pulling out) also make it harder for anyone to bring it back down. Once a market spends real time above the kink, the question is no longer what the rate is, it is how long you are willing to pay it.

How Otomato monitors your borrow rate

Paste a wallet address and Otomato detects every position you hold across Aave, Morpho, Euler, and the rest of the protocols it covers, then follows the borrow rate on each debt you have open. When a rate crosses your threshold, or when net APY on a position crosses zero, you get an alert on Telegram or in the app naming the position, the rate, and what it costs you. Read-only: no wallet connect, no signatures, and Otomato cannot move funds.

See what borrowing costs right now across the major money markets.

Compare borrowing rates

Frequently asked questions

What does borrow rate mean?

The borrow rate is the annualized interest you pay on assets borrowed from a lending protocol. Borrow 10,000 USDC at a 5% borrow rate and you owe roughly 500 USDC of interest over a year, on top of the principal. On Aave, Morpho, and Euler the rate is variable and set by market utilization rather than quoted to you at open.

Is borrow rate the same as borrowing rate?

Yes. Borrow rate, borrowing rate, and borrow APY all describe the same number: the annualized cost of your debt. The rate paid to depositors on the other side of the market is the lending rate, or supply APY, and it is always lower because part of the interest goes to the protocol reserve.

How is the borrow rate calculated?

From utilization, the share of the supplied asset currently borrowed. Aave V3 uses a two slope model: below an optimal utilization point, the rate is base rate plus slope1 scaled by utilization; above it, the second and much steeper slope is applied across the band up to 100%. Morpho uses an adaptive curve targeted at 90% utilization, where the whole curve shifts up while utilization stays above target and down while it stays below.

Why did my borrow rate go up?

Almost always because utilization rose in that market. Borrowers took liquidity out, or suppliers withdrew it, and the market crossed above its optimal utilization point where the curve is steep. The rate is recomputed on every interaction with the market, so it can move several times inside one block with no announcement and no action from you.

Does Aave still offer a stable borrow rate?

No. Aave V2 had a stable rate mode, and Aave 3.2 removed stable rate logic from the protocol entirely: new assets no longer instantiate a stable debt token, the related pool functions were deleted, and a borrow reverts if it tries to open in stable mode. All borrowing on Aave V3 is variable. A fixed cost of debt has to be built with instruments such as Pendle PT and YT.

How do I get alerted when my borrow rate spikes?

Paste your wallet address into Otomato. It detects your open debts across Aave, Morpho, Euler, and other supported protocols, follows the borrow rate on each one, and alerts you on Telegram or in the mobile app when a rate crosses your threshold or when net APY on a position turns negative. It is read-only, with no wallet connect and no signatures.

Related terms

Monitor this in your portfolio

Otomato detects your positions automatically and alerts you only when something material changes. No setup, no signatures.