Interest Rate Model
The borrow interest rate model for the Algofi protocol.

How borrow interest rate is calculated (basic)

The Algofi protocol uses the jump rate interest rate model to ensure smooth market dynamics and sufficient liquidity at all times.
As the Borrow Utilization increases within a given market, the borrow rate increases in response to this demand.
After the Borrow Utilization surpasses a certain level called Optimal Utilization, the borrow rate increases very quickly to encourage a return to the equilibrium level. As a result, markets tend to borrow less than or equal to their Optimal Utilization.
The Optimal Utilization discourages borrowing above a certain fraction of the market which keeps the protocol safe and liquid and ensures lenders have sufficient assets to redeem.

How borrow interest rate is calculated (advanced)

The minimum amount of interest a borrower pays in a given market is called the Base Interest Rate.
The interest rate borrowers pay also depends on a parameter called Optimal Utilization. The utilization of a market, Borrow Utilization, is the ratio of borrowed capital over supplied capital. For example, if a market has $100 USDC in supply and $50 is borrowed, then the Borrow Utilization = 50%.
If Borrow Utilization is less than Optimal Utilization, then the borrow interest increases as a function of Borrow Utilization like so:
Borrow Interest Rate = Base Interest Rate + (Borrow Utilization / Optimal Utilization) * Slope Under Utilized
The term Slope Under Utilized measures how much the Borrow Interest Rate increases as the Borrow Utilization increases. If Optimal Utilization is 80% and Slope Under Utilized is 4%, then a 10% increase in Borrow Utilization would result in 0.50% increase in the Borrow Interest Rate.
If Borrow Utilization is greater than Optimal Utilization the protocol adds an additional term that carries a higher penalty (Slope Over Utilized) to disincentivize Borrow Utilization over Optimal Utilization. In sum, the borrow interest rate sums the Base Interest Rate and
Borrow Interest Rate = Base Interest Rate + (Borrow Utilization / Optimal Utilization) * Slope Under Utilized + (Borrow Utilization - Optimal Utilization) / (1 - Optimal Utilization) * Slope Over Utilized

An example borrow rate curve

With the following parameters:
Base Interest Rate
Optimal Utilization
Slope Under Utilized
Slope Over Utilized
The borrow interest rate curve as a function of Borrow Utilization is:
The borrow interest rate grows rapidly after borrow utilization exceeds the optimal utilization. This disincentivizes additional borrowing and keeps the market liquid.

How supply interest rate is calculated

Suppliers earn their share of interest paid by borrowers. This is calculated mathematically as
Supply Interest Rate = Borrow Utilization * Borrow Interest Rate * (1 - Reserve Factor)
Here Reserve Factor is the fraction of interest that the protocol accrues.

ALGO interest rate dynamics

Unlike the other assets on the Algofi protocol, ALGO is a naturally inflating asset, earning participation rewards. As such, borrowers of ALGO actually earn an APR that slightly offsets the borrow interest they owe. Lenders also earn APR on the Algos that are not borrowed from the liquidity pool.
The Algorand Foundation will distribute participation rewards until roughly the end of February 2022 when they plan to phase them out. Assuming the circulating supply of ALGOs is roughly 6.7bn during this time, the APR is projected using the same calculation employed here. The schedule can be found here.
Starting Round Number
Approximate Dates
ALGOs Distributed
Projected APR
12/13/21 - 1/6/22
1/7/22 - 2/1/22
2/2/22 - 2/27/22
2/28/22 - 3/25/22
3/26/22 - 4/20/22
4/21/22 - 5/15/22
Since lenders earn the project APR on the Algos that are not borrowed, the lending rate is adjusted as follows:
ALGO Adjusted Supply Interest Rate = ALGO Supply Interest Rate + (1 - Borrow Utilization) * Participation APR
Also, if borrowers hold the ALGOs they borrow, their borrow rate is adjusted as follows:
ALGO Adjusted Borrow Interest Rate = ALGO Borrow Interest Rate - Participation APR
However, if the borrower sells or otherwise transfers the ALGO, then they do not receive the APR benefit.