# Interest accrual

How the protocol tracks the accrual of interest.

Last updated

How the protocol tracks the accrual of interest.

Last updated

The borrow interest index $I_{b_t}$ and deposit interest index $I_{d_t}$ have been designed to simplify the calculation of interest-earning and interest-paying, even in multiple deposits or borrows, and avoid custom calculations for each user.

At the beginning $t_0 = 0$ the indexes are both set at value 1.

The following formulas have been designed to calculate the **growth** of the interest indexes, which considers the interests accrued, throughout the period from protocol beginning to the latest *protocol state change*.

The protocol state change (psc) is the result of a change in the stability of the pool, which is due to protocol operations, i.e., deposit, redeem, borrow, repay borrow etc.

$I_{d_t}=I_{d_{t-1}} * (1+ α_{d_{t-1}} * ∆t)$

Where:

$α_{d_t}$ represents the interest rate $i_{d_t}$ converted from annual percentage rate (APR) to second percentage rate:

$a_{d_t}=\frac{i_{d_t}}{365*24*60*60}$

$∆t$ represents the time interval between the latest psc ($t-1$) and the current time $t$, in seconds.

Borrow interest index:

$I_{b_t}=I_{b_{t-1}} * (1+ ε * α_{b_{t-1}} * ∆t)$

Because of the limitation in the precision of on-chain calculation, $I_{b_t}$ uses a multiplier ε which is set as a number equal or slightly higher than 1. This ensures that the interest is not eroded by the limitation of on-chain math.