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/SuspendTradingendpoint to manually suspend - Call the
PUT ExchangeWideControls/ResumeTradingendpoint to manually unsuspend
- Call the
- 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/SuspendTradingPostOnlyendpoint 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:
-
Price Lock: Uses the last mark price received while the exchange was suspended
-
Queue Processing: Processes all accounts in the pending liquidation queue in the order they became undercollateralized
-
Standard Process: Each liquidation follows the normal liquidation workflow using the locked mark price
-
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