#
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