Liquidations
Liquidate Loan
Seize collateral from an undercollateralized loan
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.
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 bycloseFactor, 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.
