Last updated: 2026-09-24
Cancel every resting order on a halted book before trading resumes. Clients cannot cancel orders while EP3 has a book suspended, so an order left on the book can fill at the first price after the resume.
Use this runbook to halt one or more instruments for an incident, a
bad price feed, or maintenance. To delist a product, use
delisting-a-product.md instead.
Announce. Post in #ax and send a Broadcast Bot notice to client channels. Name the instruments, say that trading is halted, and say that all resting orders will be cancelled before trading resumes. When you know the resume time, send it.
Halt each instrument. In the admin GUI, go to Markets → row actions → Halt Trading. Or run:
admin-cli ep3 set-instrument-state <SYM> SUSPENDEDBoth set the EP3 state to Suspended. To halt the whole
exchange, run the command once per symbol. EP3 rejects new orders on a
Suspended book with EXCHANGE_CLOSED / "Book is
SUSPENDED".
Check the state. Each instrument must show
SUSPENDED:
admin-cli ep3 list-instruments --parse --symbol <SYM>The admin GUI sidebar shows the number of halted markets.
Do this phase before every resume.
Cancel all resting orders on each halted instrument, for all accounts:
admin-cli ep3 cancel-all-for-symbol <SYM>If every book is halted, run admin-cli ep3 cancel-all.
In the admin GUI, use Markets → row actions → Cancel All Orders. Clients
receive the cancels on their order and drop-copy streams.
Check that the books are empty. List resting orders:
admin-cli ep3 search-open-ordersIf any order remains on a halted symbol, do step 4 again. Do not continue until the books are empty.
Announce the resume time in #ax and with Broadcast Bot. Tell clients that their resting orders were cancelled and that they must enter them again.
Open each instrument. In the admin GUI, go to Markets → row actions → Resume Trading. Or run:
admin-cli ep3 set-instrument-state <SYM> OPENCheck the market. list-instruments
shows OPEN. Place and cancel a small test order from a
house account. Check that the ticker and the order book update in the
client GUI.
Close out. Post an all-clear in #ax and in client channels. In the incident, record the halt time, the resume time, the instruments, and the reason.