Liquidations

DUSD liquidations protect the protocol by automatically closing under-collateralized positions, ensuring system solvency and maintaining the stablecoin's backing. The liquidation system operates through automated mechanisms and incentivized liquidators.

Liquidation Overview

Liquidation Triggers

Positions become eligible for liquidation when:

  • Health Factor < 1.0: Collateral value falls below liquidation threshold

  • Debt Exceeds Limit: Outstanding debt surpasses maximum allowed

  • Interest Accumulation: Unpaid interest pushes position underwater

  • Oracle Price Updates: Collateral price drops trigger liquidations

Liquidation Threshold

function isLiquidatable(address borrower) external view returns (bool) {
    uint256 healthFactor = getHealthFactor(borrower);
    return healthFactor < 1e18; // Health factor below 1.0
}

function getHealthFactor(address borrower) public view returns (uint256) {
    uint256 totalCollateralValue = getTotalCollateralValue(borrower);
    uint256 totalDebt = getTotalDebt(borrower);
    
    if (totalDebt == 0) return type(uint256).max;
    
    uint256 liquidationThreshold = getWeightedLiquidationThreshold(borrower);
    return totalCollateralValue * liquidationThreshold / (totalDebt * 100);
}

Liquidation Process

Liquidation Execution

Collateral Calculation

Liquidation Parameters

Asset-Specific Parameters

Asset
Liquidation Threshold
Liquidation Bonus
Max Liquidation

ETH

130%

5%

50%

WBTC

130%

5%

50%

USDC

105%

2%

100%

DI

160%

8%

40%

Liquidation Limits

Liquidation Incentives

Liquidator Rewards

Gas Compensation

Partial vs Full Liquidations

Partial Liquidation

Full Liquidation

Liquidation Protection

Grace Period

Auto-Repayment

Liquidation Monitoring

Health Factor Tracking

Liquidation Alerts

Liquidation Bots

Bot Implementation

Liquidation Dashboard

Integration Examples

Liquidation Protection Service

Last updated