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}.

Parameters of the example aboveValue

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

Last updated