Skip to main content

Overview

Liquidation occurs when your margin balance falls below your total maintenance margin requirement. Ondo Perps uses cross margin, meaning all perpetual positions share the collateral allocated to the user’s Perps balance. A loss on one position affects overall Perps margin health. The liquidation system is designed to close positions at the best available price on the order book before resorting to more aggressive mechanisms. Each stage of the process prioritizes retaining as much of your remaining capital as possible.
Auto-Exchange is not liquidation. Auto-Exchange sells tokenized stock collateral to clear USDC Debt and leaves your positions open. Liquidation closes your perpetual positions (partially by default) and does not directly sell your collateral tokens. See Settlement for how Auto-Exchange works.
Liquidation acts on collateral allocated to the user’s Perps balance and on the user’s perpetual positions. Assets allocated to the user’s Spot balance are not used for that liquidation. See Balances.

Margin and Liquidation Trigger

Maintenance Margin

Each market has its own maintenance margin rate, tiered by position size. Larger positions require proportionally more margin. Example rates: 2.5% for liquid markets, 5% for less liquid ones. The formula for a single position: maintenance_margin = position_notional * maintenance_margin_rate - maintenance_amount The maintenance_amount is a smoothing term that prevents sudden jumps when a position crosses from one size tier to the next. Your total maintenance margin is the sum across all open positions.

Liquidation Trigger

Liquidation triggers when: margin_balance < total_maintenance_margin Where margin_balance = wallet_balance + unrealized_pnl.

Liquidation Price

The liquidation price is the mark price at which your margin balance would fall below the maintenance margin requirement. For a long position, it is below your entry price. For a short, it is above.

Formula

liq_price = (margin_balance + maintenance_amount - other_positions_maintenance - side_notional) / (position_quantity * (maintenance_margin_rate +/- 1)) Where: Because Ondo Perps uses cross margin, your liquidation price on any position depends on the user’s Perps balance and other perpetual positions, their unrealized PnL, and total maintenance requirements. A negative liquidation price (possible for well-collateralized longs) is displayed as zero.

Worked Example

A trader funds $1,000 USDC and opens a 10x long on NVDA at $130, buying 76.92 shares ($10,000 notional).

NVDA drops to $126.50

Unrealized loss: 76.92 x ($130 - $126.50) = ~$269 Not yet in liquidation, but margin ratio is rising.

NVDA drops to $123.50

Unrealized loss: 76.92 x ($130 - $123.50) = ~$500 Close to liquidation. Funding USDC or reducing the position would lower the margin ratio.

NVDA drops to $123.00

Unrealized loss: 76.92 x ($130 - $123.00) = ~$538 Margin balance has fallen below maintenance margin. Liquidation is triggered. New perpetual orders are disabled, resting perpetual orders are cancelled, and partial liquidation of the NVDA position begins.

Liquidation Process

When liquidation triggers, the system follows a multi-stage process. Each stage is more aggressive than the last, and the system stops as soon as the user’s Perps margin balance is restored above maintenance margin.

Stage 1: Order Cancellation

New perpetual orders are disabled and resting perpetual orders are cancelled. Resting orders reserve margin but do not affect your liquidation price, so cancelling them may free enough margin to prevent position liquidation.

Stage 2: Liquidation via Order Book

The system sends limit orders to the order book to close your positions, starting with the most liquid market. Positions above $1,000 in notional value are liquidated partially, approximately 10% of the position at a time, with 5-second intervals between each chunk. This gives the book time to absorb the size and reduces market impact. Positions at or below $1,000 notional are liquidated in full. A 1.5% liquidation fee is charged on the filled notional value and sent to the insurance fund. Where the order book cannot absorb the liquidation, an announcement is issued and a backstop liquidator may take the position at bankruptcy price alongside the retry loop.

Stage 3: Insurance Fund Assistance

If the position has not been fully closed after approximately 1 minute of retries, the insurance fund activates. It widens the acceptable liquidation price up to 5% worse than the current mark price, making it easier for the order to fill against available book liquidity. The insurance fund also activates immediately if the mark price crosses the bankruptcy price (the price at which your margin balance would equal zero), regardless of how much time has passed.

Stage 4: Auto-Deleveraging (ADL)

If approximately 2 minutes have passed and the insurance fund balance is effectively exhausted (below $100), the system triggers auto-deleveraging as a last resort. See the ADL section below for details.

Escalation Timeline


Insurance Fund

The insurance fund is a dedicated pool of capital that backstops the liquidation system. How it’s funded: Every liquidation charges a 1.5% fee on filled notional value. This fee is transferred to the insurance fund. When it’s used: After 1 minute of failed liquidation attempts (or immediately at bankruptcy), the insurance fund subsidizes wider limit prices so liquidation orders can fill against deeper book liquidity. There is a per-event cap on how much the fund will spend on a single liquidation. What it protects: The fund absorbs losses when a liquidated account goes negative (losses exceed collateral). Without it, those losses would fall on other traders.

Auto-Deleveraging (ADL)

ADL is the system’s final safeguard for platform solvency. It is triggered only when normal liquidation and the insurance fund have failed to close a position.

When ADL Triggers

ADL activates under two conditions:
  1. Bankruptcy: The mark price crosses the bankruptcy price (the position is underwater beyond its collateral), regardless of time elapsed.
  2. Insurance exhaustion: More than 2 minutes have passed since liquidation started, and the insurance fund balance is below $100.

How Counterparties Are Selected

The system identifies all traders holding positions in the same market on the opposite side of the liquidated position. These traders are ranked by a combination of their profitability and leverage: rank = pnl_percentage * effective_leverage (for profitable positions) rank = pnl_percentage / effective_leverage (for unprofitable positions) Where:
  • pnl_percentage = unrealized_pnl / position_notional
  • effective_leverage = position_notional / margin_balance
Traders with the highest rank (most profitable and most leveraged) are deleveraged first. Their positions are closed at the bankruptcy price against the liquidated account. Each counterparty’s fill size is constrained so they remain above maintenance margin after the ADL fill.

Mark Price

Liquidations use mark price, not the last traded price or a single book price. Mark price is designed to resist manipulation and provide a stable reference for margin calculations. Mark price is the median of three components:
  1. Oracle price: The current oracle price, derived from external feeds or internal price discovery.
  2. Oracle price + drift: The oracle price adjusted by an exponentially weighted moving average of how much the on-platform orderbook mid-price diverges from the oracle (smoothed over ~150 seconds).
  3. Book composite: The median of the best bid, best ask, and last trade on the Ondo Perps book.
Taking the median of these three values means no single component can drive the mark price on its own. Mark price movement is also rate-limited per update to prevent sudden spikes. During weekends or when underlying markets are closed, the system uses internal price discovery based on order book activity. Pre-IPO markets also use internal price discovery before their transition to public-equity pricing. See Weekend and Extended Hours Trading for shared pricing mechanics and Pre-IPO Markets for IPO transition rules.

Cross Margin

Ondo Perps uses cross margin exclusively. All perpetual positions share the collateral allocated to the user’s Perps balance. What this means for liquidation:
  • A loss on any position reduces the margin available for all other positions
  • Your liquidation price on one position depends on the user’s Perps balance and other perpetual positions
  • When liquidation triggers, all resting perpetual orders are cancelled and all perpetual positions become eligible for forced closure
  • Closing a profitable position frees margin that can protect your losing positions
Ondo Perps does not support isolated margin. This is a deliberate design choice: cross margin is more capital-efficient for most traders, as gains on one position automatically offset losses on another without requiring manual rebalancing.

Avoiding Liquidation

If your margin ratio is rising toward 100%, you have several options:
  • Fund more USDC or tokenized stock: Increases your margin balance directly.
  • Close or reduce positions: lowers your maintenance margin requirement.
  • Set stop-loss orders: Automatically exits positions before the mark price reaches your liquidation price.
  • Close profitable positions: In cross margin, this frees margin for your remaining positions.
Monitor your margin ratio and liquidation price. During high volatility, mark price can move quickly, and the displayed liquidation price is an estimate that can shift as your unrealized PnL and other positions change. Ondo Perps uses a multi-layered liquidation process to protect both traders and the platform during periods of market volatility, ensuring positions are closed fairly while maintaining platform stability.