The LendingPool
protocol has a fundamental design flaw in its core mechanism: it takes liquid crvUSD deposits from users (promising instant liquidity via RTokens) and uses these funds to back illiquid NFT-collateralized loans. This creates an inherent mismatch between the liquidity promise made to depositors and the protocol's actual ability to fulfill withdrawals, regardless of the health of borrowing positions.
The core issue lies in the protocol's basic mechanism:
But then uses these liquid assets to back illiquid loans(NFTs):
When withdrawals are requested, the protocol can't fulfill them because the liquid assets are tied up in illiquid loans:
The _ensureLiquidity
function cannot prevent withdrawal failures because it relies on withdrawing crvUSD from the curveVault
, which contains the same crvUSD tokens that users deposited into the LendingPool
. Even if all funds are withdrawn from the curveVault
, there may still be insufficient tokens to process user withdrawals.
The issue becomes clear in this scenario:
Users deposit 1000 crvUSD (liquid asset)
Protocol lends out 900 crvUSD against NFTs (converting liquid → illiquid)
Now pool only has 100 crvUSD.
When depositors want their liquid assets back, the protocol can't deliver because:
The assets are tied up in illiquid loans
The collateral (NFTs) can't be converted to crvUSD
There's no mechanism to force loan termination
RToken holders cannot withdraw their deposits despite having the right to do so, as the majority of funds are borrowed out.
If borrowers remain in healthy positions, this situation could persist indefinitely with no resolution mechanism.
Manual Review
The protocol needs to restructure how it works with NFTs and lending of crvUSD tokens.
One solution is: the protocol covers instantly borrowed funds with its own treasury. This way the LendingPool would remain collateralized for RTokens holders.
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.