Your lending protocol might be underestimating the risk of debt assets
Most lending protocols implement only one measure of asset risk: LTV
LTV limits the amount one can borrow based on the risk of the provided collateral:
- If you provide $1,000 in USDC (a very stable asset), you should be able to borrow at least $700-$800
- Whereas if you provide $1,000 in a random memecoin (a volatile asset), you should be able to borrow at most $200-$300
The reason for this is: the volatile asset can change in value too quickly. If that happens, any loans backed by it might become undercollateralized, leaving the protocol in bad debt
However, one thing this design doesn't consider is that borrowing the volatile asset provides the same risk!
Volatility is not only for when the price goes down. It means price can swing either way, down or up
Consider this scenario:
- User provides randomMEME as collateral and borrows USDC
- When randomMEME tanks in value, the position's collateral becomes lower than the debt, leaving the protocol in bad debt
👉 This is mitigated by setting a low LTV to randomMEME, such that liquidators have enough room to liquidate the loan prior to it becoming bad debt
But the opposite scenario is not addressed:
- User provides USDC as collateral and borrows randomMEME
- When randomMEME surges in value, the position's debt becomes greater than the collateral, also leaving the protocol in bad debt
The first scenario is mitigated by setting a low LTV to risky assets, by the second scenario cannot be mitigated with LTV alone!
This happens because protocols only consider the volatility of the collateral, and not that of the debt token
The solution to this is implementing debt weight, which is the mirror concept of LTV, applied to debt
Differently from LTV, which is always less than or equal to 100%, debt weight is always equal to or greater than 100%. Check this example out:
- ETH (relatively stable asset) has a debt weight of 110%, and randomMEME (very volatile asset) has a debt weight of 200%
- A user provides $1,000 USDC as collateral, with a LTV of 80%. This allows them to borrow up to $800
Current design:
- On most lending protocols, the user would be able to borrow $800 of either ETH or randomMEME
Suggested design, with applied debt weights:
- If the user borrows ETH, they will be able to borrow at most ($800 / 1.1) = $727 worth of ETH
- If they borrow randomMEME, they will be able to borrow at most ($800 / 2.0) = $400 worth of randomMEME
This is a much safer approach than just letting the user borrow $800 of any asset, as it accounts for the debt asset risk