# Interest Rate Model

The adaptive interest rate model in ARCO determines Borrow and Supply APYs for each lending pool. All lending pools are isolated, and each borrowable pool uses its own interest rate model that acts independently from all other borrowable pools.

Similar to protocols like Aave and Compound, ARCO uses a “kinked” interest rate model with a single adjustable parameter (_kinkUtilizationRate_, ranging from 70% to 90%) to be adjusted by governance.

Utilization rate is the percentage of tokens supplied by lenders to a lending pool that are currently utilized by borrowers in outstanding loans. Depending on the current utilization rate (_utilizationRate_) of a borrowable pool, the borrow rate (_borrowRate_) is determined by the following parameters:

* _utilizationRate_ = 0 implies _borrowRate_ = 0;
* _utilizationRate_ = _kinkUtilizationRate_ implies _borrowRate_ = _kinkBorrowRate;_
* _utilizationRate_ = 100% implies _borrowRate_ = 5 \* _kinkBorrowRate._

The _kinkBorrowRate_ is updated between blocks on a per-second basis using the previous _borrowRate_ for the borrowable pool. This ensures Borrow and Supply APYs are determined according to the supply and demand equilibrium for each lending pool.
