Liquidation pays the liquidator the debt-equivalent collateral plus a 10% bonus, all priced from the same feed, with no floor for when total collateral is already worth less than the debt.
With LIQUIDATION_THRESHOLD = 50 a position only needs 200% collateralization. If price gaps down so collateral value falls below 110% of debt, the _redeem_collateral subtraction (dsc_engine.vy:249-251) underflows and reverts — so no liquidator can clear the position.
Likelihood:
Medium. Crypto collateral routinely gaps >50% in a single block; the design has no partial-bad-debt handling.
Impact:
High. Underwater positions become un-liquidatable (revert on underflow), the protocol keeps the bad debt forever, and DSC is no longer fully backed, driving a depeg. Even when liquidatable, the bonus can consume more collateral than exists, so good positions subsidize the loss.
Open a position at the 200% minimum, drop the price 60%, attempt liquidation.
Cap the seized collateral at the user's balance and book the shortfall instead of reverting.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.