Skip to main content

Overview

Interest Rate Models (IRMs) determine the borrowing and supply rates for each vault based on utilization. Each vault can have its own custom IRM, allowing for flexible rate structures.

Utilization

Utilization is the percentage of deposited assets that are currently borrowed:
Utilization = Total Borrowed / Total Deposited
  • Low Utilization (e.g., 20%): More assets available, lower borrowing rates
  • High Utilization (e.g., 90%): Fewer assets available, higher borrowing rates

Rate Calculation

Supply Rate

The supply rate is the interest earned by lenders. It’s calculated as:
Supply Rate = Borrow Rate × Utilization × (1 - Reserve Factor)
The reserve factor is a percentage of interest that goes to the protocol (typically 0-20%).

Borrow Rate

The borrow rate is determined by the vault’s IRM based on current utilization. Different IRMs use different formulas.

IRM Types

Linear IRM

A simple linear model where rates increase proportionally with utilization:
Borrow Rate = Base Rate + (Utilization × Slope)
Characteristics:
  • Simple and predictable
  • No kink points
  • Rates increase steadily with utilization

Kinked IRM

A model with a “kink” point (optimal utilization):
If Utilization < Optimal Utilization:
    Borrow Rate = Base Rate + (Utilization × Slope1)
Else:
    Borrow Rate = Base Rate + (Optimal × Slope1) + ((Utilization - Optimal) × Slope2)
Characteristics:
  • Two different slopes
  • Optimal utilization point (typically 80-90%)
  • Steeper slope after optimal to discourage over-utilization

Adaptive IRM

Rates adjust over time based on utilization history:
  • If utilization is consistently above target: rates increase gradually
  • If utilization is consistently below target: rates decrease gradually
  • Provides smoother rate transitions

Custom IRMs

Vaults can implement custom IRMs via hook targets, allowing for:
  • Time-based rate adjustments
  • Governance-controlled rates
  • Market-specific logic

Example: Kinked IRM

Consider a vault with:
  • Base Rate: 2% APY
  • Optimal Utilization: 80%
  • Slope 1: 10% APY (before optimal)
  • Slope 2: 50% APY (after optimal)
At 50% utilization:
Borrow Rate = 2% + (50% × 10%) = 7% APY
At 90% utilization:
Borrow Rate = 2% + (80% × 10%) + ((90% - 80%) × 50%)
            = 2% + 8% + 5%
            = 15% APY

Dynamic Rate Updates

Interest rates update continuously as:
  • Users borrow more (increases utilization → higher rates)
  • Users repay debt (decreases utilization → lower rates)
  • New deposits arrive (decreases utilization → lower rates)
  • Withdrawals occur (increases utilization → higher rates)

Rate Impact on Positions

For Lenders

  • Higher utilization → Higher supply rates → More interest earned
  • Lower utilization → Lower supply rates → Less interest earned

For Borrowers

  • Higher utilization → Higher borrow rates → More interest to pay
  • Lower utilization → Lower borrow rates → Less interest to pay

Choosing an IRM

When creating a vault, consider:
  1. Asset Type: Stablecoins might use different curves than volatile assets
  2. Target Utilization: What utilization level do you want to encourage?
  3. Rate Volatility: How quickly should rates respond to changes?
  4. Market Conditions: Different IRMs work better in different market conditions

References

For more details on IRM implementation: