# Trading Suspension

Trading suspension is a protective mechanism that temporarily halts certain trading activities while maintaining critical system functions. This documentation explains when suspension occurs, what operations are restricted, and how the system resumes normal operations.

# Explanation

# When Suspension Occurs

Suspension can be triggered by:

  • Manual intervention: Administrators can manually suspend trading for maintenance, system upgrades, or emergency situations.
    • Call the PUT ExchangeWideControls/SuspendTrading endpoint to manually suspend
    • Call the PUT ExchangeWideControls/ResumeTrading endpoint to manually unsuspend
  • Engine incorrectly configured: The engine doesn't have one of the following critical accounts
    • Liquidator account
    • Fees account
    • Penny Jar account
  • Message Cache Full: If messages are not purged fast enough. If the age of the oldest message exceeds a pre-configured maximum age, the exchange goes into suspended mode until the situation is remediated
  • On Engine Restart: If configured to do so, the engine can restart in either suspended or suspended post-only mode for a pre-configured duration, after which it will automatically unsuspend.

# Operations During Suspension

When the exchange enters a suspended state:

# Allowed Operations

  • Order cancellations: Traders can cancel their existing open orders
  • Mark price updates: The system continues to process and update mark prices from price feeds
  • Position tracking: All positions continue to be tracked and valued at current mark prices

# Restricted Operations

  • New orders: No new orders can be placed (market, limit, or any other order type)
  • Order modifications: Existing orders cannot be modified
  • Stop orders: Stop orders will not be triggered while the exchange is suspended, even if the mark crosses the stop price.
  • Liquidations: The liquidation process is paused and will not execute even if accounts fall below their maintenance margin requirements

# Post-only Suspension

In this special case, post-only orders are still permitted to go through. This allows market makers to continue posting liquidity in preparation for the resumption of trading. Everything else follows the same principles as a regular suspension.

  • Call the PUT ExchangeWideControls/SuspendTradingPostOnly endpoint to manually suspend in post only mode

# Mark Price Processing

During suspension, the matching engine continues to:

  • Receive mark price updates from external price feeds
  • Update position valuations based on current mark prices
  • Calculate unrealized profits and losses
  • Monitor margin levels (without triggering any liquidations)

This ensures that when trading resumes, all positions are accurately valued and the system has the most recent market data.

# Liquidation Resumption

Upon unsuspension, the system processes liquidations as follows:

  1. Price Lock: Uses the last mark price received while the exchange was suspended
  2. Queue Processing: Processes all accounts in the pending liquidation queue in the order they became undercollateralized
  3. Standard Process: Each liquidation follows the normal liquidation workflow using the locked mark price
  4. Insurance Fund: If necessary, the insurance fund absorbs losses as in normal operations

This approach ensures that:

  • Liquidations occur at fair prices (the last known market price)
  • No accounts gain an unfair advantage from the suspension period
  • The system remains solvent and properly collateralized