How is Interest Calculated?
Silo uses an innovative dynamic interest rate model that is different from the models implemented by other lending protocols.
Generally speaking, borrowers pay depositors interest and therefore borrowing interest rates fund lending interest rates. When demand for borrowing an asset increases, you can expect to pay a higher borrowing interest rate.
Our interest rate model can be seen here:
Interest rate changes occur dynamically according to the demand for borrowing a given asset. In simple terms, utilization of an asset determines how much interest you pay to borrow the asset.
In Silo’s interest model, utilization rate of an asset is calculated as follows:
In this equation:
- Borrowed Funds is the total amount of tokens borrowed by all users
- Funds Available to Borrow is Total Value Locked of the asset in the silo
The interest model that Silo implements aims to achieve two goals:
- Encourage high level of borrowing rates for all assets
- Ensure silos have sufficient tokens for depositors to withdraw
To balance those two goals, the interest model is designed to keep demand for borrowing a given asset in the Optimal Range (shown in the green area in the chart below).
Looking at the x axis of the chart, the optimal utilization range is in the area between ulow (Utilization Low) and ucrit (Utilization Critical). Looking at the y axis, interest (represented by ri) remains relatively static within the optimal utilization range. In fact, the value of ri changes slowly to achieve optimal utilization (uopt). If utilization is below optimal, the interest rate decreases to stimulate users to borrow more and vice versa.
As utilization deviates from the optimal range, the model is designed to quickly adjust the interest rate (r) to modify user behavior and restore utilization to the optimal range.
Let's look at 2 scenarios where utilization deviates from the optimal range:
If utilization drops below ulow (Utilization Low), interest rates decrease rapidly.
Decreased interest rates incentivize borrowers to take advantage of the lower cost of borrowing. The purpose of this is to increase utilization, restoring it to the optimal range.
If utilization increases beyond ucrit (Utilization Critical), interest rates increase rapidly.
This increase to interest rates:
- Encourages lenders to deposit more funds to capitalize on higher lending rates
- Encourages borrowers to repay part or all their loans due to higher costs of borrowing
These user behaviors have the effect of decreasing utilization, restoring it to the optimal utilization range.
Crypto markets go through extreme phases, ranging from extreme demand on borrowing assets to extreme lack of demand.
How does the interest model behave in such extreme scenarios?
As mentioned earlier, lenders should always be able to withdraw their deposits if they choose to. The main objective of Silo’s unique interest model is to ensure silos remain liquid at all times. This is akin to banks always have enough funds to meet withdrawal requests.
However, cryptocurrency markets sometimes face extreme volatility that leads to extreme demand for borrowing certain assets. During such events, utilization may enter the critical range where liquidity of the asset drops to extremely low levels. In other words, there may be insufficient tokens for depositors to withdraw or for borrowers to borrow.
Demand to borrow assets can drop, as seen in bear market conditions. Once utilization has entered the ulow (Utilization Low) range, borrowing interest rates decrease quickly in response to drops in utilization.
The aim of this measure is to encourage more borrowing by maintaining low borrowing costs during phases of low utilization. With borrowing going up, utilization will likely return to the optimal utilization range.
Long periods of low utilization could drive the interest rates down to zero, which would be detrimental to depositors' strategies and could completely stifle activity in the silo. To prevent this situation, rlin (Rate Linear) is used. This is the minimal possible interest rate, which is proportional to utilization.
There are two overflow scenarios that affect the interest rate model:
- 1.Total borrowed or deposited amount reaches 2^196 / 10^18 - that is approximately 10^41
- 2.Compounded interest rate since the last transaction reaches 2^16 - that is 6553600%
In both of these cases, current APR is set to 0% and interest accumulation is halted.
When a silo leaves the overflow conditions, its interest rate model is reset to the lowest possible APR value as if the silo is starting anew. Stopping interest accrual in these extreme conditions is necessary to ensure that an overflow in the system's variables doesn't prevents users from placing valid transactions.