Skip to main content
Incremental update messages are sent on dual A/B multicast channels. Each message has a long (8-byte) monotonically increasing sequence number that is never reset. The stream of messages on the A/B channels are identical; however, the grouping of messages into packets may vary between A and B channels. The packet header sequence number is the sequence number of the first message in the packet, or the next expected sequence number if the packet contains no messages (a heartbeat packet). Thus, the expected sequence number of the next packet is always the current packet sequence number plus the current packet message count.
Heartbeat packets are sent in the absence of new updates every 5 seconds. This is represented by a packet header with PktMessageCount=0.
All incremental messages are sent in a transaction. A transaction contains all incremental messages that are published as a result of a single inbound message or event in the trading system. Single-message transactions have both the start-of-transaction and end-of-transaction flags set.
All incremental messages require a message header and instrument header component.

Instrument Header

All incremental messages contain the following component as the first field after the message header. Side is null (-128) unless otherwise noted for particular messages.

Outright Instrument Definition

Spread Instrument Definition

Option Instrument Definition

Trading Status Update

Order Put

Sent when a resting order is added or updated.
The Side of order is defined in the instrument header (1 or -1).

Order Delete

Side of deleted order is defined in instrument header (1 or -1).

Implied Order Update

Side is defined in instrument header (1 or -1).

Trade Summary

Summarizes all fills of an aggressor order. Sent before individual trade messages, as well as order put/delete and market stat messages.
Aggressor Side is defined in instrument header.

Trade

Trade message does not implicitly delete or update matched resting order; a separate OrderPut or OrderDelete is sent (in the same transaction).
Aggressor Side is defined in instrument header.

Trade Amend

Trade Bust

Spread Trade Amend

Market Stat

Trade Session Volume

Open Interest

Funding Rate