Protocol overview

Standard header

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

Tag

Field name

Description

8

BeginString

FIX 4.2

9

BodyLength

Length of message body

34

MsgSeqNum

FIX message sequence number

35

MsgType

0 = 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

49

SenderCompID

Sender Company ID, provided by DW

52

SendingTime

GMT date/time the message was sent, in millisecond resolution. Upon being received by DriveWealth, this timestamp must be within the last 60 seconds.

56

TargetCompID

Target 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.

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

MessageSeqNum 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.

Resend request handling

Drivewealth's FIX Sessions will support Resend requests up to 262144 messages to be replayed. This is done in order to ensure stability of the platform.