Order Mass Cancel Request (35=q)

Cancel multiple open orders at once on the zerohash CLOB

The OrderMassCancelRequest message (q) lets a participant cancel multiple open orders in a single request, scoped by instrument, account, or all open orders on the FIX session. The zerohash EP3 Platform responds with exactly one OrderMassCancelReport (r) per request, regardless of how many orders are affected. Individual order cancellations resulting from an accepted request are reported separately via ExecutionReport (8) messages with ExecType (150) = 4 (Canceled).

Mass Cancellation Scenarios

Mass Cancel TypeMassCancelRequestType (530)Required Filters
By instrument1 = Cancel Orders for a SecuritySymbol (55) or SecurityID (48) + SecurityIDSource (22)
By account7 = Cancel All OrdersAccount (1)
By account + ClOrdLinkID7 = Cancel All OrdersAccount (1) and ClOrdLinkID (583)
All orders for the FIX session7 = Cancel All OrdersNo filters required

Message Fields

TagField NameRequiredNote
Standard HeaderYesMsgType = q
1Account-Account reference, required if mass cancel is by account, or by account + ClOrdLinkID
11ClOrdIDYesUnique, participant-created identifier for this request
22SecurityIDSourceConditionalRequired if SecurityID (48) is provided. Only acceptable value is 8 (Exchange Symbol), even if security_id_source on the instrument is set to something else
48SecurityIDConditionalInstrument symbol, if canceling by symbol. Either SecurityID (48) or Symbol (55) is required when MassCancelRequestType (530) = 1. Required if SecurityIDSource (22) is provided
55SymbolConditionalInstrument symbol, if canceling by symbol. Either SecurityID (48) or Symbol (55) is required when MassCancelRequestType (530) = 1
530MassCancelRequestTypeYes1 = Cancel orders for a security; 7 = Cancel all orders
583ClOrdLinkID-Ties together a group of related orders (e.g., average execution price calculations, or waves of a program trade)
Standard TrailerYes

Business Rules

  • Canceling all orders by ClOrdLinkID (583) also requires Account (1), since ClOrdLinkID values aren't globally unique across accounts. If Account is omitted, the request is rejected via OrderMassCancelReport (r).
  • Canceling orders for a security requires Symbol (55), or SecurityID (48) + SecurityIDSource (22). If neither is provided, the request is rejected via BusinessMessageReject (j), not an OrderMassCancelReport (r).

Example Message

Cancel all open orders on the FIX session:

8=FIXT.1.1 | 9=97 | 35=q | 49=SENDER | 56=TARGET | 34=101 | 52=20251216-19:29:50 |
11=New-Order-001 | 530=7 | 60=20251216-19:29:50 | 10=099