Skip to main content

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.