Exception Management

Cancel On Disconnect

FIX users can request to enable Cancel on Disconnect function so that all open orders submitted through a FIX session will be automatically cancelled when the server identifies a disconnection of the client session in the following scenarios:

  • Graceful logout by FIX client
  • Ungraceful logout from either FIX server/client due to Test Request with no acknowledgement
  • Ungraceful FIX socket disconnection
  • Exchange downstream error/timeout

Missed Execution Reports

FIX users will receive execution reports that they missed whilst not logged in the next time they log in.

For example, if an order was cancelled during log out and the client disconnected before they received an execution report, they will receive it on their next log in.

Legacy Mode

For FIX users who do not wish to receive missed execution reports, legacy mode can be set and the client can request to reset sequence numbers on log in. This will stop them from receiving any missed execution reports, simulating the behavior from the legacy FIX implementation.

FIX users must request this mode during onboarding, and send 141=Y in Logon messages.

Below is a summary of the behavior for different combinations of 141 options combined with legacy mode options.

141 Tag ValueLegacy Mode OptionNFE Behavior
YOffThe client resets their sequence number and receives missed execution reports.

1. The client will send 141=Y and sequence number 34=1 in their login message
2. The exchange will respond with 141=Y and sequence number 34=1 in their login response
3. The exchange will proceed to send any execution reports to the client for activity done whilst they were disconnected (such as trades, order expiry etc.) on the next available sequence number(s) e.g. 34=2, 34=3
4. The session will continue as normal
N or MissingOffThe client does not reset their sequence number and receives missed execution reports.

1. The client will send 141=N (or can leave the field out altogether) and their next available sequence number e.g. 34=442 in their login message
2. The exchange will respond with 141=Y and their next available sequence number 34=3242 in their login response
3. The exchange will proceed to send any execution reports to the client for activity done whilst they were disconnected (such as trades, order expiry etc.) on the next available sequence number(s) e.g. 34=3243, 34=3244
4. The session will continue as normal
N or MissingOnLegacy mode is only activated if the client sends 141=Y, so this scenario will be the same as if 141=N and legacy mode is off.

The client does not reset their sequence number and receives missing execution reports.
YOnThe client does reset their sequence number and does not receive missing execution reports.

The client does not reset their sequence number and receives missing execution reports.

Error Codes

📘

Please refer to Response / Error Code Reference