Skip to main content

Unsolicited events

Unsolicited events are sent by the exchange when activity occurs on your resting orders or quotes without you directly requesting it. Examples include fills as a maker, system cancellations, or MMP triggers.
Maker vs. taker fills: OrderFilled unsolicited events are only sent to the maker. If your order or quote was the aggressor (taker), all fill information is returned directly on the acknowledgement message (NewOrderResponse, AmendOrderResponse, or MassQuoteResponse). You will not receive a separate OrderFilled event for taker fills.

OrderFilled (300)

Event generated when one or more resting orders are filled by a taker order. This may include orders from different instruments if the taker order was for a combo instrument and matched an implied order. The table below outlines the content of field 13 (flags).

OrdersCanceled (310)

Event generated when one or more orders and/or quotes submitted via this binary API session are canceled for some reason other than in direct response to a request on this same session (NewOrderRequest, AmendOrderRequest, CancelOrderRequest, MassQuoteRequest). For example, end-of-day expiries, liquidation, admin action, a mass cancel, an MMP trigger, or a cancel sent from a different session.
Cross-session cancels (schema version 17): When another session cancels an order this session submitted, this session receives OrdersCanceled if it negotiated schema version 17 or later. The cancelling session receives CancelOrderResponse (220). The message layout is unchanged from schema version 16 (additive, backward-compatible). Sessions negotiated below 17 still receive CancelOrderResponse on the submitting session. See Cancelling an Order.
Liquidation cancels: Orders cancelled by liquidation arrive on the gateway where the order was originally placed. Consistent with event scoping, they are not broadcast to your other sessions. Monitor OrdersCanceled with cancelReason = 5 (LIQUIDATION) on every order-entry session to detect them.

OrderPlaced (312)

Unsolicited event sent when a speed-bumped order completes the speed bump period and is entered into the book. Sent to the session that originally submitted the order. When the order matches immediately upon book entry, numberOfFills is greater than 0 and the fills repeating group is populated.
correlationId (field 12) and the 3-byte alignment padding preceding it were added in schema version 8; earlier versions of this message did not carry a correlationId.

MassQuoteOrdersPlaced (314)

Unsolicited event sent when one or more speed-bumped quote sides complete the speed bump period and are entered into the book. Sent to the session that originally submitted the MassQuoteRequest. Each placed side is reported as an entry in the orders repeating group (with status and cancelReason). When a side was converted to IOC during the bump, infer that from status / cancelReason. There is no separate timeInForce field. See Mass quote message flow.

MassQuoteMmpTriggered (320)

Event generated when a mass quote Market Maker Protection limit is triggered. Followed by one or more OrdersCanceled messages.

OrdersMmpTriggered (322)

Event generated when an orders Market Maker Protection limit is triggered. Followed by one or more OrdersCanceled messages.

MassQuoteMmpUnfrozen (324)

Event generated when a mass quote Market Maker Protection group is unfrozen, either in response to a reset request or because the frozenUntil timer elapsed.

OrdersMmpUnfrozen (326)

Event generated when an orders Market Maker Protection group is unfrozen, either in response to a reset request or because the frozenUntil timer elapsed.