The Hacken 2025 Yearly Security ReportCovers major Web3 breaches, their root causes, prevention insights, and key regulatory trends for 2026.
Learn more

Aave Liquidity Rate Mechanics: Economic & Security Implications

6 min read

In a previous analysis, we explored how Aave calculates borrow rates based on utilization through its interest rate strategy. This article turns to the less visible side of that mechanism: the Liquidity Rate, and how borrower behavior is converted into lender yield.

The Liquidity Rate is often treated as a straightforward consequence of the borrow rate. In practice, it is shaped by a layered set of constraints – utilization, reserve factor, and debt composition – that can materially distort expected returns. This is where simplified assumptions break down, especially in forks or custom deployments where parameters are frequently adjusted without rigorous modeling.

TL;DR

  • Borrow APR is not a yield proxy. Liquidity rate is the realized lender yield and can remain low even when borrow rates look attractive.
  • Liquidity rate is a derived output of three multipliers: overall borrow rate × utilization × reserve factor.
  • Misconfiguring utilization dynamics, reserve factor, or debt mix can quietly erode lender incentives, increasing fragility during stress – especially in forks and custom deployments.

Liquidity Rate vs. Borrow Rate in Aave

Aave uses a dual-rate model:

  • Borrowers pay the borrow rate.
  • Lenders receive the liquidity rate.

These rates are linked, but not interchangeable. The liquidity rate is not “the borrow rate paid out to depositors.” It is a derived rate, meaning lender yield depends not only on interest levels, but also on how much capital is actually borrowed and how much the protocol retains via fees.

Mathematical Basis of the Liquidity Rate

The liquidity rate in Aave is calculated as:

Where:

= Variable borrow rate

= Utilization rate

= Protocol's fee percentage

This formula is implemented in DefaultReserveInterestRateStrategy.sol:

vars.currentLiquidityRate = _getOverallBorrowRate(
      params.totalStableDebt,
      params.totalVariableDebt,
      vars.currentVariableBorrowRate,
      params.averageStableBorrowRate
    ).rayMul(vars.supplyUsageRatio).percentMul(
        PercentageMath.PERCENTAGE_FACTOR - params.reserveFactor
      );

Source: DefaultReserveInterestRateStrategy.sol 

Step 1 – Compute the overall (weighted) Borrow Rate

Aave first reduces stable + variable borrow rates into a single OverallBorrowRate by weighting each rate by its share of outstanding debt:

This is implemented as:

uint256 weightedVariableRate = totalVariableDebt.wadToRay().rayMul(currentVariableBorrowRate);
uint256 weightedStableRate = totalStableDebt.wadToRay().rayMul(currentAverageStableBorrowRate);

uint256 overallBorrowRate = (weightedVariableRate + weightedStableRate).rayDiv(
totalDebt.wadToRay()
);

Interpretation: changes in debt composition (stable vs variable share) change the rate that ultimately feeds lender yield.

Step 2 – Compute utilization 

= supplyUsageRatio 

Implementation:

vars.supplyUsageRatio = vars.totalDebt.rayDiv(
vars.availableLiquidityPlusDebt + params.unbacked
);

Where:

  • totalDebt = total borrowed amount
  • availableLiquidityPlusDebt = total liquidity in the pool
  • unbacked = unbacked debt

Interpretation: if borrowing is low relative to available liquidity, utilization is low, and the liquidity rate is suppressed even if borrow rates look attractive.

Step 3 – Apply reserve factor 

Finally, Aave scales the Overall Borrow rate by utilization and then applies the reserve factor (protocol fee share):

Below is the Borrow rate and the resulting Liquidity rate plotted against Utilization under an Aave-style interest rate strategy. The vertical marker shows the Optimal Utilization where the slope of the borrow curve typically changes.

Assumptions:

  • Variable Borrow Rate = 5%
  • Reserve Factor = 10%

Figure: Aave Liquidity rate vs Borrow rate

Relationship between Utilization rate, Borrow rate, and Liquidity rate in Aave’s interest model (with reserve factor = 10%).

This formula reveals three critical insights:

1. Utilization Amplification: Liquidity rate increases quadratically with utilization.

2. Reserve Factor Impact: Higher reserve factors directly reduce lender returns.

3. Borrow Rate Dependency: Higher borrow rates don't always mean higher liquidity rates.

Failure Modes and Risk Scenarios

While the mathematical formula provides a clear calculation framework, understanding its real-world implications is crucial for both protocol designers and users. The formula's multiplicative nature means that each component doesn't just add to the final rate – it scales it. This creates non-intuitive outcomes that can significantly impact economic security and user incentives.

To illustrate how these components interact in practice, we examine three critical scenarios that commonly arise in lending protocols. Each scenario demonstrates a different failure mode or edge case that can lead to misaligned incentives, user dissatisfaction, or economic instability. 

Let's explore each scenario in detail.

Low Utilization → Near-Zero Yield

Even if ​ is high, a low utilization rate (e.g., 10%) drastically reduces the effective yield.

Example:

= 10%

= 10%

= 10%

= 10% × 10% × (1 - 10%)

                                   = 10% × 10% × 90%

                                   = 0.9%

Liquidity Rate vs. Utilization ( = 10%, = 10%)

Security and economic stability perspective: This dynamic can quietly degrade user trust. Users may be misled by high borrow APRs displayed in the UI, assuming they will receive comparable returns. However, unless borrowing actually occurs at scale, they may receive much less than expected. 

Therefore, real utilization, not only rates, must drive yield expectations.

High Reserve Factor → Protocol Keeps More

Example scenario:

= 15% (high demand), = 80% (healthy), = 30%

Then:

Lender Return = 15% × 80% × 70% = 8.4%

Protocol Takes = 15% × 80% × 30% = 3.6%

Borrow Interest Distribution at 80% Utilization and 15% Borrow Rate

Implication: A pool with high demand may still offer low returns to users if is misconfigured or excessive.

Security and economic stability perspective: Even if borrowing demand is strong and utilization is high, the effective yield for depositors can remain disappointingly low. This creates a misleading situation where the protocol appears active and healthy on the surface, but lender incentives quietly erode.

In extreme cases, high reserve factors can be used maliciously or without proper governance, effectively siphoning value from users under the guise of protocol revenue. Auditors and developers should treat reserve factor configuration as a critical economic parameter, one that must balance protocol sustainability with fair yield distribution, and be tested thoroughly for edge cases before deployment.

Borrow Mix Affects

The is a weighted average:

  • Heavy reliance on stable debt (often lower rate) will reduce the average borrow rate.
  • Even if variable borrow rate spikes, its impact depends on the debt composition.

Example 1: Variable-Heavy Pool

Pool Composition:

  • Variable debt: $8M at 12% rate
  • Stable debt: $2M at 8% rate
  • Total debt: $10M

Weighted average borrow rate:

Example 2: Stable-Heavy Pool

Pool Composition:

  • Variable debt: $2M at 12% rate  
  • Stable debt: $8M at 8% rate
  • Total debt: $10M

Weighted average borrow rate:

Impact of Debt Composition on Borrow Rate

Implication: Yield is sensitive not just to total borrowing but to how it's distributed between stable and variable debts.

Security and economic stability perspective: If the majority of outstanding debt is stable and carries lower interest, the overall remains low even when variable rates spike due to increased utilization. This dampens the responsiveness of lender yields to real-time market pressure, potentially leading to under-compensated liquidity providers.

Such under-compensation weakens long-term pool health, as lenders may exit or stop supplying liquidity. To mitigate this, developers should track the debt composition in real-time and ensure stable-to-variable ratios are monitored, alerting when the stable share dominates beyond safe bounds.

Conclusion

The liquidity rate formula in Aave reflects more than just interest rates,  it encapsulates utilization efficiency, reserve fee configuration, and the composition of borrowed assets. As we've demonstrated, even small misconfigurations (e.g., excessive reserve factors or imbalanced debt types) can severely diminish lender incentives, destabilizing long-term liquidity.

From a security standpoint, these factors form indirect but critical attack surfaces: economic inefficiencies can push liquidity providers to exit, making pools brittle during market stress. For both developers and auditors, it’s essential to treat liquidity rate modeling as part of the system’s security perimeter.

Subscribe to our newsletter

Be the first to receive our latest company updates, Web3 security insights, and exclusive content curated for the blockchain enthusiasts.

Speaker Img