Liquidations and Sweeps
Interest Exchange liquidation is a prepaid-coverage sweep of the fixed-rate overlay. It is separate from collateral liquidation in Aave, Morpho, or another underlying lending protocol.
Coverage Ticks
Each borrower position stores a liquidationTick. Each series accumulates the fixed-minus-capped-variable spread and maps that cumulative value to a current tick. Prepaid funds the distance between the entry checkpoint and the borrower's boundary.
The boundary tick remains live at equality. A position becomes sweepable when the current frontier advances beyond its funded tick.
Sweep Process
settle(poolId, seriesKey, recipient):
- advances fixed and variable accrual;
- finds active ticks below the new frontier;
- consumes the available prepaid attributable to each crossed tick;
- removes its FRT notional from active series totals;
- credits consumed prepaid and forfeited bond to VRT assets;
- increments the tick ID so borrower slots can detect the sweep; and
- optionally pays the recipient the configured
sweepBPSincentive.
One call processes at most 64 active ticks. If a backlog remains, later settle calls continue it. VRT deposit/withdraw paths reject a sweep backlog so share pricing cannot skip required processing.
There is no public liquidate(poolId, seriesKey, borrower) function. Keepers call series-level settle; settlePosition or another borrower action later clears the swept slot.
Avoiding a Sweep
Borrowers can add prepaid ticks directly or opt into KeeperBundler top-ups. Top-up permission can cause the adapter to borrow additional underlying assets for the user, so the borrower must understand and explicitly grant both pool operator and protocol-specific adapter authority.
