Skip to main content
Liquidations
Updated over 8 months ago

How Do Liquidations Work?

A user is liquidated when the margin provided by their account's collateral falls below the maintenance margin requirement of their open positions.

Liquidations are performed via an auction system where a percentage of all assets in the account (quote, base, perpetuals and options) are available to bidders. When a liquidation auction begins, the account is flagged and the trader is prohibited from executing any transactions on that account.

A user is charged a fee, proportional to 10% of the mark-to-market value of their portfolio. For more detail on how this is calculated, see the documentation.

The account then has all of its assets (options, base, perpetuals, USDC) made available to liquidators. The offer price of the portfolio will be a percentage discount of the total portfolio value. Liquidators can take on as much of the user’s portfolio, up to a cap that depends on the discount, current portfolio value and margin requirements. The account is deemed sufficiently liquidated when the cap is hit, at which point the liquidation terminates and the trader has their account returned to them.

If the trader’s account ever becomes insolvent (the Portfolio Value becomes negative), then an insolvent auction begins. Liquidators can take on up to 100% of the portfolio and be paid by the Security Module to do so. The trader being liquidated receives nothing back.

If the Security Module runs out of funds and the insolvent auction fails to clear, the debt will be shared amongst all users via a temporary withdrawal fee for the quote asset (USDC).

Oracles and Feeds

For each market, there is a set of oracle inputs used for marking assets when computing margin and liquidations. This data is posted onchain for transparency and available via the public REST API. This data is provided by Block Scholes.

Name

Description

Spot Price

Spot price of the market

Forward Price

Forward price for given expiry

Perp Price

Market Price perp contract is trading at

Implied Volatility

Implied volatility for expiry, strike

Risk Free Rate

Annualised interest rate for USD

Associated with each feed is a confidence score which ranges between 0 (low confidence) and 1 (high confidence). Confidence scores are used to calculate oracle contingencies for both Standard Margin and Portfolio Margin accounts.

Implied volatility is marked to a (raw) stochastic volatility inspired (SVI) surface. For more detail, see the documentation.

Did this answer your question?