Message structure
Every FIX message consists of three main components that define its structure and content:
Standard header
The standard header is required at the beginning of every FIX message. It provides key information about the message type and sequence number, who the sender and the receiver are, sending time, and the protocol version.
For messages from your system to Bitvavo, use your unique account identifier as the SenderCompID (49) and VAVO as the TargetCompID (56).
For messages from Bitvavo to your system, the values in these fields are reversed: SenderCompID (49) is VAVO and TargetCompID (56) is your unique account identifier.
| Tag | Name | Description |
|---|---|---|
8 | BeginString | The FIX protocol version. Must be FIX.4.4 and the first field in the message. |
9 | BodyLength | The message length in bytes from this field to the CheckSum field. This must always be the second field in the message. |
35 | MsgType | The type of message. Must be the third field in the message. For example, 35=D is NewOrderSingle. |
49 | SenderCompID | The sender. In messages to Bitvavo, this is your unique account identifier. In messages to you, the value is VAVO. |
56 | TargetCompID | The recipient. In messages to Bitvavo, the value must be VAVO. In messages to you, this is your unique account identifier. |
34 | MsgSeqNo | The sequence number of the message. Used to detect gaps or duplicate messages. In the UAT environment, the maximum value for |
52 | SendingTime | The UTC timestamp in nanoseconds when the message was sent. Must be in the format YYYYMMDD-HH:MM:SS.sssssssss, for example 20260115-10:05:54.794327000. |
Message body
The message body contains a set of tags relevant to each message type. After constructing the standard header, include the tags specified for the message you want to send or receive.
You can find the messages we support below:
Admin
- Logon (35=A)
- Logout (35=5)
- Heartbeat (35=0)
- Reject (35=3)
- Resend Request (35=2)
- Test Request (35=1)
- Sequence Reset (35=4)
Trading
- NewOrderSingle (35=D)
- OrderCancelReplaceRequest (35=G)
- OrderCancelRequest (35=F)
- OrderMassCancelRequest (35=q)
- OrderStatusRequest (35=H)
- OrderMassStatusRequest (35=AF)
- BusinessMessageReject (35=j)
- OrderMassCancelReport (35=r)
- ExecutionReport (35=8)
- OrderCancelReject (35=9)
Drop copy
Standard trailer
The standard trailer is required at the end of every FIX message. It marks the end of the message and includes a checksum field to verify that the message was transmitted correctly.
| Tag | Name | Type | Required | Description |
|---|---|---|---|---|
10 | CheckSum | String | Y | Three-byte checksum used to mark the end of the message. |