Links

Interest rate model

The Open protocol uses a dynamic interest rate model that ensures that the interest offered to the liquidity providers is always lower than the interest gained from the borrowers. The variability between the interest rates of the borrowers and the liquidity providers ensures that the protocol is always profitable and can pay the liquidity providers on time.
Hashstack has made the following considerations while designing the Interest rate algorithm of the Open protocol -
  • Providing stable returns
  • Promoting even-play among lenders and borrowers.
  • The interest rate truly reflects the supply and demand of the underlying asset.
​
The interest rate model depends on reserves utilisation factor and is designed to be in 3 parts:
  1. 1.
    Optimal utilisation
    (Utopt)(Ut_{opt})
    : This is the ideal point for the utilisation to be in. The curve is designed vary linearly from a base borrow APR
    (APRbase(APR_{base}
    [at 0
    Ut])Ut])
    to a max Ideal APR
    (APRUtopt(APR_{Ut_{opt}}
    at optimal utilisation.
  2. 2.
    Higher Utilisation: When the utilisation exceeds
    UtoptUt_{opt}
    , the APR is designed to increase rapidly to punish borrowing. This is done to ensure there is always enough un-used supply to cater for withdrawals.
​
​
Ut=DebttotalSupplytotalUt = \frac{Debt_{total}}{Supply_{total}}
​
​
APRbrw={APRbase+(UtUtopt)×(APRUtopt−APRbase);Ut≤UtoptAPRopt+(Ut−Utopt100−Utopt)×(APRUtmax−APRopt);Ut>UtoptAPR_{brw} = \left\{ \begin{array}{ll} APR_{base} + (\frac{Ut}{Ut_{opt}}) \times (APR_{Ut_{opt}} - APR_{base}) & ; Ut \leq Ut_{opt} \\ APR_{opt} + (\frac{Ut - Ut_{opt}}{100-Ut_{opt}}) \times (APR_{Ut_{max}} - APR_{opt}) & ; Ut > Ut_{opt} \end{array} \right.
​
Where,
​
APRbrw=APR_{brw} =
Borrow APR
​
Ut=Ut =
Current Utilisation rate
​
APRUtmax=APR_{Ut_{max}} =
APR at 100% Ut
(Other variables defined above)
​

Example Math

Assume the following parameters:
​
APRbase=2APR_{base} = 2
(%)
​
APRopt=20APR_{opt} = 20
(%)
​
APRUtmax=100APR_{Ut_{max}} = 100
(%)
​
Utopt=90Ut_{opt} = 90
(%)
​
Utilisation: 10%
Since
Ut<Utopt,Ut < Ut_{opt},
​
​
APRbrw=2+(1090)×(20−2)APR_{brw} = 2 + (\frac{10}{90}) \times (20-2)
= 4 %
​
Utilisation: 90%
Since
Ut=Utopt,Ut = Ut_{opt},
​
​
APRbrw=2+(9090)×(20−2)APR_{brw} = 2 + (\frac{90}{90}) \times (20-2)
= 20 %
​
Utilisation: 95%
Since
Ut>Utopt,Ut > Ut_{opt},
​
​
APRbrw=20+(95−90100−90)×(100−20)APR_{brw} = 20 + (\frac{95-90}{100-90}) \times (100-20)
= 60 %
​