Liquidations
Liquidation is the protocol's last line of defence. It only ever touches positions whose health factor has fallen to 1.00 or below.
The mechanics
When a position is liquidatable, anyone can call the pool's liquidationCall. A liquidator can
normally repay up to half of one debt; Core v1.19.4 permits repaying the full debt when health
factor is 0.95 or lower. In exchange, the liquidator receives collateral worth the repaid amount
plus the asset's liquidation bonus, less the protocol's configured share.
The penalty is the borrower's cost and the liquidator's incentive. Positions can be partially liquidated several times until they're healthy again.
The math, worked through
Health factor is collateral value times the liquidation threshold, divided by debt:
healthFactor = (collateralUsd × liquidationThreshold) / debtUsd
Say you supplied 5 ETH at $2,000 with an 85% threshold, and borrowed 7,000 USDC. That's $10,000 × 0.85 / $7,000, a health factor of 1.21. Now ETH slides 18% to $1,640. Collateral is worth $8,200, the numerator falls to $6,970, and your health factor is 0.996. You are liquidatable.
A liquidator repays half the debt, $3,500 of USDC, and with a 5% penalty takes $3,675 of your ETH. Your position afterwards holds $4,525 of collateral against $3,500 of debt: health factor 1.10, alive but poorer by the $175 penalty. Had ETH kept falling, a second liquidation could follow. Repaying $500 yourself before the slide crossed 1.00 would have cost nothing but gas.
How positions get there
Three forces push health down:
- collateral prices fall,
- borrowed asset prices rise,
- interest accrues onto the debt.
None of them require any action from you, which is why the buffer matters. A position opened at its exact borrowing limit sits just above the threshold and can cross it within minutes of market movement.
Avoiding it
Keep the health factor comfortably above 1.00 (many users treat 1.5 as a floor), avoid volatile collateral/debt combinations you cannot monitor, and check the dashboard's health bar after sharp market moves. Repaying early is cheap; being liquidated never is.
For liquidators
The app's Liquidations page discovers candidates from the indexer and exposes an expert execution drawer. Before enabling the action it re-reads the borrower's health factor and debt from the Pool and debt tokens. The drawer enforces the current 50%/100% close factor, limits the amount to the liquidator's wallet balance, and supports receiving either underlying collateral or aTokens.
Indexer results are discovery only. A candidate can recover or be liquidated by somebody else at
any time. The Pool is the final authority and safely reverts an ineligible transaction. Bot
integrations should read getUserAccountData, simulate the exact call,
include gas and exit liquidity in profitability, and never assume an indexed health factor is live.