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 utilization factor and is designed to be in 3 parts:

  1. Optimal utilization (Utopt)(Ut_{opt}): This is the ideal point for the utilization to be in. The curve is designed to 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 utilization.

  2. Higher Utilization: When the utilization 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 Utilization 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 (%)


Utilization: 10%

Since Ut<Utopt,Ut < Ut_{opt},

APRbrw=2+(1090)Ɨ(20āˆ’2)APR_{brw} = 2 + (\frac{10}{90}) \times (20-2) = 4 %


Utilization: 90%

Since Ut=Utopt,Ut = Ut_{opt},

APRbrw=2+(9090)Ɨ(20āˆ’2)APR_{brw} = 2 + (\frac{90}{90}) \times (20-2) = 20 %


Utilization: 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 %

Last updated