Compounding Model

In order to provide maximum flexibility to both Depositors and Borrowers, interest payments are automatically integrated in Deposit and Borrow Balances and are compounded at every block.

To compute each Borrow Balance, we use a specific Denominated Currency called lTokenlToken. When a new Lending Pool is created for Token A, we create a lTokenAlToken^A, whose price in Token A unit evolves as follows:

L0A=1andLt+1A=LtA(1+rtdt)L^A_0=1 \hspace{1cm} and \hspace{1cm} L^A_{t+1}=L^A_t (1+r_tdt)

where dtd_t is the time period expressed in years. By updating this price, each Borrow Balance can be easily incremented by the interest accrued during the period.

For Depositors, we follow a similar approach by introducing a Deposit Token, or dTokendToken, that represents their ownership in a specific Lending Pool. As opposed to lTokenlToken , these dTokensdTokens are minted and transferred to Depositors in exchange for their deposits.

In order to materialize the accruing interest over deposits, dTokenAdToken^A will be convertible into an increasing amount of Token A. With RtR_tbeing the Deposit rate, the price of dTokendToken in Token A Unit, or DtAD^A_t, evolves as follows:

D0A=1andDt+dtA=DtA(1+Rtdt)D^A_0=1 \hspace{1cm} and \hspace{1cm} D^A_{t+dt}=D^A_t (1+R_tdt)

Upon withdrawal, Depositors can redeem their dTokenAdToken^A for Token A at the current price, reflecting their deposits plus the interest earned.

Last updated