Skip to main content
When a borrower’s health crosses 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 crosses liquidationThresholdPct, 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 on LendingMarket:

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

These flags govern liquidation of fixed-term positions. See Fixed rate reserves for details.

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 (or emergency_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