FIX Gateway Updates

Details of the FIX interface changes expected as part of the forthcoming spot orderbook upgrade.

Conformance Testing - Action Required!

An update to the FIX conformance test is required. OSL has streamlined test cases to focus on key migration readiness.

Conformance Testing

Please contact you Relationship Manager or Technical Account Manager for more details.


Error Codes - No change

The numerical error codes in tag 58 will be preserved in the new system with a mapping to minimize the disruption to client who parse the codes in their systems.

Please note that at a future date non-numerical error codes may be introduced.

Expected Changes

1. Daily Maintenance Removed

The legacy system has a 30-minute maintenance from 07:00 to 07:30 HKT which includes a FIX server restart, session disconnect and reconnect, and sequence number reset.

The new orderbook will operate 24/7. There will be no FIX server restart or daily maintenance window. The new gateway enforces a strict session boundary at 00:00:00 UTC (08:00 HKT). All sessions disconnect for approximately 1 second, and inbound/outbound sequence numbers automatically reset to 1.

⚠️

Client Actions & Guidance

Expect a disconnection daily at 00:00:00 UTC. Client systems must automate reconnection and handle sequence resets starting at 1.

Recommended: Send the ResetSeqNumFlag with 141=Y on the first Logon (35=A) message immediately following the disconnect.


2. Market Data for Unknown Symbols Strict Checks removed

The legacy system rejects subscriptions to unrecognized or non-existent symbols via a MarketDataRequestReject (35=Y) response.

The new system will accept any non-empty symbol string. Unknown symbols will not result in any data updates but do NOT trigger a reject message.

⚠️

Client Actions & Guidance

Market data parsers should not expect a 35=Y error message for invalid symbols. It is recommended to validate instrument symbols locally prior to establishing subscriptions.


3. Parties Group - Firm ID (Tag 448)

Tag 448 (PartyID) for Party 1 (PartyRole=1, Executing Firm) returned a variable, per-session custom firm name (e.g., EXAMPLE_FIRM).

Tag 448 (PartyID) for Party 1 is entirely unified and will always return a fixed value: 448=OSL.

⚠️

Client Actions & Guidance

Clients parsing Tag 448 within the repeating group (Tag 453) to cross-reference their firm identifier will now see OSL.


4. Additional Changes to ERs (Added 8-Jun)

There are a few changes to the outbound (sent by OSL) Execution Report messages.

  • Tag 126 (ExpireTime) in outbound ER is now always populated for GTD orders, echoing the expire time back (currently documented as conditional).
  • Tag 1057 (Aggressorlndicator) is now populated on trade ERs (was optional before).
  • Tag 198 (SecondaryOrderID) is only populated if the Matching Engine returns a brokerOrderId (currently empty for most orders).
  • MiscFeeType (139) currently document as says 7=Other, gateway also uses 7 (REGULATORY).

⚠️

Client Actions & Guidance

Please ensure your system will be able to handle the these changes.


5. Change to Order Amend Behaviour - No native amends (Added 18-Jun)

In the new system, there is no a native amend function. Order amend messages will be treated as a cancel and a new.

⚠️

Client Actions & Guidance

Please ensure your system will be able to handle the this changes.


6. Session binding to tag1

In the new system, there will be a 1-2-1 mapping between the FIX session and the expected / allowed tag1 value.

❗️

Client Actions & Guidance

Please ensure your system will does not require to send different tag1 values on the same session. If it does please contact you OSL relationship managers.

7. Only Fill Execution Reports contain fees (Added July 7)

The current system includes the tags for fees on all Execution Reports (35=8). The new system will only send these tags on fills (35=8, 150=F).

Affected tags:

  • 136 - NoMiscFees
  • 137 - MiscFeeAmt
  • 138 - MiscFeeCurr
  • 139 - MiscFeeType
⚠️

Client Actions & Guidance

Please ensure your system will be able to handle the this changes.