Standard Header and Trailer
Every FxTrusts FIX Trading API message uses the standard FIX 4.4 header and trailer structure. The fields below are validated during session logon, replay, recovery, and certification testing.
During onboarding, FxTrusts supplies the agreed sender IDs, target IDs, symbol dictionaries, venue fields, and any conditional routing tags required for the client environment.
Standard Header
The Standard Header is present at the start of every FIX message.
| Tag | Field Name | Required | Description |
|---|---|---|---|
| 8 | BeginString | Y | FIX.4.4 |
| 9 | BodyLength | Y | Message body length. |
| 35 | MsgType | Y | 0 = HEARTBEAT 1 = TEST_REQUEST 2 = RESEND_REQUEST 3 = REJECT 4 = SEQUENCE_RESET 5 = LOGOUT 8 = EXECUTION_REPORT 9 = ORDER_CANCEL_REJECT A = LOGON D = NEW_ORDER_SINGLE F = ORDER_CANCEL_REQUEST G = ORDER_CANCEL_REPLACE_REQUEST V = MARKET_DATA_REQUEST W = MARKET_DATA_SNAPSHOT X = MARKET_DATA_INCREMENTAL_REFRESH |
| 49 | SenderCompID | Y | FxTrusts supplied SenderCompID for the client session. |
| 56 | TargetCompID | Y | FxTrusts supplied TargetCompID for the demo or production environment. |
| 34 | MsgSeqNum | Y | Sequence number of this message. Sequence handling is validated during certification. |
| 43 | PossDupFlag | N | Indicates a possible duplicate message or a resent message. |
| 52 | SendingTime | Y | UTC timestamp showing when the message was sent. |
| 57 | TargetSubID | C | Required where the client has multiple routing desks, accounts, or liquidity destinations configured. |
| 142 | SenderLocationID | C | Optional location identifier when required by venue, product, or compliance configuration. |
| 122 | OrigSendingTime | C | Required for resent messages when available. Used with PossDupFlag during replay and recovery checks. |
Standard Trailer
The Standard Trailer is present at the end of every FIX message.
| Tag | Field Name | Required | Description |
|---|---|---|---|
| 10 | CheckSum | Y | Checksum calculated according to the official FIX protocol definition. |
Session messages
Session messages confirm authentication, heartbeat handling, controlled logoff, and recovery behavior.
| MsgType | Message | Purpose |
|---|---|---|
| 35=A | Logon | Authenticates the client session and confirms the expected sequence state. |
| 35=0 | Heartbeat | Keeps the FIX session active during quiet order-routing periods. |
| 35=1 | Test Request | Requests heartbeat confirmation when either side detects silence. |
| 35=5 | Logout | Terminates the FIX session in a controlled and auditable way. |
Order routing messages
Order routing messages cover the standard order lifecycle from submission through execution reporting, cancellation, replacement, and rejection handling.
| MsgType | Message | Purpose |
|---|---|---|
| 35=D | New Order Single | Submits a new market, limit, or stop order to the routing layer. |
| 35=F | Order Cancel Request | Requests cancellation of an accepted working order. |
| 35=G | Order Cancel Replace Request | Amends price, quantity, duration, or client order metadata. |
| 35=8 | Execution Report | Reports acknowledgements, fills, partial fills, cancels, rejects, and replaces. |
| 35=9 | Order Cancel Reject | Explains why a cancel or replace request cannot be accepted. |
Market data messages
Market data messages are enabled only where market data scope is part of the integration agreement.
| MsgType | Message | Purpose |
|---|---|---|
| 35=V | Market Data Request | Optional request for snapshot or streaming price workflows. |
| 35=W | Market Data Snapshot | Returns the latest available bid, ask, and instrument data when enabled. |
| 35=X | Market Data Incremental Refresh | Streams enabled price changes for supported instruments. |
Additional tags, allocation groups, and venue fields are confirmed during technical onboarding.
