English 🇬🇧
Search
⌃K
Links

Liquidity pool dynamics

Liquidity pools are the dispenser contracts of the protocol that holds ASAs. Each pool holds a specific ASA. This paragraph explains how the utilisation ratio U influences the interest rates.

Utilization Ratio

Each ASA available on Folks Finance has a specific liquidity pool where users can deposit and borrow the asset contained.
The pool's Utilization Ratio, U, is defined as the ratio between the total borrows and the total liquidity, calculated as the sum of the total deposits:
U=TotalBorrowsTotalLiquidityU = \frac{Total Borrows}{Total Liquidity}
The protocol leverages the U to maintain the pool balance among all deposits and borrows. Generally, if
UU
carries a high value, the protocol will exhibit a low borrowing capacity, as well as a low redeem capacity. Therefore, the borrow interest rate, and consequently, the deposit interest rate both increase to disincentivize new loans and incentivize new deposits. So, when U tends to 1, the available capital becomes scarce, resulting in a possible problematic situation of unavailable funds for depositor’s withdrawal requests.
On the contrary, if
UU
moves lower, the protocol, on that specific pool, will offer lower returns on deposited capital, so it must incentivize new loans. Therefore, the borrow interest rate and consequently the deposit interest rate will both decrease to incentivize new borrows and disincentivize further deposits.
So the protocol implements these rules:
  • High
    UU
    --> high interest rates --> incentive deposits
  • Low
    UU
    --> low interest rates --> incentive borrows

Impact of Utilization ratio on interest rates

The relation that links the
UU
and the interest rates is a semi-linear formula made up as follows:
  • from zero to a safety threshold
    UoptU_{opt}
    , the rate follows a linear growth with a gentle scope.
  • from the safety threshold to 1 (100% utilization), the course is linear but with a steeper slope.
For precisely modelling the
UU
behavior, four values are defined as follows:
  • Uoptimal (
    UoptU_{opt}
    ) indicates the optimal utilization ratio. Once
    UU
    reaches this value, it is necessary to encourage deposits, and drastically reduce loans. This is done by increasing the slope of the line, thus resulting in a high increase in both the borrow and deposit APRs.
  • Base (
    R0R_0
    ) is the line intercept representing the initial borrowing rate, when
    U=0U=0
    .
  • Slope 1 (
    R1R_1
    ) and Slope 2 (
    R2R_2
    ), respectively, indicate the slope of the interest rate function before and after the
    UoptU_{opt}
    .
Behaviour of the interest rate as the Utilisation Ratio varies
Parameters of the example above
Value
Optimal Utilization Ratio (
UoptU_{opt}
)
80%
Base (
R0R_0
)
1%
Slope 1 (
R1R_1
)
4%
Slope 2 (
R2R_2
)
60%

Token parameters

Uopt
R0
R1
R2
RR
EPSILON
ALGO
0.7
0
0.11
3
0.25
1
gALGO
0.7
0
0
0
0.25
1
USDC
0.85
0
0.09
1
0.25
1
USDt
0.85
0
0.09
1
0.25
1
goBTC
0.6
0
0.08
3
0.25
1
goETH
0.6
0
0.08
3
0.25
1
gALGO3
0.7
0
0
0
0.25
1
Planets
0.6
0
0.07
3
0.25
1
ALGO/gALGO PLP
0.7
0
0
0
0.25
1
ALGO/USDC TMP1.1
0.7
0
0
0
0.25
1
ALGO/USDC PLP
0.7
0
0
0
0.25
1
ALGO/gALGO3 TMP1.1
0.7
0
0
0
0.25
1
ALGO/gALGO3 PLP
0.7
0
0
0
0.25
1
USDC/gALGO TMP1.1
0.7
0
0
0
0.25
1
USDC/USDt TMP1.1
0.7
0
0
0
0.25
1
USDC/USDt PLP
0.7
0
0
0
0.25
1
goBTC/gALGO PLP
0.7
0
0
0
0.25
1
goBTC/gALGO PLP
0.7
0
0
0
0.25
1