Liquidation

How It Works

ℹ️ Overview: This section explains how the liquidation process works in the protocol, covering the steps from triggering a liquidation to the auction process.

βœ… 1. Triggering Liquidation (bark Call)

πŸ’‘ If a Vault becomes under-collateralized, liquidation can be triggered via the bark function.

Parameters:

  • 🏦 ilk – Specifies the type of collateral (e.g., WEDU).

  • πŸ“œ urn – The Vault (CDP) being liquidated.

  • πŸ‘· kpr – The Keeper executing liquidation (rewarded for executing the process).

WEDU ilk = 0x5745445500000000000000000000000000000000000000000000000000000000

βœ… 2. Starting a Dutch Auction

βš–οΈ If the Vault meets liquidation conditions, its collateral is put up for auction.

πŸ”½ Dutch Auction Process:

  • Starts with a high price.

  • Gradually decreases over time until a bidder accepts.


βœ… 3. Full vs. Partial Liquidation

Liquidation can happen in two ways:

πŸ”Ή Full Liquidation

βœ… The entire Vault is liquidated.

πŸ”Ή Partial Liquidation

⚠️ Only part of the Vault is liquidated if:

  • Dirt > Hole β†’ The system-wide debt ceiling is exceeded.

  • ilk.dirt > ilk.hole β†’ The collateral-specific debt ceiling is exceeded.


βœ… 4. Preventing Dusty Liquidations

❌ If the remaining debt after liquidation is too small (ilk.dust), the liquidation fails.

πŸ”„ This prevents uneconomical liquidations where Keepers wouldn't profit. If this happens, the function reverts with: 🚨 "Dog/dusty-auction-from-partial-liquidation"


βœ… 5. Calling Clipper.kick() to Start the Auction

πŸ“’ Once liquidation is confirmed, the function calls Clipper.kick() to start the auction.

πŸ”§ Auction Parameters:

  • πŸ’° tab – The total DAI debt to be recovered.

  • 🏦 lot – The amount of collateral being auctioned.

  • πŸ§‘β€πŸ’Ό usr – The owner of the liquidated Vault.

  • πŸ‘· kpr – The Keeper executing the liquidation.


🎯 Tip: You can track auction progress using on-chain explorers and real-time dashboards.

Liquidation Parameters

ℹ️ Overview: This table explains key parameters involved in the liquidation process, including their definitions and roles.

Parameter

Description

ilk

The collateral type (e.g., WEDU) associated with the Vault (CDP).

urn

The address of the Vault being liquidated.

kpr

The Keeper executing the liquidation (receives a liquidation reward).

bark

The function used to trigger liquidation when a Vault is under-collateralized.

Hole

The global debt limit for auctions (if exceeded, liquidations are limited).

Dirt

The total outstanding debt across all auctions.

ilk.hole

The debt limit for a specific collateral type.

ilk.dirt

The outstanding debt for a specific collateral type.

ilk.dust

The minimum debt size for liquidation (prevents "dusty" liquidations).

tab

The total DAI debt to be recovered in the auction.

lot

The collateral amount being auctioned.

top

The starting price in the Dutch auction.

tail

The time limit before an auction resets.

cusp

The price drop percentage that triggers an auction reset.

tau

The time duration after which an auction reaches 0 price.

Clipper.kick()

Function to start the auction after a Vault is liquidated.


How These Parameters Work Together

  • The Keeper calls bark() to trigger liquidation when a Vault is at risk.

  • The system checks if Dirt > Hole or ilk.dirt > ilk.hole to determine if full or partial liquidation occurs.

  • If the remaining debt is too small (ilk.dust), the liquidation is canceled.

  • If the liquidation is successful, Clipper.kick() starts a Dutch auction with an initial price (top) that drops over time (tau).

  • If no bids occur, the auction resets when price falls below cusp after tail seconds.

Last updated