Strobe Protocol
  • Introduction
  • Terminology
  • Products
  • Money market
    • Rationale
    • User guide
    • Architecture
      • Deposit and repayment
      • Withdrawal and borrowing
      • Liquidation
      • EVM Sidechain lending internals
    • Interest rate strategies
      • Interest rate strategy 1
    • Asset parameters
      • Definitions
      • Values
    • Overcollateralization and collateralization ratio
    • Health factor and liquidation
    • Oracle
    • Axelar
      • General message passing
      • Failure conditions and solutions
    • Risks
    • FAQ
  • Useful links
Powered by GitBook
On this page
  • Interest rate strategy parameters
  • Optimal utilization rate
  • Base interest rate
  • Variable rate slope 1
  • Variable rate slope 2
  • Equations
  1. Money market
  2. Interest rate strategies

Interest rate strategy 1

Interest rate strategy parameters

These are the parameters that are stored on this interest rate strategy contract.

Optimal utilization rate

This is UoptimalU_{optimal}Uoptimal​ in the equations below.

The optimal utilization rate creates the kink in the interest rate curve. The higher the optimal rate, the more it encourages users to borrow up to that point by providing relatively affordable rates. The lower the optimal rate, the more it discourages users from borrowing more than that point.

Typically, before the utilization rate reaches the optimal utilization rate, the interest rates stay low, so that users will be financially incentivized to utilize the liquidity more. On the other hand, beyond the optimal utilization rate, the interest rates stay high, so that users will be incentiveized to utilize less liquidity.

Base interest rate

This is R0R_0R0​ in the equations below.

The base interest rate is the interest rate at utilization rate = 0. If a protocol decides that an asset is popular enough to be borrowed at a higher base interest rate, it will give a higher base interest rate. However, in other cases, it will stay at 0.

Variable rate slope 1

This is Rslope1R_{slope1}Rslope1​ in the equations below.

This is the variable that controls the gradient of the left half of the interest rate curve up to the kink. The bigger the number is, the steeper the curve is, meaning higher interest rates.

Variable rate slope 2

This is Rslope2R_{slope2}Rslope2​ in the equations below.

This is the variable that controls the gradient of the right half of the interest rate curve beyond the kink. The bigger the number is, the steeper the curve is, meaning higher interest rates.

Equations

To understand how interest rate strategy 1 works, it's necessary to define these terms:

Variable
Meaning
Domain (or Range)

Utilization rate

Optimal utilization rate

Variable Rate Slope 1 (the slope that is going to be applied on the left side of the graph)

Variable Rate Slope 2 (the slope that is going to be applied on the right side of the graph)

Base interest rate. This adjusts the y-intercept of the interest rate curve.

Then, depending on whether U<=UoptimalU <= U_{optimal}U<=Uoptimal​ is true, RRR would be calculated differently, as follows:

U≤Uoptimal⇒Rborrow=R0+UUoptimal(Rslope1)U \le U_{optimal} \rArr R_{borrow} = R_0 + \frac{U}{U_{\text{optimal}}}(R_{\text{slope1}})U≤Uoptimal​⇒Rborrow​=R0​+Uoptimal​U​(Rslope1​)
U>Uoptimal⇒Rborrow=R0+Rslope1+Rslope2U−Uoptimal1−UoptimalU > U_{optimal} \rArr R_{borrow} = R_0 + R_{\text{slope1}} + R_{\text{slope2}}\frac{U - U_{\text{optimal}}}{1 - U_{\text{optimal}}}U>Uoptimal​⇒Rborrow​=R0​+Rslope1​+Rslope2​1−Uoptimal​U−Uoptimal​​

Graphically, the equation is illustrated as below (consider RborrowR_{borrow}Rborrow​ only for 0≤U≤10 \le U \le 10≤U≤1 and 0<Rborrow0<R_{borrow}0<Rborrow​, and use two different functions based on U≤UoptimalU \le U_{optimal}U≤Uoptimal​):

Let's run an example calculation. Using this strategy, U=0.5U=0.5U=0.5 will give Rborrow=0.061538R_{borrow} = 0.061538Rborrow​=0.061538, which is 6.1538%. In other words, 50% utilization rate will give 6.1538% of borrowing interest rate.

The lending interest rate is a function of borrow interest rate and reserve factor. It is calculated as Rlending=Rborrow×U×(1−Reserve factor)R_{lending}=R_{borrow} \times U \times (1 - \text{Reserve factor})Rlending​=Rborrow​×U×(1−Reserve factor) where Reserve factor∈[0,1)\text{Reserve factor} \in [0, 1)Reserve factor∈[0,1). Following the example above, let us say that the reserve factor is 0.15. Then, the lending interest rate will be calculated as:

Rlending=0.061538×0.5×(1−0.15)=0.02615365R_{lending}=0.061538 \times 0.5 \times (1-0.15) = 0.02615365Rlending​=0.061538×0.5×(1−0.15)=0.02615365

To summarize:

Given Uoptimal=0.65,R0=0,Rslope1=0.08,Rslope2=1,U=0.5⇒Rborrow=0.061538⇒Rlending=0.02615365\text{Given }U_{optimal}=0.65, R_0=0, R_{slope1}=0.08, R_{slope2}=1, \newline U=0.5 \newline \rArr R_{borrow}=0.061538 \newline \rArr R_{lending}=0.02615365Given Uoptimal​=0.65,R0​=0,Rslope1​=0.08,Rslope2​=1,U=0.5⇒Rborrow​=0.061538⇒Rlending​=0.02615365

Using the graph above, it is possible to determine borrowing interest rate and lending interest rate.

PreviousInterest rate strategiesNextAsset parameters

Last updated 3 months ago

Borrowing interest rate at utilization rate

uses Uoptimal=0.65U_{optimal}=0.65Uoptimal​=0.65, R0=0R_0=0R0​=0, Rslope1=0.08R_{slope1}=0.08Rslope1​=0.08, Rslope2=1R_{slope2}=1Rslope2​=1.

Now, we can display both RborrowR_{borrow}Rborrow​ and RlendingR_{lending}Rlending​ :

UUU
U∈[0,1]U∈[0,1]U∈[0,1]
UoptimalU_{optimal}Uoptimal​
Uoptimal∈[0,1]U_{optimal}∈[0,1]Uoptimal​∈[0,1]
RborrowR_{borrow}Rborrow​
UUU
R∈[0,∞]R∈[0,∞]R∈[0,∞]
Rslope1R_{slope1}Rslope1​
Rslope1∈[0,∞]R_{slope1}∈[0,∞]Rslope1​∈[0,∞]
Rslope2R_{slope2}Rslope2​
Rslope2∈[0,∞]R_{slope2}∈[0,∞]Rslope2​∈[0,∞]
R0R_0R0​
R0∈[0,1]R_0∈[0,1]R0​∈[0,1]
The demo graph
on the same graph
Borrowing interest rate (blue) and lending interest rate (red) displayed on the same axes (consider 0<R0<R0<R and 0≤U≤10 \le U \le 10≤U≤1 only, and use two different functions based on U≤UoptimalU \le U_{optimal}U≤Uoptimal​).