Liquidation

  • A user who has negative account liquidity is subject to liquidation by other users of the protocol to return his/her account liquidity back to positive (i.e. above the collateral requirement).

  • When a liquidation occurs, a liquidator may repay some or all of an outstanding borrow on behalf of a borrower and in return receive a discounted amount of collateral held by the borrower; this discount is defined as the liquidation incentive.

  • A liquidator may close up to a certain fixed percentage (close factor is 8%) of any individual outstanding borrow of the underwater account.

Liquidation Calculations

Liquidation occurs when a user's total borrow has reached a threshold, i.e. the risk factor is greater than or equal to 100%.

Risk factor represents the overall liquidation risk for a given user. When the users add more collateral into the protocol, the risk reduces. Conversely when the users borrow more, the risk increases.

When a user has reached its liquidation threshold, up to 50% (in terms of market value) of the total borrowed asset is sold to the liquidator at a discounted price to repay a portion of the loan.

Function

 public entry fun liquidate_borrow_entry<BorrowedCoinType, CollateralCoinType>(
        liquidator: &signer,
        borrower: address,
        repay_amount: u64,
    )

Example

  • Alice is supply $100 of USDT and has a loan line of $80

  • Alice is lending $70 of BTC, so Alice has $10 of liquidity left

  • If BTC goes up by 20%, then Alice's liability becomes $84 and liquidity becomes 0

  • Bob can act as liquidator to liquidate Alice's BTC of $42 and obtain Alice's USDT collateral of $45.36

Last updated