Protocol overview

Standard header

All FIX messages must include a standard header and standard trailer, and all tags within these sections are required.

TagField nameDescription
8BeginStringFIX 4.2
9BodyLengthLength of message body
34MsgSeqNumFIX message sequence number
35MsgType0 = Heartbeat
1 = Test Request
2 = Resend Request
3 = Message Reject
4 = Sequence Reset
5 = Logout
8 = Execution Report
9 = Cancel Reject
A = Logon
D = New Order
F = Cancel Request
G = Cancel/Replace Request
49SenderCompIDSender Company ID, provided by DW
52SendingTimeGMT date/time the message was sent, in millisecond resolution. Upon being received by DriveWealth, this timestamp must be within the last 60 seconds.
56TargetCompIDTarget Company ID, provided by DW

Additional header tags for Bloomberg connections

For partners using Bloomberg EMSxNet/FixNet, please follow the Bloomberg FIX spec for hybrid broker destinations to establish connectivity, in addition to DriveWealth's spec. In particular, all FIX messages sent via Bloomberg must include the following tags within their headers:

TagField nameDescription
128DeliverToCompIDDriveWealth’s broker ID with Bloomberg FixNet (DWTH). Note this is a different value than DriveWealth's broker ID for EMSxNet, which is DRIV.

Standard trailer

TagField nameDescription
10CheckSumStandard FIX checksum

Sequence handling

The DriveWealth FIX Gateway will handle FIX Session message sequencing according to industry standards. For additional guidance, see the below examples of sequence number validation and handling.

Message SeqNum as expected: assuming the message contents conform to the spec, the message will be processed and accepted.

Message SeqNum greater than expected: The message will not be accepted or processed, and the SeqNum will not increment. Instead, the gateway will respond with a Resend Request (35=2) message with BeginSeqNum(7) = <last processed SeqNum> and EndSeqNum(6) = 0 (Infinity).

  • Special cases:
    • Logon Request: The gateway will send a Logon message, followed by a Resent Request message.
    • Resend Request - The gateway will process the request and send the messages that correspond to the requested resend request.

Message SeqNum less than expected: DriveWealth’s Gateway will respond with a session-level Reject message and close the connection.

  • Special cases:
    • Any message with PossDup(43) = Y will be ignored
    • Sequence Reset request (35=4) with GapFill = N or not set: if the NewSeqNum in the msg is higher than the next expected value, the message will be accepted and the NewSeqNum will be assigned.