DeltaPrime
Search…
⌃K

Interest

Current interest model. Breakpoints at: 60% and 80% of pool utilisation, at respectively 3% and 12% borrowing rates.
DeltaPrime interest rate model is optimised to achieve high pool utilisation and simultaneously manage liquidity risk. This model is based on a piecewise-linear borrowing rate and complimentary deposit rate. The borrowing rate is a rate at which the interest of loans increases, while the deposit rate is a rate of increase of depositors' funds.
Both interest rates are dependent on a current pool utilisation rate. Pool utilisation describes a portion of assets in a pool that is currently loaned. 50% pool utilisation means that 50% of tokens in that pool are borrowed. When assets in a liquidity pool get borrowed, the available funds in this pool decrease, leading to a higher pool utilisation rate.
In the DeltaPrime model, up to 60% utilisation, the borrowing rate is low and constant to encourage borrowings, while the deposit rate steadily grows. Between 60-80% utilisation, both rates moderately increase and that's the optimal range for a pool. When utilisation surpasses 80%, rates grow rapidly to encourage depositing and repaying loans, ensuring that there are enough free funds for depositors' withdrawals.
The deposit rate is attuned to balance current interests of all borrowers and depositors in a pool.

Calculating borrowing interest

The borrowing rate
RtR_{t}
is based on the current pool utilisation. It is a segmented (piecewise-linear) function defined by utilisation breakpoints, slopes and the offsets.
 Rb={a1u+b1if u<=u1,a2u+b2if u<=u2,a3u+b3if u<=u3 Rbborrowing rateupool utilisationa1,2,3slopesb1,2,3offsetsu1,2,3utilisation breakpoints \ R_{b} = \begin{cases} a_{1}*u +b_{1} & \quad \text{if } u <= u_{1},\\ a_{2}*u +b_{2} & \quad \text{if } u <= u_{2},\\ a_{3}*u +b_{3} & \quad \text{if } u <= u_{3} \end{cases} \ \\ \\ R_{b} - \text{borrowing rate}\\ u - \text{pool utilisation}\\ a_{1,2,3}-\text{slopes}\\ b_{1,2,3}-\text{offsets}\\ u_{1,2,3}-\text{utilisation breakpoints}\\

Utilisation Breakpoints

u1=0.6u_1=0.6
u2=0.8u_2=0.8
u3=1u_3=1
The utilisation breakpoints define the points at which the slope should change. They are tuned to ensure optimal pool utilisation. Currently, that utilisation ratio is set at 75%. By providing two breakpoints instead of the usual one, DeltaPrime creates an optimal utilisation range. Instead of suddenly increasing the slope, there is a range within which the borrowing rate will moderately increase. That range is currently set at 60%-80%. This range will depend on a specific token, based on its liquidity and volatility.

Slope

a1=0a_{1} = 0
a2=0.45a_{2} = 0.45
a3=3.15a_3=3.15
The slope defines the steepness with which the interest rates rise. In the beginning, it equals 0 (a constant function) to ensure low borrowing APR and encourage borrowing. In the second range rates moderately rise to and it's an optimal pool utilisation range. In the third part, rates grow rapidly to encourage deposits and repayments and keep available liquidity for withdrawals.

Offset

b1=0.3b_1=0.3
b2=0.24b_2=-0.24
b3=2.4b_3=-2.4
There is an initial offset being used to make deposits more attractive. The offset is set at 0.3, meaning that the borrowing rate will start at 3%. Because of that depositors are incentivised by borrowers even for a small utilisation.
b2b_2
and
b3b_3
are selected to achieve 3% borrowing rate at 60%, 12% at 80% and 75% at 100% pool utilisation.

Calculating deposit rate

Deposit rate is calculated based on current borrowing rate and pool utilisation and balances total interests of all borrowers and all depositors.
Rd=RbuRddeposit rateR_d = R_b * u\\ R_d - \text{deposit rate}\\