Shortfall.
Auction-based mechanism for resolving bad debt within isolated pools. When a borrower's position can't be fully liquidated through normal means, Shortfall runs a competitive auction to recover as much value as possible.
Bad debt arises when a borrower's collateral value falls below their outstanding debt after liquidation. Shortfall provides the structured process for handling that scenario: an auction is started for the bad debt, bidders compete to cover it, and the winning bidder receives compensation from the Risk Fund. Protocol losses are socialized efficiently and transparently.
Auctions follow a descending-price model where bidders specify the percentage of bad debt they're willing to cover in exchange for a share of the Risk Fund allocation.
startAuction
Initiates a bad-debt auction for a specific pool's Comptroller.
function startAuction(address comptroller) external;
placeBid
Places a bid on an active auction. The bidder specifies the percentage of bad debt they will repay.
function placeBid(address comptroller, uint256 bidBps) external;
- bidBps: The bid in basis points (e.g., 10000 = 100% of bad debt).
closeAuction
Closes a completed auction and executes settlement, transferring Risk Fund assets to the winning bidder.
function closeAuction(address comptroller) external;
restartAuction
Restarts an auction that did not receive sufficient bids before expiration.
function restartAuction(address comptroller) external;
| Parameter | Description |
|---|---|
minimumPoolBadDebt | Minimum bad debt required to start an auction |
waitForFirstBidder | Duration to wait for the first bid |
nextBidderBlockLimit | Block limit between successive bids |