Skip to main content
POST
Liquidates a loan whose health factor is below 1.0. What the transaction produces depends on the market’s useDutchAuction setting. With Dutch auctions disabled, collateral is seized and transferred to the market’s liquidation router, and a pending liquidation is created. The response carries liquidationId and collateralSeized, and settlement becomes a manual operator workflow. With Dutch auctions enabled, an auction is opened instead. The response carries auctionId and borrower, while liquidationId, collateralSeized, and debtRepaid are all null. No pending liquidation exists yet. One is created only if the auction expires unsold and is settled with Settle Expired Auction.
The signing wallet must hold LIQUIDATOR_ROLE on the market. The calldata is returned whether or not it does, so a wallet without the role will have its transaction reverted on-chain rather than rejected here.

Path Parameters

string
required
Market ID.
integer
required
On-chain loan ID. Must be a positive integer.

Body Parameters

object
EIP-712 signed price from Sign Price, applied atomically with the liquidation. Omit to price against the stored oracle value. If the stored price is stale, the backend signs a fresh one automatically before executing.
string
Hash of the transaction you broadcast for this operation. Send it to confirm the transaction and record the result. Omit it to receive the calldata.

Response Fields

object

Seizure Bounds

A liquidation does not close the whole loan. The amount seized is bounded by closeFactor, capping how much of the debt one call can repay, and marked up by liquidationPenalty. A deeply underwater loan therefore needs several liquidations to clear, or resolves through the auction path. There is no auto-sell for external securities. Once collateral reaches the router it stays there until an operator sells it and settles the proceeds. See Settle Liquidation.

Errors

LIQUIDATOR_ROLE_MISSING returns ready-to-sign calldata under error.calldata. You can also resolve it through Set Liquidator Role when the registered wallet holds the market admin role.