Skip to main content

Logon

Initiate a FIX session with a Logon message — MsgType (35) set to A. Set EncryptMethod (98) to 0 and HeartBtInt (108) to the desired interval (default: 30 seconds).

Message Format

Standard FIX Fields

TagFieldWhen to IncludeNotes
8BeginStringAlwaysStandard FIX header
9BodyLengthAlwaysStandard FIX header
35MsgTypeAlwaysA (Logon)
49SenderCompIDAlwaysStandard FIX header
56TargetCompIDAlwaysStandard FIX header
34MsgSeqNumAlwaysStandard FIX header
52SendingTimeAlwaysStandard FIX header

Standard FIX Trailer

TagFieldWhen to IncludeNotes
10CheckSumAlways

Logon Fields

TagFieldWhen to IncludeNotes
98EncryptMethodAlwaysMust be 0
108HeartBtIntAlwaysHeartbeat interval in seconds (default: 30)
Send the Logon message to initiate the session:
TagFieldValueNotes
49SenderCompIDYour client ID
56TargetCompIDITBIT

Logon with Reset Sequence Number Flag

Reset sequence numbers on both sides by sending a Logon with ResetSeqNumFlag (141) set to Y.
Implement a sequence number management strategy to promote a stable trading environment.

Message Format

Uses the same Standard FIX Fields and Logon Fields as a regular Logon, plus:
TagFieldWhen to IncludeNotes
141ResetSeqNumFlagAlwaysY — reset sequence numbers on both sides
Send the Logon with ResetSeqNumFlag (141) = Y.

Replay Messages

Request retransmission of messages with a Resend RequestMsgType (35) set to 2. Use this when a gap in sequence numbers is detected, a message is lost, or higher-than-expected sequence numbers arrive from the counterparty.

Resend Scenarios

ScenarioBeginSeqNo (7)EndSeqNo (16)
Single messageNN (same value)
Range of messagesFirst in rangeLast in range
All subsequent messagesN0

Message Format

Standard FIX Fields

TagFieldWhen to IncludeNotes
8BeginStringAlwaysStandard FIX header
9BodyLengthAlwaysStandard FIX header
35MsgTypeAlways2 (Resend Request)
49SenderCompIDAlwaysStandard FIX header
56TargetCompIDAlwaysStandard FIX header
34MsgSeqNumAlwaysStandard FIX header
52SendingTimeAlwaysStandard FIX header

Standard FIX Trailer

TagFieldWhen to IncludeNotes
10CheckSumAlways
Required
TagFieldWhen to IncludeNotes
7BeginSeqNoAlwaysFirst message sequence number in range
16EndSeqNoAlwaysLast message sequence number in range (0 for all subsequent)

Heartbeat

Monitor the FIX connection with Heartbeat messages — MsgType (35) set to 0. The default HeartBtInt (108) interval is 30 seconds.

Key Behavior

  • Reset the heartbeat timer after every transmitted message, not just heartbeats.
  • If no data is received within the heartbeat interval, send a Test Request (MsgType 1) to verify the connection.
  • Include TestReqID (112) to match Test Requests with Heartbeat responses. Any string can be used (a timestamp is recommended).
  • If no Heartbeat response arrives in a reasonable time, consider the connection lost.

Message Format

Standard FIX Fields

TagFieldWhen to IncludeNotes
8BeginStringAlwaysStandard FIX header
9BodyLengthAlwaysStandard FIX header
35MsgTypeAlways0 (Heartbeat)
49SenderCompIDAlwaysStandard FIX header
56TargetCompIDAlwaysStandard FIX header
34MsgSeqNumAlwaysStandard FIX header
52SendingTimeAlwaysStandard FIX header

Standard FIX Trailer

TagFieldWhen to IncludeNotes
10CheckSumAlways

Heartbeat Fields

TagFieldWhen to IncludeNotes
112TestReqIDIn response to a Test RequestEchoes the TestReqID from the Test Request
Send a Heartbeat when no message has been sent within the HeartBtInt interval, or in response to a Test Request.

Reject

A Reject message — MsgType (35) set to 3 — is sent when a message cannot be processed due to a session-level rule violation.

Message Format – Response Message

Standard FIX Fields

TagFieldWhen PresentNotes
8BeginStringAlwaysStandard FIX header
9BodyLengthAlwaysStandard FIX header
35MsgTypeAlways3 (Reject)
49SenderCompIDAlwaysStandard FIX header
56TargetCompIDAlwaysStandard FIX header
34MsgSeqNumAlwaysStandard FIX header
52SendingTimeAlwaysStandard FIX header

Standard FIX Trailer

TagFieldWhen PresentNotes
10CheckSumAlways

Reject Fields

Always Present
TagFieldWhen PresentNotes
45RefSeqNumAlwaysSequence number of the rejected message
58TextAlwaysHuman-readable reason for the reject
373SessionRejectReasonAlwaysReject reason code

Logout

A Logout message — MsgType (35) set to 5 — initiates or confirms FIX session termination.
Disconnection without exchanging Logout messages indicates an abnormal condition. An unsolicited Logout may indicate a connection or account issue — Text (58) contains a human-readable message. If you cannot reconnect with ResetSeqNumFlag (141) set to Y, contact Support.

Message Format – Incoming Message

Standard FIX Fields

TagFieldWhen PresentNotes
8BeginStringAlwaysStandard FIX header
9BodyLengthAlwaysStandard FIX header
35MsgTypeAlways5 (Logout)
49SenderCompIDAlwaysStandard FIX header
56TargetCompIDAlwaysStandard FIX header
34MsgSeqNumAlwaysStandard FIX header
52SendingTimeAlwaysStandard FIX header

Standard FIX Trailer

TagFieldWhen PresentNotes
10CheckSumAlways

Logout Fields

Always Present
TagFieldWhen PresentNotes
58TextAlwaysHuman-readable message indicating any issues