The protocol's documentation states that RTokens represent a user's deposit plus any accrued interest, implying that users can redeem their RTokens 1:1 for the underlying asset (crvUSD) at any time. However, the accrued interest in RTokens is dependent on borrowers repaying their debt or new users depositing assets into the lending pool. If neither of these scenarios occurs, the protocol may lack sufficient liquidity to honor the redemption of RTokens for the full amount (deposit + accrued interest). This breaks the protocol's invariant and undermines user trust.
The protocol's documentation says the following: "Users that have crvUSD can participate by depositing their crvUSD to the lending pool allowing them to be used for the borrows described above. By doing so, user will receives a RToken that represents such deposit + any accrued interest." This implies that the Rtoken is redeemable for a user's assets and at any time, a user can exchange their Rtokens 1:1 for the underlying asset which in this case is crvUSD.
The issue is that the interest accrued in the rToken is completely dependent on user's repaying their debt and/or more users depositing assets to the rToken contract via LendingPool::deposit. A situation can arise where none of these scenarios are the case and it means that the user cannot redeem their full rToken amount when interest is taken into consideration which breaks the protocol's invariant which declares that the Rtoken represents deposit + accrued interest because the contract can be in a state where this is not the case.
This test was run in LendingPool.test.js in the "Borrow and Repay" describe block.
Broken Protocol Invariant: The protocol fails to uphold its promise that RTokens represent deposits plus accrued interest.
User Loss: Users may be unable to redeem their RTokens for the full amount, leading to financial losses.
Loss of Trust: Users may lose trust in the protocol, leading to reduced participation and adoption.
Manual Review, Hardhat
To address this issue, the protocol should ensure that sufficient liquidity is always available to honor RToken redemptions.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.