liquidationThresholdPct, their position becomes liquidatable. klend exposes a set of curator-tunable parameters governing how aggressively liquidations happen and how much liquidators earn for clearing positions.
This page covers the market-level and reserve-level fields that shape liquidator behavior. For threshold setting and IR curve choices, see Risk parameters. For the auto-deleverage (margin call) mechanism, see Auto-deleverage.
The liquidation flow at a glance
When a borrower’s LTV crossesliquidationThresholdPct, the position becomes liquidatable. Any wallet can call liquidate-obligation-and-redeem-reserve-collateral against it. In a single instruction, the liquidator repays up to close_factor × debt, seizes collateral of equal value plus the configured bonus, and the obligation is restored at or above the liquidation threshold. Liquidations are permissionless: the program holds the safety net, an open market of liquidators races to act on it.
Close factor and value caps (market-level)
Tunables onLendingMarket:
Tuning the close factor
Default close factor of 25% is sized so a borrower has multiple rounds to add collateral or repay before being fully wiped out. Each liquidation round drives the position back toward health; if the market continues moving against them, subsequent rounds re-engage. Reasons to deviate:Liquidation bonus (reserve-level)
Liquidator incentive lives on each reserve:
Reference values:
The actual on-chain bonus interpolates between min and max based on how far underwater the position is.
Pausing liquidations
This is a market-level kill switch. Combine with
borrow_disabled for full incident-mode posture. See Emergency controls.
Liquidations on mature fixed-term debt
Bad debt and socialized loss
If a position can’t be liquidated cleanly — collateral falls below debt and even the bad-debt bonus doesn’t cover the gap — the curator (oremergency_council) can call socialize-loss to spread the loss across the affected reserve’s depositors.
This is an irreversible, depositor-affecting action. Use it only when:
- The position is genuinely unrecoverable
- All standard liquidation paths have been exhausted
- The affected reserve has a credible loss-recovery plan (insurance, treasury backfill, etc.)
socialize-loss is callable by the lending_market_owner or, if configured, the emergency_council. See Emergency controls.
Reference
- Reserve config reference — every reserve-level liquidation field
- Market config reference — every market-level liquidation field
- Risk parameters — choosing LTV, threshold, IR curve
- Auto-deleverage — margin-call grace window (advanced)
- Emergency controls — pausing the market, socialize-loss