US Options BOE Specification

Download as pdf or txt
Download as pdf or txt
You are on page 1of 192

Cboe Options Exchanges

Binary Order Entry


Specification
Version 2.11.65

July 1, 2024

This content is owned or licensed by Cboe Global Markets, Inc. or its affiliates (“Cboe”) and protected by copyright under U.S.
and international copyright laws. Other than for internal business purposes, you may not copy, reproduce, distribute, publish ,
display, perform, modify, create derivative works, transmit, or in any way exploit the content, sell or offer it for sale, use the
content to construct any kind of database, or alter or remove any copyright or other notice from copies of the content.
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Contents
1 Introduction ...................................................................................................................................... 6
1.1 Overview ...................................................................................................................................................... 6
1.2 Document Format ........................................................................................................................................ 6
1.3 Hours of Operation....................................................................................................................................... 6
1.3.1 Holiday Sessions (C1 only)........................................................................................................................ 7
1.4 Data Types .................................................................................................................................................... 7
1.5 Optional Fields and Bit fields ........................................................................................................................ 8
1.6 Protocol Features ......................................................................................................................................... 9
1.6.1 Architecture and Message in Flight Settings ............................................................................................ 9
1.6.2 Complex Instruments and Signed Prices (C1, C2, and EDGX only) ........................................................... 9
1.6.3 Done For Day Restatements..................................................................................................................... 9
1.6.4 Carried Order Restatements .................................................................................................................. 10
1.6.5 Cancellation of Carried Orders Between Trading Sessions .................................................................... 10
1.6.6 Display Indicator Features...................................................................................................................... 11
1.6.7 Default Exchange Risk Protections ......................................................................................................... 11
1.6.8 Risk Root................................................................................................................................................. 14
1.6.9 Market Maker Trade Notifications (C1 Only) ......................................................................................... 14
1.6.10 Cabinet and Sub-Cabinet Orders (C1 Only) ............................................................................................ 15
1.6.11 Auction Orders ....................................................................................................................................... 15
1.6.12 Port Types .............................................................................................................................................. 15
1.6.13 Floor Routing (C1 Only) .......................................................................................................................... 17
1.6.14 Stale NBBO ............................................................................................................................................. 19
2 Session ........................................................................................................................................... 20
2.1 Message Headers ....................................................................................................................................... 20
2.2 Login, Replay and Sequencing .................................................................................................................... 20
2.3 Sequence Reset .......................................................................................................................................... 21
2.4 Heartbeats .................................................................................................................................................. 21
2.5 Logging Out ................................................................................................................................................ 21
3 Session Messages ............................................................................................................................ 22
3.1 Member to Cboe ........................................................................................................................................ 22
3.1.1 Login Request ......................................................................................................................................... 22
3.1.2 Logout Request ...................................................................................................................................... 25
3.1.3 Client Heartbeat ..................................................................................................................................... 25
3.2 Cboe to Member ........................................................................................................................................ 26
3.2.1 Login Response....................................................................................................................................... 26
3.2.2 Logout .................................................................................................................................................... 28
3.2.3 Server Heartbeat .................................................................................................................................... 29
3.2.4 Replay Complete .................................................................................................................................... 30

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 2
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4 Application Messages....................................................................................................................... 31
4.1 Member to Cboe ........................................................................................................................................ 31
4.1.1 New Order .............................................................................................................................................. 31
4.1.2 New Order Cross (C1 and EDGX Only).................................................................................................... 32
4.1.3 New Complex Order (C1, EDGX, and C2 Only) ....................................................................................... 36
4.1.4 New Order Cross Multileg (C1 and EDGX Only) ..................................................................................... 38
4.1.5 Cancel Order........................................................................................................................................... 42
4.1.6 Modify Order.......................................................................................................................................... 44
4.1.7 Quote Update......................................................................................................................................... 46
4.1.8 Quote Update (Short)............................................................................................................................. 49
4.1.9 Purge Orders .......................................................................................................................................... 51
4.1.10 Reset Risk ............................................................................................................................................... 53
4.1.11 New Complex Instrument (C1, C2, and EDGX Only) ............................................................................... 55
4.1.12 Add Floor Trade (C1 Only) ...................................................................................................................... 57
4.1.13 Floor Trade Confirmation (C1 Only) ....................................................................................................... 60
4.1.14 Delete Floor Trade (C1 Only) .................................................................................................................. 62
4.2 Cboe to Member ........................................................................................................................................ 64
4.2.1 Order Acknowledgment ......................................................................................................................... 64
4.2.2 Cross Order Acknowledgment (C1 and EDGX Only) ............................................................................... 65
4.2.3 Quote Update Acknowledgment............................................................................................................ 67
4.2.4 Order Rejected ....................................................................................................................................... 69
4.2.5 Cross Order Rejected (C1 and EDGX Only) ............................................................................................. 71
4.2.6 Quote Update Rejected.......................................................................................................................... 72
4.2.7 Order Modified....................................................................................................................................... 73
4.2.8 Order Restated ....................................................................................................................................... 74
4.2.9 Quote Restated ...................................................................................................................................... 76
4.2.10 User Modify Rejected............................................................................................................................. 77
4.2.11 Order Cancelled...................................................................................................................................... 78
4.2.12 Quote Cancelled ..................................................................................................................................... 79
4.2.13 Cross Order Cancelled (C1 and EDGX Only) ........................................................................................... 80
4.2.14 Cancel Rejected ...................................................................................................................................... 82
4.2.15 Order Execution ..................................................................................................................................... 83
4.2.16 Quote Execution..................................................................................................................................... 86
4.2.17 Trade Cancel or Correct.......................................................................................................................... 87
4.2.18 Purge Rejected ....................................................................................................................................... 89
4.2.19 Reset Risk Acknowledgment .................................................................................................................. 90
4.2.20 Mass Cancel Acknowledgment............................................................................................................... 91
4.2.21 Purge Notification .................................................................................................................................. 92
4.2.22 Complex Instrument Accepted (C1, C2, and EDGX Only) ....................................................................... 94

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 3
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4.2.23 Complex Instrument Rejected (C1, C2, and EDGX Only) ........................................................................ 97
4.2.24 Floor Trade Notification (C1 Only) ......................................................................................................... 98
4.2.25 Add Floor Trade Rejected (C1 Only) ..................................................................................................... 100
4.2.26 Floor Trade Confirmation Rejected (C1 Only) ...................................................................................... 102
4.2.27 Delete Floor Trade Rejected (C1 Only) ................................................................................................. 103
4.2.28 Delete Floor Trade Acknowledgement (C1 Only) ................................................................................. 105
5 Input Bitfields Per Message.............................................................................................................. 106
5.1 New Order ................................................................................................................................................ 107
5.2 New Order Cross (C1 and EDGX Only)...................................................................................................... 108
5.3 New Complex Order (C1, C2, and EDGX Only) ......................................................................................... 108
5.4 New Order Cross Multileg (C1 and EDGX Only) ....................................................................................... 109
5.5 Cancel Order............................................................................................................................................. 109
5.6 Modify Order............................................................................................................................................ 110
5.7 Purge Orders ............................................................................................................................................ 110
5.8 New Complex Instrument (C1, C2, and EDGX Only) ................................................................................. 111
6 Return Bitfields Per Message ........................................................................................................... 112
6.1 Order Acknowledgment ........................................................................................................................... 113
6.2 Cross Order Acknowledgment (C1 and EDGX only) ................................................................................. 115
6.3 Order Rejected ......................................................................................................................................... 117
6.4 Cross Order Rejected (C1 and EDGX Only) ............................................................................................... 119
6.5 Order Modified......................................................................................................................................... 121
6.6 Order Restated ......................................................................................................................................... 123
6.7 User Modify Rejected............................................................................................................................... 125
6.8 Order Cancelled........................................................................................................................................ 127
6.9 Cross Order Cancelled (C1 and EDGX Only) ............................................................................................. 129
6.10 Cancel Rejected ........................................................................................................................................ 131
6.11 Order Execution ....................................................................................................................................... 133
6.12 Trade Cancel or Correct............................................................................................................................ 135
6.13 Purge Rejected ......................................................................................................................................... 137
6.14 Purge Notification .................................................................................................................................... 139
6.15 Complex Instrument Accepted (C1, C2 and EDGX Only) .......................................................................... 141
6.16 Complex Instrument Rejected (C1, C2, and EDGX Only ) ......................................................................... 143
7 List of Optional Fields ...................................................................................................................... 145
8 Reason Codes ................................................................................................................................. 165
8.1 Order Reason Codes................................................................................................................................. 165
8.2 Quote Reason Codes ................................................................................................................................ 166
8.3 Order and Quote Subreason Codes.......................................................................................................... 167
9 List of Message Types...................................................................................................................... 168
9.1 Member to Cboe ...................................................................................................................................... 168

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 4
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

9.2 Cboe to Member ...................................................................................................................................... 168


10 Port Attributes ............................................................................................................................... 169
11 Support ......................................................................................................................................... 174
Revision History ..................................................................................................................................... 175

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 5
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

1 Introduction

1.1 Overview
This document describes Binary Order Entry (BOE), the Cboe proprietary order entry protocol.
Where applicable, the terminology (e.g., time in force) used in this document is similar to that used by the FIX
protocol to allow those familiar with FIX to more easily understand BOE. This document assumes the reader has
basic knowledge of the FIX protocol.
BOE fulfills the following requirements:
• CPU and memory efficiency. Message encoding, decoding, and parsing are simpler to code and can be
optimized to use less CPU and memory at runtime.
• Application level simplicity. State transitions are simple and unambiguous. They are easy to apply to a
Member’s representation of an order.
• Session level simplicity. The session level protocol (login, sequencing, replay of missed messages, logout) is
simple to understand.
While Cboe has strived to preserve feature parity between FIX and BOE where possible, some features may only be
available in one protocol or the other.
All binary values are in little Endian (used by Intel x86 processors), and not network byte order.
Each message is identified by a unique message type. Not all message types are used in all Cboe’s trading
environments globally. A listing of the supported message types is provided in ‘Section 10 - List of Message Types’.
All communication is via standard TCP/IP.

1.2 Document Format


Blue highlighted sections highlight key differences between the Cboe US Options Exchanges (BZX Options Exchange
“BZX”, Cboe Options Exchange “C1”, C2 Options Exchange “C2”, and EDGX Options Exchange “EDGX”).

1.3 Hours of Operation


All times noted are Eastern time zone (ET) based.
See the respective exchange websites for holiday schedules.
Cboe Options Exchanges support a Pre-Market Queuing Session that allows orders to be entered and queued prior
to the start of the Global Trading Hours (“GTH”) session and the Regular Trading Hours (“RTH”) session. The GTH
Queuing session allows SPX, VIX, and XSP orders marked as both GTH and RTH only order to be entered and queued.
C1 also supports a Curb session in addition to GTH and RTH sessions.
For more information on the Cboe Opening Process, please refer to the Cboe Opening Process Specification.
Cboe Options Exchanges do not support a closing auction, but do support extended trading for options on select ETF
and index products. All orders remaining after the Regular Trading Session that are not eligible for Extended Trading
will be cancelled automatically. All orders remaining after the Extended session will be cancelled automatically.
Members will receive Order Cancelled messages for all automatically cancelled orders.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 6
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

C1 C2 BZX EDGX
8:00 pm – 8:15 pm ET
7:30 am - 9:30 am 7:30 am - 9:30 am 7:30 am - 9:30 am
Order (SPX/VIX/XSP)
ET ET ET
Acceptance 7:30 am - 9:30 am ET
(All Products) (All Products) (All Products)
(All Products)
GTH 8:15 pm - 9:15 am ET (SPX/VIX/XSP) N/A N/A N/A
9:30 am - 4:00 pm 9:30 am - 4:00 pm 9:30 am - 4:00 pm
9:30 am - 4:00 pm ET
ET ET ET
(All Products)
(All Products) (All Products) (All Products)
RTH
9:30 am - 4:15 pm ET 9:30 am - 4:15 pm 9:30 am - 4:15 pm 9:30 am - 4:15 pm
(Select ETF's/ETN's and Index ET ET ET
Products)
4:30 pm – 5:00 pm ET
Curb N/A N/A N/A
(SPX/VIX/XSP)

1.3.1 Holiday Sessions (C1 only)


On certain US-centric holidays, where European and/or Asian markets are open, trading is suspended for RTH and
Curb but continues for GTH, resulting in two sets of non-contiguous GTH sessions before RTH.
Figure 1: US Holiday Trading Hours

On days where the market closes early, RTH will conclude at 1:15 p.m. ET and there will not be a subsequent Curb
session. The market will remain closed until the next GTH session.
On certain International Holidays (i.e. New Years’ Day) there is no GTH or RTH trading and the C1 Options market is
closed. Notice will be sent prior to any holiday communicating the specific hours and sessions that will be available.

1.4 Data Types


The following data types are used by BOE. The size of some data types varies by message. All data types have default
values of binary zero, in both Member to Cboe and Cboe to Member contexts.
• Binary: Little Endian byte order, unsigned binary value. The number of bytes used depends on the context.
— One byte: FE = 254
— Four bytes: 64 00 00 00 = 100
• Signed Binary: Little Endian byte order, signed two's complement, binary value. The number of bytes used
depends on the context.
— One byte: DF = -33
— Four bytes: 64 00 00 00 = +100

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 7
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

• Binary Price: Little Endian byte order value, signed two's complement, eight bytes in size, with four implied
decimal places. So, if the value is -123,400, the actual value taking into account implied decimal places is
-12.34.
— 08 E2 01 00 00 00 00 00 = 123,400/10,000 = 12.34
— F8 1D FE FF FF FF FF FF = -123,400/10,000 = -12.34

• Short Binary Price: Little Endian byte order value, signed two's complement, four bytes in size, with four
implied decimal places. So, if the value is 12,300, the actual value taking into account implied decimal places
is 1.23.
— 0C 30 00 00 = 12,300/10,000 = 1.23
• Signed Binary Fee: Little Endian byte order value, signed two's complement, eight bytes in size, with five
implied decimal places. So, the value is -123,000 is -1.23 after taking account for the five implied decimal
places.
— 88 1F FE FF FF FF FF FF = 123,000/100,000 = -1.23
• Alpha: Uppercase letters (A-Z) and lowercase letters (a-z) only. ASCII NUL (0x00) filled on the right, if
necessary. The number of bytes used depends on the context.
• Alphanumeric: Uppercase letters (A-Z), lowercase letters (a-z) and numbers (0-9) only. ASCII NUL (0x00)
filled on the right, if necessary.
• Text: Printable ASCII characters only. ASCII NUL (0x00) filled on the right, if necessary.
• DateTime: Little Endian byte order, eight bytes. The date and time, in UTC, represented as nanoseconds
past the UNIX epoch (00:00:00 UTC on 1 January 1970). The nanoseconds portion is currently ignored and
treated as 0 (i.e. the times are only accurate to microseconds) on input, and will always be set to 0 by Cboe
in outgoing messages. However, Cboe may begin populating the nanoseconds portion at any time without
warning.
For example: 1,294,909,373,757,324,000 = 2011-01-13 09:02:53.757324 UTC.
• Date: Little Endian byte order, unsigned binary value, 4 bytes in size. The YYYYMMDD expressed as an
integer.

1.5 Optional Fields and Bit fields


Some messages such as New Order and Modify Order have a number of optional fields. A count and number of
bitfields in the message specify which optional fields will be present at the end of the message. If a bit is set, the
field will be present. Fields are appended to the end of the message. There is no implicit framing between the
optional fields. In order to decode the optional fields, they must be appended in a particular order to the end of the
message. The fields of the first bitfield are appended first, lowest order bit first. Next, the fields of the next bitfield
are appended, lowest order bit first. This continues for all bitfields. While certain reserved bits within a defined
bitfield are used within another Cboe market and will be ignored, bits that are reserved for future expansion must
be set to 0 when noted in the bitfield description.
The size, data type, and values for each field are described in ‘Section 7 – List of Optional Fields’.
Note that the set of optional fields returned for each Cboe to Member message type is determined at session login
(using the Login Request message); hence, the exact size and layout of each message received by the client
application can be known in advance. Any requested optional field, which is irrelevant in a particular context, will
still be present in the returned message, but with all bytes set to binary zero (0x00).
Each return message from Cboe to Member indicates the optional fields which are present, even though the Member
indicated during login which optional fields are to be sent. The reason for the inclusion (and duplication) is so that
each message can be interpreted on its own, without having to find the corresponding login request or response to

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 8
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

know which optional fields are present. So, for example, in a log file, decoding a message requires only that single
message.
Example messages are shown with each message type, which should help to make this concept clear.

1.6 Protocol Features


The exchange does not guarantee messages sent by Members/TPHs to the exchange, including through protocols
such as TCP. Members/TPHs are responsible to monitor the status of the messages they send to the exchange.

1.6.1 Architecture and Message in Flight Settings


Each BOE order handler process will allow a single TCP connection from a member. Connection attempts from
unknown source IP ranges will be blocked to prevent unauthorized access to BOE ports. The Cboe NOC should be
contacted in the event that a Member desires to connect from a new source IP range.
Each BOE order handler will connect, using a proprietary UDP protocol, to all matching units. Connections from order
handlers to matching engines are latency equalized. The connections between order handlers and matching units
are governed by an internal flow control mechanism to control burst rates.
The number of messages in flight between an order handler and a matching engine is 128. In addition, when the
total number of unacknowledged messages exceeds 1,024, the BOE order handler will stop reading from the
member-facing TCP socket. This will cause the order handler to stop removing bytes from the TCP receive buffer,
and will prevent the member from sending more TCP data once the member’s send buffer is full.
When the total number of unacknowledged messages falls below 960, the reading of the member facing TCP
socket will be resumed.
For message in flight counting purposes the following logic will be used:
• A new order message will count as one message;
• A new complex order with up to 100 legs will count as one message;
• A new order cross or new complex order cross auction message with one agency side and up to 10 contra
parties will count as one message;
• A quote update with up to 20 individual quote sides will count as one message.
• In contrast, a single TCP segment sent by a member containing two quote update messages, each with
five quote sides, will count as two messages

Cboe may either update the message in flight or the total number of unacknowledged messages settings with
notice. Changes to reduce either limit will be made only with two weeks’ notice. Cboe reserves the ability to
increase either limit immediately with notice.

1.6.2 Complex Instruments and Signed Prices (C1, C2, and EDGX only)
All price fields in the BOE protocol are signed values capable of accommodating complex instruments that can be
negative (See Data Types) for a description and an example of using the Binary Price type with a negative price). For
an example of the use of the Binary Price type with negative price values in an application message, see the example
BOE message in New Complex Order.

1.6.3 Done For Day Restatements


Good ‘Til Cancel (“GTC”) and Good ‘Til Day (“GTD”) orders can result in order persisting between sessions. The Cboe
BOE protocol provides a mechanism for clients to request end-of-day restatement of GTC/GTD orders that will be
persisted to the next trading session. See Section ‘Section 10 – Port Attributes’ for information on available port
attributes, including Done For Day Restatements.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 9
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

When enabled, Done For Day Restatement messages are sent to connected clients after the trading session ends,
for each order that will persist to the next trading session. Any time prior to the cutoff, customers may send Cancel
Order messages for any open GTC and GTD orders.
Done For Day Restatements are represented using Order Acknowledgement messages with the following optional
attributes set:
• BaseLiquidityIndicator = A (Added Liquidity), bitfield 5, bit position 7
• SubLiquidityIndicator = D (Done For Day), bitfield 7, bit position 1
To receive Done For Day Restatements, the Done For Day Restatement port attribute must be set (contact Cboe
Trade Desk), and customers must register to receive BaseLiquidityIndicator and SubLiquidityIndicator optional fields
on Order Acknowledgement messages via the Logon Request message (See ‘Section 3.1.1 – Login Request’ for
details on registering to receive optional fields on a per-message basis). If the Done For Day Restatement port
attribute is set and the bitfield Logon Message registration for the Order Acknowledgement message does not
include but BaseLiquidityIndicator and SubLiquidityIndicator, the logon attempt will fail.

1.6.4 Carried Order Restatements


Good ‘Til Cancel (“GTC”) and Good ‘Til Day (“GTD”) orders can result in orders persisting between sessions. The
Cboe BOE protocol provides a mechanism for clients to request restatement of orders that have been carried
forward from the previous business day trading session. See ‘Section 10 – Port Attributes’ for information on
available port attributes, including ‘Carried Order Restatements’.
When enabled, Carried Order Restatements are sent to connected clients for each product on the Options Exchange
for which orders have been carried forward from the previous business day trading session. Carried Order
Restatements are sent after connection establishment and before regular trading activity messages on a per-product
basis.
Carried Order Restatements are represented using Order Acknowledgement messages with the following optional
attributes set:
• BaseLiquidityIndicator = A (Added Liquidity), bitfield 5, bit position 7
• SubLiquidityIndicator = C (Carried), bitfield 7, bit position 1
To receive Carried Order Restatements, the Carried Order Restatement port attribute must be set (contact CFE
Trade Desk), and customers must register to receive BaseLiquidityIndicator and SubLiquidityIndicator optional fields
on Order Acknowledgement messages via the Logon Request message (See ‘Section 3.1.1 – Login Request’ for
details on registering to receive optional fields on a per-message basis). If the Carried Order Restatement port
attribute is set and the bitfield Logon Message registration for the Order Acknowledgement message does not
include but BaseLiquidityIndicator and SubLiquidityIndicator, the logon attempt will fail.

1.6.5 Cancellation of Carried Orders Between Trading Sessions


GTC and GTD orders persist within the Cboe Options Exchanges between business days. On BZX, EDGX, and C2 the
latest time when GTC/GTD orders may be cancelled is 4:45 p.m. ET.
On C1 Options the latest time when GTC/GTD orders may be cancelled is 5:15 p.m. ET (15 minutes following the
close of the Curb Session).
GTC, GTD, and Day orders also persist between multiple GTH trading sessions on the same business day in connection
with a holiday. On US holidays, Cancel Order messages for GTC orders may be issued until 11:45 a.m. ET, which
is 15 minutes after the first GTH session ends at 11:30 a.m. ET. The "Multi-Segment Holiday Day Order Handling"
port attribute will enable Members to designate if Day orders are cancelled or preserved across holiday trading
segments comprising a single business date. See ‘Section 10 – Port Attributes’ for information on available port
attributes.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 10
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

1.6.6 Display Indicator Features


Orders are eligible for all of the sliding features described below. Quotes are eligible for the sliding behaviors
described below if they are received with a price that locks the NBBO and with a PostingInstruction eligible for price
sliding. Quotes that also cross the NBBO or displayed Cboe book will be accepted if within a configurable buffer
range through the NBBO or displayed Cboe book. The buffer is set to 5% with a minimum of $0.05 and a maximum
of $1.00.
For BZX only, quotes and orders that are marked as “Post Only” will execute against resting liquidity as a remover
and be charged applicable removal fee codes if the amount of price improvement of the removal execution exceeds
the expected rebate that the order or quote would have received if it had posted at its limit price.

Display-Price Sliding (BZX Only)


If the original limit price of the unexecuted remainder of a day order does not lock or cross the NBBO then Cboe
works the order at the original limit price while displayed at the nearest permissible quoting increment. If the
original limit price does lock or cross the NBBO then Cboe makes available Display-Price Sliding.
Display-Price Sliding adjusts the original limit price on entry to the locking price of the NBBO. It will be ranked and
worked at a price locking the NBBO but will temporarily adjust the displayed price to the nearest permissible quoting
increment. When the NBBO widens, the display price will be readjusted to the adjusted limit price. The display price
may be temporarily less aggressive than the adjusted limit price or working price.
Multiple Display-Price Sliding does not permanently adjust the original limit price on entry, but allows for Display-
Price slid orders to continue to have their display and working prices adjusted towards their original limit price based
on changes to the prevailing NBBO.
Contra-side Post Only orders that are received when a Display-Price Slid order is working at a locking price with the
NBBO will not result in a reject of a contra-side Post Only order but will instead result in the working price of the
Display-Price Slid order to be repriced to one penny away from the locking price.

Price Adjust (BZX, C1, C2, and EDGX)


If the limit price of an order does not lock or cross the NBBO, then the order will be ranked and displayed at the
nearest permissible quoting increment.
If the limit price of a Price Adjust eligible order locks or crosses the NBBO, the limit price will be adjusted on entry to
the locking price of the NBBO, while the displayed price and ranked price will be temporarily adjusted to the nearest
permissible quoting increment. Price Adjust orders will never be ranked at the locking price or at a non-displayable
price increment. If the NBBO widens, the displayed price and ranked price will be readjusted to the adjusted limit
price.
The limit price of a Multiple Price Adjust order will not be permanently adjusted on entry if the limit price crosses
the NBBO. The displayed price and ranked price will be the nearest permissible quoting increment and will be
adjusted towards the original limit price based on changes in the prevailing NBBO.

NoRescrapeAtLimit (BZX Only)


Applicable only to fully routable IOC orders (9303=R and 59=3). After walking the price down to the limit, there will
be no final scrape at Cboe and the cancel code will state “X: Expired” rather than “N: No Liquidity”.

1.6.7 Default Exchange Risk Protections

1.6.7.1 Market Order NBBO Width Protection for Simple Orders


Market Orders are rejected if the NBBO width is greater than 100% of the midpoint (with a minimum value of $5.00
and maximum value of $10.00).

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 11
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Example
• NBBO = $1.00 x $4.00
• Midpoint =$2.50 x 100% = $2.50 (min of 5.00 is used instead)
• NBBO Width= $4.00 – $1.00 = $3.00
Even though the width is greater than 100% of the midpoint, Market Orders entered are accepted since the $5.00
minimum applies in this example.

1.6.7.2 Drill-Through Protection for Simple Limit Orders


Each simple limit order will be assigned a drill-through price that allows simple orders to be executed up to a
maximum capped price through the contra side NBBO at time of order entry. The drill-through mechanism will
repeatedly post the order at a more aggressive price. If the order reaches its limit price at any time during the
iterative drill-through process, the order will remain at its limit price and the drill-through protection mechanism will
not continue. The preset duration is one second.
Adjustments that would lock or invert an away displayed market will initiate a SUM auction. Eligible complex orders
may also initiate a COA throughout the iterative process.
Market orders submitted with a TimeInForce (FIX Tag 59) of ‘Day’ along with elected stop orders will be eligible for
iterative drill-through price protection.
• Sell market orders will drill-through down to the minimum tick for the class where they will rest until
cancelled or executed in full.
• Buy market orders will drill-through to the maximum allowable price for the class where they will rest until
cancelled or executed in full.
• Market orders submitted with a TimeInForce of ‘IOC’ will trade on arrival, capped at the first drill-through
price level.
Separate stop and stop limit orders elected as a result of the same election trigger (NBBO update or last sale) will all
use the same drill-through reference price. This may include orders with multiple stop prices if the election trigger
covers multiple price levels. When multiple stop orders are elected as a result of the same election trigger, they are
sequenced in time priority based on their order entry time.
• If an iterative drill-through protection is in progress, newly-elected stop and stop limit orders will join the
current drill-through price. The newly-elected stop and stop limit orders will be prioritized behind orders
already in drill-through.
• If no iterative drill-through is in progress, the initial drill-through reference price for stop and stop limit
orders elected by the same market data event will be set to the contra side NBBO
Triggered Market-On-Close and Limit-On-Close orders are handled the same as elected stop and stop limit orders
with respect to drill-through reference price and priority.
• Existing market-width checks prevent market orders from executing if the bid/ask width is wider than a
specified amount. This protection will be bypassed for triggered Market-On-Close orders and triggered stop
orders.
• Existing Fat Finger limit price reasonability checks reject limit orders priced at an overly-aggressive level.
Such protections will be bypassed for triggered Limit-On-Close orders and triggered stop limit orders.
The Drill-Through Price is calculated by taking the NBB or NBO and subtracting or adding, respectively, the Drill-
Through Amount from the table below. Calculated drill-through prices at an invalid pick increment for the class will
be widened to the next valid tick.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 12
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

NBBO Price Drill-Through Amount


(All Symbols)
$0.00 – $5.00 $0.10
$5.01 – $20.00 $0.20
$20.01 – $50.00 $0.30
$50.01 – $100.00 $0.40
$100.01 & Above $0.50

1.6.7.3 Market/Limit Order Drill-Through for Complex Orders


Default Drill-Through Protections will be applied to all complex limit and market orders that will cap the price of the
order relative to the SNBBO at the time of order entry. Exchange defaults are 5% through the contra-side of the
SNBBO. For orders other than SPX/SPXW, the price cap level will be no larger than $0.25 through the contra-side
SNBBO. For SPX/SPXW, the price cap will be no larger than $2.00 through the contra-side SNBBO. The price cap will
be no smaller than $0.02 through the contra-side SNBBO for all orders.
For complex orders not specifying a drill-through override with DrillThruProtection (FIX Tag 6253), the drill-through
mechanism will repeatedly post the order at a more aggressive price. If the order reaches its limit price at any time
during the iterative drill-through process, the order will remain at its limit price and the drill-through protection
mechanism will not continue. The preset duration is one second.
Sell market orders will drill through to the minimum tick for the class, where they will rest until cancelled or executed
in full. Buy market orders will drill through to the maximum allowable price for the class, where they will rest until
cancelled or executed in full. Market orders submitted with a TimeInForce of ‘IOC’ will trade on arrival, capped at
the first drill-through price level.
Adjustments that would lock or invert an away displayed market will initiate a SUM auction. Eligible complex orders
may also initiate a COA throughout the iterative process.
Customers can optionally set more or less restrictive Drill-Through Protections on individual orders using
DrillThruProtection on the New Order Multileg message.

1.6.7.4 Exchange Default Fat Finger Limits


Fat Finger Checks are mandatory for both Pre-Market and Regular Sessions and applied to both simple and complex
orders. The following Exchange defaults are applied if not specified by the user. Fat Finger checks are not applicable
for any Multi-Class Spread instruments that trade on the floor only. Fat Finger checks are applicable for Multi-Class
complex instruments containing only SPX or SPXW legs as they are eligible for trading on the electronic book.
Pre-Open
Curb/GTH Session (VIX/XSP)
Limit Price Range Fat Finger % Fat Finger Dollar-Based Limit
Default Default
$0.00 – $1.99 No Value $1.00
$2.00 – $5.00 No Value $1.50
$5.01 – $10.00 No Value $2.00
$10.01 – $20.00 No Value $3.00
$20.01 – $50.00 No Value $4.00
$50.01 – $100.00 No Value $6.00
$100.01 & Above 8% Not Valid

Regular Session
Limit Price Range Fat Finger % Fat Finger Dollar-Based Limit
Default Default
$0.00 – $1.99 No Value $0.50
$2.00 – $5.00 No Value $0.75
$5.01 – $10.00 No Value $1.00

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 13
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

$10.01 – $20.00 No Value $1.50


$20.01 – $50.00 No Value $2.00
$50.01 – $100.00 No Value $3.00
$100.01 & Above 4% Not Valid
SPX and SPXW are considered Exception Classes and have unique Fat Finger default values for the Pre-Open and
Regular sessions.
Exception Class Pre-Open
Curb/GTH Session (SPX)
Limit Price Range Fat Finger % Fat Finger Dollar-Based Limit
Default Default
$0.00 – $1.99 No Value $15.00
$2.00 – $5.00 No Value $15.00
$5.01 – $10.00 No Value $15.00
$10.01 – $20.00 No Value $15.00
$20.01 – $50.00 No Value $20.00
$50.01 – $100.00 No Value $20.00
$100.01 & Above No Value $25.00

Exception Class Regular Session


Limit Price Range Fat Finger % Fat Finger Dollar-Based Limit
Default Default
$0.00 – $1.99 No Value $1.00
$2.00 – $5.00 No Value $1.50
$5.01 – $10.00 No Value $2.00
$10.01 – $20.00 No Value $3.00
$20.01 – $50.00 No Value $4.00
$50.01 – $100.00 No Value $6.00
$100.01 & Above 16% Not Valid
See the Web Portal Port Controls Specification for additional details on how Members can manage fat finger settings
intraday.

1.6.7.5 Default Fat Finger Limits for Quote Updates


Quotes that cross the NBBO or displayed Cboe book will be accepted if within a configurable buffer range through
the NBBO or displayed Cboe book. The buffer is set to 5% with a minimum of $0.05 and a maximum of $1.00.

1.6.7.6 Maximum Open Order Limits


The exchange limits the maximum number of open orders allowed on a BOE or BOE Quote port to 200,000 per port.
New orders will be rejected once this limit is breached until the number of open orders drops back below 200,000.
Note this limit is only for orders and does not include open quotes sent over a BOE Quote port.

1.6.8 Risk Root


This document uses the term “Risk Root” to describe Cboe Options Risk Management functionality that is applied at
the symbol-level. The Risk Root is defined as the underlying symbol. This impacts what value must be sent in the
defined RiskRoot fields when performing a mass cancel or a risk trip reset.
See the Risk Management Specification for more details.

1.6.9 Market Maker Trade Notifications (C1 Only)


Floor Trade Notifications (MMTNs) will be sent to Market Makers if they are identified as the contra party of a floor
trade. MMTN messages will be sent over a designated FIXDrop or BOE order entry port. See ‘Section 10 – Port
Attributes’ section for information on available port attributes related to MMTNs.
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 14
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Market Makers that receive a Floor Trade Notification should use the Floor Trade Confirmation message to respond
to the NNTN if they agree with the terms of the trade. Alternatively, a Market Maker can use the Add Floor Trade
message to enter their own version of the trade.

1.6.10 Cabinet and Sub-Cabinet Orders (C1 Only)


Cabinet orders are identified via PriceType = ‘0’ and must have a valid TimeInForce of ‘Day’ or ‘GTC’. Cabinet orders
can support a position status of Open or Close indentified via the OpenClose field. Cabinet orders will only trade with
other cabinet orders on the book or floor depending on FloorRoutingInst and FloorDestination values.

1.6.10.1 Valid Pricing


Orders in non-penny classes must have a limit price less than or equal to $0.01 and orders in penny classes must
have a limit price less than $0.01. Limit prices may be up to 4 decimal places.

1.6.10.2 Invalid Pricing


Orders in penny or non-penny classes priced greater than $0.01 and orders in penny classes priced equal to $0.01
will be rejected. Orders with a limit price that locks or crosses a resting non-cabinet order will be rejected.

1.6.10.3 Market Data


Cabinet orders or executions will not be disseminated on OPRA but will be available on
http://cdn.cboe.com/resources/membership/US_EQUITIES_OPTIONS_MULTICAST_PITCH_SPECIFICATION.pdf and
http://cdn.cboe.com/resources/membership/US_OPTIONS_MULTICAST_TOP_SPECIFICATION.pdf feeds.

1.6.11 Auction Orders


For more information on the following Auction Only Orders, please refer to the Opening Process Specification.
Order Type Order Entry Details
Market-On-Open (MOO) OrdType = 1 (Market) TimeInForce = 2 (At the open)
OrdType = 2 (Limit)
Limit-On-Open (LOO) TimeInForce = 2 (At the open)
Price = [price]
OrdType = 2 (Limit) TimeInForce = 2 (At the open)
Settlement Liquidity On Open (SLOO)
Price = [price] ExecInst = r (Settlement Liquidity)

1.6.12 Port Types


All BOE port types may be ordered using the Logical Port Request tool on the Customer Web Portal. Port attribute
changes may also be requested through this tool by submitting a ‘Modify’ request for one or more existing BOE
ports.

1.6.12.1 BOE Order Ports


Standard BOE ports support simple and complex order entry but do not support the usage of the following message
types: Quote Update, Purge Orders. The attempted usage of any of these message types on standard BOE
order ports will result in a rejection of the disallowed message.
Standard BOE ports are limited to 5,000 inbound messages per second. Once the inbound limit is reached new
orders are rejected, modifies are handled as cancels, and cancels are processed normally.

1.6.12.2 BOE Bulk Quoting Ports


BOE Bulk Quoting ports are intended for use by market makers quoting large numbers of simple options series. As
a result, they are unthrottled in terms of number of messages that may be accepted within any given period of time
from a TPH. However, market makers may still experience poor performance on Bulk Quoting ports if excessive
message traffic is sent.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 15
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

The PreventMatch field may not be specified on the Quote Update message and Match Trade Prevention is only
available if defaulted at the port level. For Bulk Quoting ports, only Cancel Newest, Cancel Oldest, or Cancel Both
are permitted. If a Bulk Quoting port is not configured with both a default MTP Modifier and Unique ID Level, Match
Trade Prevention will be disabled.

Bulk Quoting Port Order Acceptance Table


Message Simple/Complex Accepted over Bulk Other Conditions
Quoting Port?
Quote Update Simple Yes
Quote Update Simple Yes
(short)
New Order Simple Yes Must have a TimeInForce value of Day
or GTD with a same day expiration on
C1, C2, and EDGX.
New Order Simple Yes
(Auction Response)
New Order Cross Simple No
(AIM or QCC)
New Order Cross Simple No
Multileg
Purge Orders Simple/Complex No

Reset Risk Simple/Complex Yes


New Complex Complex Yes
Instrument
Quote Update Complex No
New Complex Complex Yes Must be Post Only (RoutingInst = P).
Order Must have a TimeInForce value of Day
or GTD with a same day expiration on
C1, C2, and EDGX.
New Complex Complex Yes
Order
(COA Response)

Bulk Quoting Port Quote/Order Behavior Matrix


The following matrix describes the liquidity removal behavior of quotes and orders sent on Bulk Quoting ports. Bulk
Quoting ports are available for use by all customers but only Market Makers may use Quote Update messages.
Orders sent on Bulk Quoting Ports are allowed to remove liquidity only on BZX Options. On C1, C2, and EDGX
Options, only registered Market Makers are allowed to remove liquidity using New Order messages.

Once a quote or order is posted to the exchange book, liquidity removal against any contra capacity is always allowed
in the case that a subsequent event causes the resting quote or order to be re-evaluated, such as the Opening/Re-
Opening Process.

• Only Market-Makers can send Quote Update messages, and such messages can only be sent on a Bulk
Quoting Port.
• Liquidity removal using either New Order or Quote Update messages on Bulk Quoting ports is restricted
to appointed Market-Makers only. Removal of any resting order with a Quote Update by a Market-Maker
when not appointed in the class will result in a quoteResult reject of “r = Invalid Remove” or “A = Market
Maker must be registered” for New Orders. For purposes of liquidity removal, an appointment using any
one EFID will allow for liquidity removal for all EFIDs used by the Market-Maker.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 16
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

• New Order messages can be sent over FIX/BOE Ports and Bulk Quoting Ports by all capacities. However,
on C1, C2, and EDGX, non-Market-Maker New Order messages sent over a Bulk Quoting Port must be
marked “post only” and thus cannot remove liquidity.

Bulk Quoting Port FIX/BOE Port


BZX C2 EDGX C1 BZX C2 EDGX C1
Can a Market-Maker send order Yes Yes Yes Yes Yes Yes Yes Yes
messages?
Can a Market-Maker send quote Yes Yes Yes Yes No No No No
messages?
Can a non-Market-Maker send Yes Yes Yes Yes Yes Yes Yes Yes
order messages?
Can a non-Market-Maker send No No No No No No No No
quote messages?
Can an aggressing Market-Maker Yes No No No Yes Yes Yes Yes
remove a resting Market-Maker
quote or order?
Can an aggressing Market-Maker Yes Yes Yes Yes Yes Yes Yes Yes
remove a resting non-Market-
Maker order?
Can an aggressing non-Market- Yes No No No Yes Yes Yes Yes
Maker remove a resting Market-
Maker quote or order?
Can an aggressing non-Market- Yes No No No Yes Yes Yes Yes
Maker remove a resting non-
Market-Maker order?

1.6.12.3 BOE Purge Ports


BOE Purge Ports support a single message type: Purge Orders. Members may use this port type to request a
cancellation of groups of orders, including orders across multiple BOE Order or Bulk Quoting ports.

1.6.13 Floor Routing (C1 Only)


All orders routed to the floor must include explicit routing instructions that includes two features: 1) floor routing
instruction indicating Direct or Default routing behavior and 2) floor destination information. Floor routing behavior
is specified in FloorRoutingInst (22303). Direct routing sends the order to the indicated PAR workstation, while
default routing indicates that electronic execution is preferred, but the order may be routed to the indicated PAR if
it cannot be processed electronically.
Examples of conditions which cause default routing to the Floor include:
• a complex order having an AON contingency
• a complex order with multiple underlying components
• not held orders
Floor destination instructions are specified in FloorDestination (22100), indicating a PAR workstation (ex. W001) to
route to on the floor (or ‘PARO’ to rout to the Floor PAR Official of the underlying symbol) if not specified on the
inbound message. See ‘Section 10 – Port Attributes’ for information on available port attributes, including Default
FloorRoutingInst and Default FloorDestination.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 17
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Order Tags/Port Settings Handling of the Order


Orders Only All Other Order
Port
Executed on Types
Order Floor Order Default Port Default
Floor
Destination FloorRoutingInst Floor FloorRoutingInst
(i.e. complex
Destination
AON)
Reject: ineligible Process
E (default) for electronic electronically
book
Reject: requires a Reject: requires a
D
floor destination floor destination
Reject: requires a Reject: requires a
X
floor destination floor destination
Reject: ineligible Process
W001 E (default) for electronic electronically
book
Route to floor: Route to floor:
W001 D
W001 W001
Route to floor: Process
W001 X
W001 electronically
Reject: ineligible Process
W009 E (default) for electronic electronically
book
Route to floor: Route to floor:
W009 W001 D
W009 W009
Route to floor: Process
W009 X
W009 electronically
Reject: ineligible Process
W009 E for electronic electronically
book
Route to floor: Route to floor:
W009 D
W009 W009
Route to floor: Process
W009 X
W009 electronically
Reject: ineligible Process
E for electronic electronically
book
Reject: requires a Reject: requires a
D
floor destination floor destination
Reject: requires a Process
X
floor destination electronically
E = Electronic only D = Direct X = Route to floor if unable to process electronically

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 18
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

1.6.13.1 Floor Representation Restatements (C1 Only)


Orders routed to the trading floor will be represented to the open outcry crowd before being traded in the crowd.
The Cboe BOE protocol provides a mechanism for clients to receive restatement of orders at the time of
representation.
BOE Floor Representation Restatements are sent to connected clients for each order when the floor broker reports
representation of the order to the crowd. Floor Representation Restatements sent to BOE ports will also be sent to
connected Order by Order Drop clients having the Floor Representation Restatements port attribute enabled.
Order Restated messages for floor representation will have RestatementReason = ‘F’ (Represented on Floor).
The TransactTime (60) will be the recorded time of the representation.

1.6.14 Stale NBBO


A stale NBBO will occur when the Cboe trading system determines that one or more SIP quote channels is impaired
or down completely. If the trading system detects that an NBBO is stale new orders for the affected class(es) will
be rejected. Any existing orders will remain on the book but will not be allowed to update (user updates or sliding
updates). Members will be allowed to cancel any open orders. Regular trading will resume when the NBBO for a
given class is determined to be healthy by the Cboe trading system.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 19
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

2 Session

2.1 Message Headers


Each message has a ten byte header. The two initial StartOfMessage bytes are present to aid in message reassembly
for network capture purposes. The MatchingUnit field is only populated on sequenced, non-session level messages
sent from Cboe to the Member. Messages from Member to Cboe and all session level messages must always set
this value to 0.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary Message type.
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.
For session level traffic, the unit is set to 0.
For messages from Member to Cboe, the unit
must be 0.
SequenceNumber 6 4 Binary The sequence number for this message.
Messages from Cboe to Member are sequenced
distinctly per matching unit.
Messages from Member to Cboe are sequenced
across all matching units with a single sequence
stream.
Member can optionally send a 0 sequence
number on all messages from Member to Cboe.
Cboe highly recommends that Members send
sequence numbers on all inbound messages.

2.2 Login, Replay and Sequencing


Session level messages, both inbound (Member to Cboe) and outbound (Cboe to Member) are unsequenced.
Inbound (Member to Cboe) application messages are sequenced. Upon reconnection, Cboe informs the Member of
the last processed sequence number; the Member may choose to resend any messages with sequence numbers
greater than this value. A gap forward in the Member's incoming sequence number is permitted at any time and is
ignored by Cboe. Gaps backward in sequence number (including the same sequence number used twice) are never
permitted and will always result in a Logout message being sent and the connection being dropped.
Most (but not all) outbound (Cboe to Member) application messages are monotonically sequenced per matching
unit. Each message's documentation will indicate whether it is sequenced or unsequenced. While matching units on
BOE correspond directly to matching units on Multicast PITCH, sequence numbers do not.
Upon reconnection, a Member sends the last received sequence number per matching unit in a Login Request
message. Cboe will respond with any missed messages. However, when the Login Request
NoUnspeciedUnitReplay flag is enabled, Cboe will exclude messages from unspecified matching units during replay.
Cboe will send a Replay Complete message when replay is finished. If there are no messages to replay, a Replay
Complete message will be sent immediately after a Login Response message. Cboe will reject all orders during
replay.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 20
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Assuming a Member has requested replay messages using a properly formatted Login Request after a disconnect,
any unacknowledged orders remaining with the Member after the Replay Complete message is received should
be assumed to be unknown to Cboe.
Unsequenced messages will not be included during replay.
A session is identified by the username and session sub-identifier (both supplied by Cboe). Only one concurrent
connection per username and session sub-identifier is permitted.
If a login is rejected, an appropriate Login Response message will be sent and the connection will be terminated.

2.3 Sequence Reset


A reset sequence operation is not available for Binary Order Entry. However, a Member can send a Login Request
message with NoUnspecifiedUnitReplay field enabled, and NumberOfUnits field set to zero. Then, upon receiving a
Login Response message from Cboe, the Member can use the field LastReceivedSequenceNumber as the
sequence starting point for sending future messages.

2.4 Heartbeats
Client Heartbeat messages are sent from Member to Cboe and Server Heartbeat messages are sent from
Cboe to Member if no other data has been sent in that direction for one second. Like other session level messages,
heartbeats from Cboe to the Member do not increment the sequence number. If Cboe receives no inbound data or
heartbeats for five seconds, a Logout message will be sent and the connection will be terminated. Members are
encouraged to have a one second heartbeat interval and to perform similar connection staleness logic.

2.5 Logging Out


To gracefully log out of a session, a Logout Request message should be sent by the Member. Cboe will finish
sending any queued data for that port and will then respond with its own Logout message and close the connection.
After receipt of a Logout Request message, Cboe will ignore all other inbound (Member to Cboe) messages except
for Client Heartbeat.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 21
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

3 Session Messages

3.1 Member to Cboe

3.1.1 Login Request


A Login Request message must be sent as the first message upon connection.
A number of repeating parameter groups, some of which may be required, are sent at the end of the message.
Ordering of parameter groups is not important. New parameter groups may be added in the future with no notice.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x37
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe)
messages.
SequenceNumber 6 4 Binary Always 0 for session level messages.
SessionSubID 10 4 Alphanumeric Session Sub ID supplied by Cboe.
Username 14 4 Alphanumeric Username supplied by Cboe.
Password 18 10 Alphanumeric Password supplied by Cboe.
NumberOfParam 28 1 Binary A number, n (possibly 0), of parameter groups to
Groups follow.
ParamGroup1 First parameter group.

ParamGroupn Last parameter group.

Unit Sequences Parameter Group


This parameter group includes the last consumed sequence number per matching unit received by the Member.
Cboe uses these sequence numbers to determine what outbound (Cboe to Member) traffic, if any, was missed by
the Member. If this parameter group is not sent, it's assumed the Member has not received any messages (e.g.,
start of day).
The Member does not need to include a sequence number for a unit if they have never received messages from it.
For example, if the Member has received responses from units 1, 3, and 4, the Login Request message need not
include unit 2. If the Member wishes to send a value for unit 2 anyway, 0 would be the only allowed value.
Only one instance of this parameter group may be included.

Field Offset Length Data Type Description


ParamGroupLength 0 2 Binary Number of bytes for the parameter group, including
this field.
ParamGroupType 2 1 Binary 0x80

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 22
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

NoUnspecified 3 1 Binary Flag indicating whether to replay missed outgoing


UnitReplay (Cboe to Member) messages for unspecified units.
0x00 = False (Replay Unspecified Units)
0x01 = True (Suppress Unspecified Units Replay)
NumberOfUnits 4 1 Binary A number, n (possibly 0), of unit/sequence pairs to
follow, one per unit from which the Member has
received messages.
UnitNumber 1 1 Binary A unit number.
UnitSequence1 4 Binary Last received sequence number for the unit.

UnitNumber n 1 Binary A unit number.
UnitSequencen 4 Binary Last received sequence number for the unit.

Return Bitfields Parameter Group


This parameter group, which may be repeated, indicates which attributes of a message will be returned by Cboe for
the remainder of the session. This allows Members to tailor the echoed results to the needs of their system without
paying for bandwidth or processing they do not need.
Listing of the return bitfields which are permitted per message is contained in ‘Section 7 – Return Bitfields per
Message’.

Field Offset Length Data Type Description


ParamGroupLength 0 2 Binary Number of bytes for the parameter group,
including this field.
ParamGroupType 2 1 Binary 0x81
MessageType 3 1 Binary Return message type for which the bitfields are
being specified (e.g., 0x25 for an Order
Acknowledgment message).
NumberOfReturn 4 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield1 5 1 Binary Bitfield identifying fields to return.

ReturnBitfieldn 1 Binary Last bit field.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 23
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Example Login Request Message:


Note this example is for illustrative purposes only. Actual login messages will contain specification of return bitfields
for a larger set messages and each return bitfield specification will be complete whereas the example below is only
an illustration for purposes of demonstrating the construction of the Login Request message.
Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 3D 00 61 bytes
MessageType 37 Login Request
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 00 00 00 00 Always 0 for session level messages
SessionSubID 30 30 30 31 0001
Username 54 45 53 54 TEST
Password 54 45 53 54 49 4E 47 00 00 00 TESTING
NumberOfParam 03 3 parameter groups
Groups
ParamGroupLength 0F 00 15 bytes for this parameter group
ParamGroupType 80 0x80 = Unit Sequences
NoUnspecified 01 True (replay only specified units)
UnitReplay
NumberOfUnits 02 Two unit/sequence pairs to follow;
UnitNumber1 01 Unit 1
UnitSequence1 4A BB 01 00 Last received sequence of 113,482
UnitNumber 2 02 Unit 2
UnitSequence2 00 00 00 00 Last received sequence of 0
ParamGroupLength 08 00 8 bytes for this parameter group
ParamGroupType 81 0x81 = Return Bitfields
MessageType 25 0x25 = Order Acknowledgment
NumberOfReturn 03 3 bitfields to follow
Bitfields
ReturnBitfield1 00 No bitfields from byte 1
ReturnBitfield2 41 Symbol, Capacity
ReturnBitfield3 05 Account, ClearingAccount
ParamGroupLength 0B 00 11 bytes for this parameter group
ParamGroupType 81 0x81 = Return Bitfields
MessageType 2C 0x2C = Order Execution
NumberOfReturn 06 6 bitfields to follow
Bitfields
ReturnBitfield1 00 No bitfields from byte 1
ReturnBitfield2 41 Symbol, Capacity
ReturnBitfield3 07 Account, ClearingFirm, ClearingAccount
ReturnBitfield4 00 No bitfields from byte 4
ReturnBitfield5 40 BaseLiquidityIndicator
ReturnBitfield6 00 No bitfields from byte 6

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 24
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

3.1.2 Logout Request


To end the session, the Member should send a Logout Request message. Cboe will finish sending any queued
data and finally respond with a Logout message and close the connection.
A Member may simply close the connection without logging out, but may lose any queued messages by doing so.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this field
but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x02
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary Always 0 for session level messages.

Example Logout Request Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 08 00 8 bytes
MessageType 02 Logout Request
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 00 00 00 00 Always 0 for session level messages

3.1.3 Client Heartbeat


See ‘Section 2.4 – Heartbeats’ for more information about heartbeats and the session level protocol.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this field
but not including the two bytes for the StartOfMessage
field.
MessageType 4 1 Binary 0x03
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary Always 0 for session level messages.

Example Client Heartbeat Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 08 00 8 bytes
MessageType 03 Client Heartbeat
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 00 00 00 00 Always 0 for session level messages

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 25
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

3.2 Cboe to Member

3.2.1 Login Response


A Login Response message is sent in response to a Login Request message. On a successful login, the
LoginResponseStatus will be set to ‘A’. On a failed login, LoginResponseStatus will be set to a value other than ‘A’,
and LoginResponseText will be set to an appropriate failure description. The length of the LoginResponse will vary
depending on acceptance or rejection of the LoginRequest and the parameter groups included on the LoginResponse.
Customers should be prepared to handle variable length LoginResponse messages.
Cboe will verify Return Bitfields at login time. If the Return Bitfields in a Return Bitfields Parameter Group are
invalid, LoginResponseStatus will be set to F, and LoginResponseText will include a description of which byte and bit
are invalid. This is done to ensure that reserved fields are not used, and only options that apply to the local market
are set. See ‘Section 6 – Return Bitfields Per Message’ for additional information.
Note that two sets of sequence numbers are available on the Login Response. The set of sequence numbers in
the body are the actual Cboe to Member sequence numbers indicating the highest sequence numbers available per
matching unit. If specified during login, the Unit Sequences Parameter Group will be returned as an echo of the
sequence numbers the Member presented during login as the highest received. If the sequence numbers are
different, the gap will be filled by Cboe during the replay. A subset of units can be provided in the Login Request;
however, all units will be provided in the Login Response.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x24
MatchingUnit 5 1 Binary Always 0 for session level messages.
SequenceNumber 6 4 Binary Always 0 for session level messages.
LoginResponseStatus 10 1 Alphanumeric Accepted, or the reason for the rejection.
A = Login Accepted
N = Not authorized (invalid username/password)
D = Session is disabled
B = Session in use
S = Invalid session
Q = Sequence ahead in Login message
I = Invalid unit given in Login message
F = Invalid return bit field in login message
M = Invalid Login Request message structure
LoginResponseText 11 60 Text Human-readable text with additional information
about the reason for rejection. ASCII NUL (0x00)
filled on the right, if necessary.
NoUnspecified 71 1 Binary Echoed back from the original Login Request
UnitReplay message.
LastReceived 72 4 Binary Last inbound (Member to Cboe) message
SequenceNumber sequence number processed by Cboe.
NumberOfUnits 76 1 Binary A number, n, of unit/sequence pairs to follow, one
per unit. A pair for every unit will be sent, even if
no messages have been sent to this port today. For
unsuccessful logins, this will be 0.
UnitNumber 1 1 Binary A unit number.
UnitSequence1 4 Binary Highest available Cboe to Member sequence
number for the unit.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 26
Cboe Options Exchanges
BOE Specification (Version 2.11.65)


UnitNumber n 1 Binary A unit number.
UnitSequencen 4 Binary Highest available Cboe to Member sequence
number for the unit.
NumberOfParam 1 Binary Echoed back from the original Login Request
Groups message.
ParamGroup1 Echoed back from the original Login Request
message.

ParamGroupn Echoed back from the original Login Request
message.

Example Login Response Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 88 00 136 bytes
MessageType 24 Login Response
MatchingUnit 00 Always 0 for session messages
SequenceNumber 00 00 00 00 Always 0 for session level messages
LoginResponseStatus 41 A = Login Accepted
LoginResponseText 41 63 63 65 70 74 65 64 00 00 Accepted
00 00 00 00 00 00 00 00 00 00 (padding)
00 00 00 00 00 00 00 00 00 00 (padding)
00 00 00 00 00 00 00 00 00 00 (padding)
00 00 00 00 00 00 00 00 00 00 (padding)
00 00 00 00 00 00 00 00 00 00 (padding)
NoUnspecified 01 True (replay only specified units)
UnitReplay
Last Received 54 4A 02 00 Last sequence Cboe received of 150,100
Sequence Number
NumberOfUnits 04 Four unit/sequence pairs to follow;
UnitNumber 1 01 Unit 1
UnitSequence1 4A BB 01 00 Actual last sequence of 113,482
UnitNumber 2 02 Unit 2
UnitSequence2 00 00 00 00 Actual last sequence of 0
UnitNumber 3 02 Unit 3
UnitSequence3 00 00 00 00 Actual last sequence of 0
UnitNumber 4 02 Unit 4
UnitSequence4 79 A1 00 00 Actual last sequence of 41,337
NumberOfParam 03 3 parameter groups
Groups
ParamGroupLength 14 00 20 bytes for this parameter group
ParamGroupType 80 0x80 = Unit Sequences
NoUnspecified 01 True (replay unspecified units)
UnitReplay
NumberOfUnits 03
Three unit/sequence pairs to follow;
UnitNumber 1 01 Unit 1
UnitSequence1 4A BB 01 00 Last received sequence of 113,482
UnitNumber 2 02 Unit 2
UnitSequence2 00 00 00 00 Last received sequence of 0

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 27
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

UnitNumber 3 04 Unit 4
UnitSequence3 79 A1 00 00 Last received sequence of 41,337
ParamGroupLength 08 00 8 bytes for this parameter group
ParamGroupType 81 0x81 = Return Bitfields
MessageType 25 0x25 = Order Acknowledgment
NumberOfReturn 03 3 bitfields to follow
Bitfields
ReturnBitfield1 00 No bitfields from byte 1
ReturnBitfield2 41 Symbol, Capacity
ReturnBitfield3 05 Account, ClearingAccount
ParamGroupLength 0C 00 12 bytes for this parameter group
ParamGroupType 81 0x81 = Return Bitfields
MessageType 2C 0x2C = Order Execution
NumberOfReturn 07 7 bitfields to follow
Bitfields
ReturnBitfield1 00 No bitfields from byte 1
ReturnBitfield2 41 Symbol, Capacity
ReturnBitfield3 07 Account, ClearingFirm, ClearingAccount
ReturnBitfield4 00 No bitfields from byte 4
ReturnBitfield5 40 BaseLiquidityIndicator
ReturnBitfield6 00 No bitfields from byte 6
ReturnBitfield7 01 SubLiquidityIndicator

3.2.2 Logout
A Logout is usually sent in response to a Logout Request. Any queued data is transmitted, a Logout is sent, and
Cboe will close the connection. However, a Logout may also be sent if the Member violates the protocol
specification (e.g., by moving backwards in sequence number).
A Logout message is also sent for any ports that are connected when the Cboe Options Exchanges shut down. The
shut down time for Cboe Options Exchanges is variable each day but is scheduled to occur at 17:30 ET. The message
is sent without first receiving a logout request from the Member. The message contains LogoutReason = ‘E’ for End
of Day.
The Logout contains the last transmitted sequence number for each unit, allowing the Member to check that their
last received sequence number matches.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x08
MatchingUnit 5 1 Binary Always 0 for session level messages.
SequenceNumber 6 4 Binary Always 0 for session level messages.
LogoutReason 10 1 Alphanumeric The reason why the Logout message was sent.
U = User Requested
E = End of Day
A = Administrative
! = Protocol Violation
LogoutReasonText 11 60 Text Human-readable text with additional information
about the reason for logout. Particularly useful if
LogoutReason = ! (Protocol Violation).
LastReceived 71 4 Binary Last inbound (Member to Cboe) message
SequenceNumber sequence number processed by Cboe.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 28
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

NumberOfUnits 75 1 Binary A number, n (possibly 0), of unit/sequence pairs to


follow, one per unit from which the client has
received messages.
UnitNumber 1 1 Binary A unit number.
UnitSequence1 4 Binary Highest available sequence number for the unit.

UnitNumber n 1 Binary A unit number.
UnitSequencen 4 Binary Highest available sequence number for the unit.

Example Logout Response Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 55 00 85 bytes
MessageType 08 Logout
MatchingUnit 00 Always 0 for session level messages
SequenceNumber 00 00 00 00 Always 0 for session level messages
LogoutReason 55 U = User Requested
LogoutReasonText 55 73 65 72 00 00 00 00 00 00 User
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
LastReceived 54 5A 02 00 Last Cboe received sequence of 150,100
SequenceNumber
NumberOfUnits 02 Two unit/sequence pairs to follow;
UnitNumber 1 01 Unit 1
UnitSequence1 4A BB 01 00 Last sent sequence of 113,482
UnitNumber 2 02 Unit 2
UnitSequence2 00 00 00 00 Last sent sequence of 0

3.2.3 Server Heartbeat


See ‘Section 2.4 – Heartbeats’ for more information about heartbeats and the session level protocol.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this field
but not including the two bytes for the StartOfMessage
field.
MessageType 4 1 Binary 0x09
MatchingUnit 5 1 Binary Always 0 for session level messages.
SequenceNumber 6 4 Binary Always 0 for session level messages.

Example Server Heartbeat Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 08 00 8 bytes
MessageType 09 Server Heartbeat

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 29
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

MatchingUnit 00 Always 0 for inbound messages


SequenceNumber 00 00 00 00 Always 0 for session level messages

3.2.4 Replay Complete


See ‘Section 2.2 – Login, Replay and Sequencing’ for more information on Login, sequencing and replay.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this field
but not including the two bytes for the StartOfMessage
field.
MessageType 4 1 Binary 0x13
MatchingUnit 5 1 Binary Always 0 for session level messages.
SequenceNumber 6 4 Binary Always 0 for session level messages.

Example Replay Complete Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 08 00 8 bytes
MessageType 13 Replay Complete
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 00 00 00 00 Always 0 for session level messages

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 30
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4 Application Messages

4.1 Member to Cboe

4.1.1 New Order


A New Order message consists of a number of required fields followed by a number of optional fields. The optional
fields used are specified by setting bits in the NewOrderBitfields. Fields must be appended at the end of the message,
starting with the lowest order enabled bit in the first bit field first.
Permitted input optional fields are described in ‘Section 5.1 – New Order’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x38
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
ClOrdID 10 20 Text Corresponds to ClOrdID (11) in Cboe FIX.
ID chosen by the client. Characters in the ASCII
range 33-126 are allowed, except for comma,
semicolon, pipe, the ‘at’ symbol (@) and double
quotes.
If the ClOrdID matches a live order, the order will
be rejected as duplicate.
Note: Cboe only enforces uniqueness of ClOrdID
values among currently live orders, which includes
long-lived, persisting GTC/GTD orders. However,
we strongly recommend that you keep your
ClOrdID values unique.
Side 30 1 Alphanumeric Corresponds to Side (54) in Cboe FIX.
1 = Buy
2 = Sell
OrderQty 31 4 Binary Corresponds to OrderQty (38) in Cboe FIX.
Order quantity. System limit is 999,999 contracts.
NumberOf 35 1 Binary Bitfield identifying which bitfields are set. Field
NewOrder values must be appended to the end of the
Bitfields message.
NewOrderBitfield¹ 36 1 Binary Bitfield identifying fields to follow.
….
NewOrderBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 31
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Required Order Attributes:


The following are required to be sent on new orders:
• Some form of symbology (see Symbology below);
• Price (limit orders) or Price and/or OrdType (limit or market orders. Note market and stop/stop limit orders
are not supported during GTH or Curb sessions); and,
• Capacity;
All price fields (Price, StopPx) must be entered as non-negative values.
All other values have defaults. See the table in List of Options Fields for additional information about each
optional field, including its default value.
Symbology:
For additional information, refer to the Cboe US Equity and Options Symbology Reference.

Example New Order Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 59 00 89 bytes
MessageType 38 New Order
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
Side 31 Buy
OrderQty 64 00 00 00 100 contracts
NumberOfNewOrder Bitfields 04 Four bitfields to follow
NewOrderBitfield1 04 Price
NewOrderBitfield2 C1 Symbol, Capacity, RoutingInst
NewOrderBitfield3 01 Account
NewOrderBitfield4 17 MaturityDate, StrikePrice, PutOrCall,
OpenClose
Price 70 17 00 00 00 00 00 00 0.60
Symbol 4D 53 46 54 00 00 00 00 MSFT
Capacity 43 C = Customer
RoutingInst 52 00 00 00 R = Routable
Account 44 45 46 47 00 00 00 00 00 00 DEFG
00 00 00 00 00 00
MaturityDate EF DB 32 01 2011-03-19
StrikePrice 98 AB 02 00 00 00 00 00 17.50
PutOrCall 31 1 = Call
OpenClose 4F O = Open

4.1.2 New Order Cross (C1 and EDGX Only)


A New Order Cross message contains the details for both the agency (initiating) and contra side(s) of a
cross order (such as an AIM order). The message consists of a number of required fields including Symbol, Price,
OrderQty, and relevant clearing information for all parties, as well as a number of optional fields.
The first order in the list is the agency order, while the rest are contra side responses. There is a maximum of ten
(10) contra-parties that can be supplied with the order, for a total of eleven (11) repeating groups, as described
below.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 32
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

In each repeating group, the Side, AllocQty, ClOrdID, Capacity, OpenClose, and ClearingFirm are always required.
Beyond that, the bits in the NewOrderCrossBitfields control which fields are expected. Any fields that are specified
in NewOrderCrossBitfields that appear in the repeating groups should not be supplied in the optional fields that
come after the repeating groups.

Permitted input optional fields are described in ‘Section 5.2 – New Order Cross’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x41
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
CrossID 10 20 Text Corresponds to CrossID (548) in Cboe FIX.
Day-unique identifier for the cross order chosen
by the client. Characters in the ASCII range 33-
126 are allowed, except for comma, semicolon,
pipe, , the ‘at’ symbol and double quotes.
CrossType 30 1 Alphanumeric Corresponds to CrossType (549) in Cboe FIX.
Type of auction order being submitted. This
indicates the type of auction that will be initiated
upon order entry.
1 = Automated Improvement Mechanism
(“AIM”)
2 = Qualified Contingent Cross (“QCC”)
3 = Solicitation Cross (“SAM”)
4 = Position Compression Cross (“PCC”) (C1 Only)
CrossPrioritization 31 1 Alphanumeric Corresponds to CrossPrioritization (550) in Cboe
FIX.
Indicates which side of the cross order will be pri-
oritized for execution. This identifies the Agency
side.
1 = Buy
2 = Sell
Price 32 8 Binary Price Corresponds to Price (44) in Cboe FIX.
Auction Price. Must be non-negative.
OrderQty 40 4 Binary Corresponds to OrderQty (38) in Cboe FIX.
Order quantity. System limit is 999,999 contracts.
NumberOf 44 1 Binary Bitfield identifying which bitfields are set
NewOrderCross
Bitfields
NewOrderCross 45 1 Binary Bitfield identifying fields to follow.
Bitfield¹
….
NewOrderCross 1 Binary Last bitfield.
Bitfieldᶯ
GroupCnt 2 Binary Number of order allocations represented by re-
peating groups included in this cross order. Must
be at least 2 (One agency and one contra), and
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 33
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

no more than 11.


Repeating Groups
of…
Side 1 Alphanumeric Corresponds to Side (54) in Cboe FIX.
1 = Buy
2 = Sell
AllocQty 4 Binary Corresponds to AllocQty (80) in Cboe FIX.
Number of contracts for this party.
ClOrdID 20 Text Corresponds to ClOrdID (11) in Cboe FIX.
Day-unique ID chosen by the client. Characters in
the ASCII range 33-126 are allowed, except for
comma, semicolon, pipe, the ‘at’ symbol and
double quotes.
If the ClOrdID matches a live order, the order will
be rejected as duplicate.
Note: Cboe only enforces uniqueness of
ClOrdID values among currently live orders.
However, we strongly recommend that you keep
your ClOrdID values day-unique.
Capacity 1 Alpha Corresponds to OrderCapacity (47) in Cboe FIX.
C = Customer
M = Market Maker
F = Firm
U = Professional Customer
N = AwayMarket Maker
B = Broker-Dealer
J = Joint Back Office
OpenClose 1 Alphanumeric Corresponds to OpenClose (77) in Cboe FIX.
Indicates status of client position in the option leg.
O = Open
C = Close
N = None*

*Option legs with Capacity = ‘M’ or ‘N’ will not be


required to specify OpenClose on their legs or may
optionally specify a value of ‘N’, unless the series is
limited to closing only.
If the leg is limited to closing only transactions,
only Capacity = ‘M’ will be permitted to submit
OpenClose = ‘O’ if the order has TimeInForce = ‘3’
(IOC) and RoutingInst = ‘B’, or the order has a
RoutingInst = ‘P’.
An Open position cannot trade with an Open
position for series limited to Closing Only
transactions, even if the inbound IOC from the
aggressing market maker is sent with that
combination of tags.
GiveUpFirmID 4 Alpha Corresponds to GiveUpFirmID (9946) in Cboe
FIX. EFID that will clear the trade.
Account 16 Text See List of Optional Fields.
(Optional)
CMTANumber 4 Binary See List of Optional Fields.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 34
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

(Optional)
ClearingAccount 4 Text See List of Optional Fields.
(Optional)
ClearingOptional 16 Text See List of Optional Fields.
Data(Optional)
FrequentTraderID 6 Text See List of Optional Fields.
(Optional)
Optional fields. . . Optional fields as set in the bitmap. Note, optional
fields that occur in the repeating groups appear
above, repeating per group, not within this block.

Required Order Attributes:


• Some form of symbology (see Symbology below)
• Agency order’s Side must match the cross order’s CrossPrioritization
• Each contra-party allocation must have the opposite Side
• Each side’s cumulative AllocQty must equal the cross order’s OrderQty
Symbology:
For additional information, refer to the Cboe US Equity and Options Symbology Reference.

Example New Order Cross Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength B0 00 176 bytes
MessageType 41 New Order Cross
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
CrossID 4E 5A 31 56 37 42 4A 5F 41 63 NZ1V7BJ_AcceptBuy
63 65 70 74 42 75 79 00 00 00
CrossType 31 1 = AIM Order
CrossPrioritization 31 1 = Agency Buy
Price 20 4E 00 00 00 00 00 00 $2.00
OrderQty 64 00 00 00 100 contracts
NumberOfNewOrderCross 02 Two bitfields to follow
Bitfields
NewOrderCrossBitfield1 41 Symbol, TargetPartyID
NewOrderCrossBitfield2 30 CMTANumber, ClearingAccount
GroupCnt 03 00 Three repeating groups to follow
Side 31 1 = Buy
AllocQty 64 00 00 00 100 contracts
ClOrdID 51 4C 37 53 5A 37 43 5F 61 67 QL7SZ7C_agency
65 6E 63 79 00 00 00 00 00 00
Capacity 43 C = Customer
OpenClose 43 C = Close
GiveUpFirmID 44 45 46 47 DEFG
CMTANumber 00 00 00 00 No CMTANumber for this order
ClearingAccount 00 00 00 00 No ClearingAccount for this order
Side 32 2 = Sell
AllocQty 28 00 00 00 40 contracts
ClOrdID 51 4C 39 4B 38 55 56 5F 63 6F QL9K8UV_contra1
6E 74 72 61 31 00 00 00 00 00

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 35
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Capacity 46 F = Firm
OpenClose 4F O = Open
GiveUpFirmID 41 42 43 44 ABCD
CMTANumber 27 02 00 00 551
ClearingAccount 57 58 59 5A WXYZ
Side 32 2 = Sell
AllocQty 3C 00 00 00 60 contracts
ClOrdID 51 4C 39 54 35 59 44 5F 63 6F QL9T5YD_contra2
6E 74 72 61 32 00 00 00 00 00
Capacity 46 F = Firm
OpenClose 4F O = Open
GiveUpFirmID 41 42 43 44 ABCD
CMTANumber 7B 00 00 00 123
ClearingAccount 57 58 59 5A WXYZ
Symbol 30 30 51 30 6B 41 00 00 00Q0kA
Target Party ID 43 44 45 46 CDEF

4.1.3 New Complex Order (C1, EDGX, and C2 Only)


A New Complex Order message contains the details required to enter an order on a complex instrument
created with previously entered New Complex Instrument request. The message is similar to a New
Order with an additional repeating group of the positions for each leg. The positions must be in the order
returned by the system in the Complex Instrument Accepted response message, not the order supplied in
the New Complex Instrument request. Complex orders in cross product spreads (ie SPX/SPXW, IWM/RUT,
DIA/DJX, VIX/VXX, MNX/NDX) where the products do not operate on the same matching unit cannot leg into the
simple book.

Permitted input optional fields are described in ‘Section 5.3 – New Complex Order’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x4B
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
ClOrdID 10 20 Text Corresponds to ClOrdID (11) in Cboe FIX.
ID chosen by the client. Characters in the ASCII
range 33-126 are allowed, except for comma,
semicolon, and pipe.
If the ClOrdID matches a live order, the order will
be rejected as duplicate.
Note: Cboe only enforces uniqueness of ClOrdID
values among currently live orders, which includes
long-lived, persisting GTC/GTD orders. However,
we strongly recommend that you keep your
ClOrdID values unique.
Side 30 1 Alphanumeric Corresponds to Side (54) in Cboe FIX.
1 = Buy
2 = Sell

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 36
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

OrderQty 31 4 Binary Corresponds to OrderQty (38) in Cboe FIX.


Order quantity. System limit is 999,999 contracts.
NumberOf 35 1 Binary Bitfield identifying which bitfields are set. Field
NewComplexOrder values must be appended to the end of the
Bitfields message.
NewComplexOrder 36 1 Binary Bitfield identifying fields to follow.
Bitfield¹
….
NewComplexOrder 1 Binary Last bitfield.
Bitfieldᶯ
NoLegs 1 Binary Corresponds to NoLegs (555) in Cboe FIX.
Indicates the number of repeating groups to fol-
low.
Must be a minimum of 2 and a maximum of 16.
Repeating Group ComplexLegOrderInfo must occur the number of times specified in NoLegs. Each field occurs
in each group, in order as shown below. Optional fields occur only if corresponding bits in bitfields are set.

LegPositionEffect 1 Alphanumeric Corresponds to LegPositionEffect (564) in Cboe FIX.


Indicates status of client position in option for
this leg.
O = Open
C = Close
N = None*
*Only Orders with an OrderCapacity of ‘M’ or ‘N’ will
be allowed to specify ‘N’ for LegPositionEffect.
If the leg is limited to closing only transactions, only
Capacity = ‘M’ will be permitted to submit OpenClose
= ‘O’ if the order has TimeInForce = ‘3’ (IOC) and
RoutingInst = ‘B’.
.
Optional fields… Optional fields as set in the bitmap. Note, optional
fields that occur in the repeating groups appear
above, repeating per group, not within this block.

Required Order Attributes:


The following are required to be sent:
• Symbol
• Price only (limit orders) or Price and/or OrdType (limit or market orders. Note market and stop/stop limit
orders are not supported during GTH or Curb sessions); and,
• Capacity
• LegPositionEffect
All other values have defaults. See the table in List of Options Fields for additional information about each
optional field, including its default value.
See the Cboe US Equities and Options Symbology Reference for information on symbology.

Example New Complex Order Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 4D 00 77 bytes

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 37
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

MessageType 4B New Complex Order


MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
Side 31 Buy
OrderQty 64 00 00 00 100 contracts
NumberOfNewOrder Bitfields 02 Two bitfields to follow
NewOrderBitfield1 E4 Price, Symbol, Capacity, RoutingInst
NewOrderBitfield2 01 Account
NoLegs 03 Three legs
LegPositionEffect 4F O = Open
LegPositionEffect 4F O = Open
LegPositionEffect 4F O = Open
Price 38 FF FF FF FF FF FF FF -0.02
Symbol 30 30 30 30 43 31 00 00 0000C1
Capacity 43 C = Customer
RoutingInst 42 00 00 00 B = Book only, COA eligible
Account 44 45 46 47 00 00 00 00 00 00 DEFG
00 00 00 00 00 00

4.1.4 New Order Cross Multileg (C1 and EDGX Only)


A New Order Cross Multileg message contains the details for both the agency (initiating) and contra side(s) of
a cross order (such as an AIM order). The two-sided order consists of a number of required fields including Symbol,
Price, OrderQty, and relevant clearing information for both the agency and contra sides, as well as a number of
optional fields. A maximum of ten (10) contra-parties will be accepted per order.
Cross Order Acknowledgement, Cross Order Rejected, and Cross Order Cancelled message types will be
used by the Exchange to respond to New Order Cross Multileg messages.
Permitted input optional fields are described in ‘Section 5.4 – New Order Cross Multileg’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including
this field but not including the two bytes for
the StartOfMessage field.
MessageType 4 1 Binary 0x5A
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe)
messages.
SequenceNumber 6 4 Binary The sequence number for this message.
CrossID 10 20 Text Corresponds to CrossID (548) in Cboe FIX.
Day-unique identifier for the cross order
chosen by the client. Characters in the ASCII
range 33-126 are allowed, except for comma,
semicolon, pipe, the ‘at’ symbol and double
quotes will not be allowed.
CrossType 30 1 Alphanumeric Corresponds to CrossType (549) in Cboe FIX.
Type of auction order being submitted. This
indicates the type of auction that will be
initiated upon order entry.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 38
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

1 = Automated Improvement Mechanism


(“AIM”)
2 = Qualified Contingent Cross (“QCC”)
3 = Solicitation Cross (“SAM”)
4 = Position Compression Cross (“PCC”) 1
(C1 Only)
5 = Related Futures Cross (“RFC”) (C1 Only)
1
Entry of SPX versus SPXW as a complex spread is not
supported for PCC.
CrossPrioritization 31 1 Alphanumeric Corresponds to CrossPrioritization (550) in
Cboe FIX.

Indicates which side of the cross multileg order


will be prioritized for execution. This identifies
the Agency side.
1 = Buy
2 = Sell
Price 32 8 Binary Price Corresponds to Price (44) in Cboe FIX.
Auction Price.
OrderQty 40 4 Binary Corresponds to OrderQty (38) in Cboe FIX.
Order quantity. System limit is 999,999
contracts.
NumberOf 44 1 Bit Field Bitfield identifying which bitfields are set.
NewOrderCrossMultileg
Bitfields
NewOrderCrossMultileg 45 1 Bit Field Bitfield identifying fields to follow.
Bitfield¹
….
NewOrderCrossMultileg 1 Bit Field Last bitfield.
Bitfieldᶯ
GroupCnt 2 Binary Number of order allocations represented by
repeating groups included in this cross order.
Must be at least 2 (One agency and one
contra), and no more than 11.
Repeating Groups
of…
Side 1 Alphanumeric Corresponds to Side (54) in Cboe FIX.
1 = Buy
2 = Sell
AllocQty 4 Binary Corresponds to AllocQty (80) in Cboe FIX.
Number of contracts for this party.
ClOrdID 20 Text Corresponds to ClOrdID (11) in Cboe FIX.
Day-unique ID chosen by the client. Characters
in the ASCII range 33-126 are allowed, except
for comma, semicolon, pipe, the ‘at’ symbol
and double quotes.
If the ClOrdID matches a live order, the order
will be rejected as duplicate.
Note: Cboe only enforces uniqueness of

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 39
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

ClOrdID values among currently live orders.


However, we strongly recommend that you
keep your ClOrdID values day-unique.
Capacity 1 Alpha Corresponds to OrderCapacity (47) in Cboe FIX.
C = Customer
M = Market Maker
F = Firm
U = Professional Customer
N = Away Market Maker
B = Broker-Dealer
J = Joint Back Office
L = Non-Trading Permit Holder Affiliate
GiveUpFirmID 4 Alpha Corresponds to GiveUpFirmID (9946) in Cboe
FIX. EFID that will clear the trade.
LegPositionEffects 12 Alpha Indicates status of the client position in the
option for each complex option leg. This value
String of characters ‘O’, ‘C’, and ‘N’, equal in
length to the number of option legs of the
instrument. If an equity leg is present it will
always be the last leg, and the position effect
must be set to ‘N’.
This field can be used for complex instruments
with up to 12 legs. For more than 12 legs fill
this field with spaces (0x20) and use the
optional LegPositionEffectsExt field.
O = Open
C = Close
N = None*
*Orders with Capacity = ‘M’ or ‘N’ will not be
required to specify a position effect on their
orders or may specify a value of ‘N’. A <blank>
will be sent to OCC.
If the leg is limited to closing only transactions,
only Capacity = ‘M’ will be permitted to submit
OpenClose = ‘O’ if the order has TimeInForce =
‘3’ (IOC) and RoutingInst = ‘B’.
Account 16 Text See List of Optional Fields.
(Optional)
CMTANumber 4 Binary See List of Optional Fields.
(Optional)
ClearingAccount 4 Text See List of Optional Fields.
(Optional)
ClearingOptionalData 16 Text See List of Optional Fields.
(Optional)
EquityPartyId 4 Alpha See List of Optional Fields.
(Optional)
EquityLegShortSell 1 Alpha See List of Optional Fields.
(Optional)
FrequentTraderID 6 Text See List of Optional Fields.
(Optional)
LegPositionEffectsExt 16 Alpha See List of Optional Fields.
(Optional)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 40
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Optional fields. . . Optional fields as set in the bitmap. Note,


optional fields that occur in the repeating
groups appear above, repeating per group, not
within this block.

Required Order Attributes:


• Some form of symbology (see Symbology below)
• Agency order’s Side must match the cross order’s CrossPrioritization
• Each contra-party allocation must have the opposite Side
• Each side’s cumulative AllocQty must equal the cross order’s OrderQty

Example New Order Cross Multileg Message:

Field Name Hexadecimal Notes


StartOfMessage BA BA Start of message bytes.
MessageLength 15 01 277 bytes
MessageType 5A New Order Cross Multileg
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
CrossID 4E 5A 31 56 37 42 4A 5F 41 63 NZ1V7BJ_AcceptBuy
63 65 70 74 42 75 79 00 00 00
CrossType 31 1 = AIM Order
CrossPrioritization 31 1 = Agency Buy
Price A8 61 00 00 00 00 00 00 $2.50
OrderQty 64 00 00 00 100 contracts
NumberOfNewOrderCross 05 Five bitfields to follow
Multileg Bitfields
NewOrderCrossMultilegBitfield1 61 Symbol,
TargetPartyID,AttributedQuote
NewOrderCrossMultilegBitfield2 30 CMTANumber, ClearingAccount
NewOrderCrossMultilegBitfield3 01 ClientID
NewOrderCrossMultilegBitfield4 00 No bitfields from byte 4
NewOrderCrossMultilegBitfield5 04 LegPositionEffectsExt
GroupCnt 03 00 Three repeating groups to follow
Side 31 1 = Buy
AllocQty 64 00 00 00 100 contracts
ClOrdID 51 4C 37 53 5A 37 43 5F 61 67 QL7SZ7C_agency
65 6E 63 79 00 00 00 00 00 00
Capacity 43 C = Customer
GiveUpFirmID 44 45 46 47 DEFG
LegPositionEffects 20 20 20 20 20 20 20 20 20 20 Not used when there are more than
20 20 12 legs
CMTANumber 00 00 00 00 No CMTANumber for this order
ClearingAccount 00 00 00 00 No ClearingAccount for this order
LegPositionEffectsExt 43 4F 43 4F 43 4F 43 4F 43 4F COCOCOCOCOCOCOCO – Instrument
43 4F 43 4F 43 4F has 16 legs, alternating Close and
Open legs
Side 32 2 = Sell

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 41
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

AllocQty 28 00 00 00 40 contracts
ClOrdID 51 4C 39 4B 38 55 56 5F 63 6F QL9K8UV_contra1
6E 74 72 61 31 00 00 00 00 00
Capacity 46 F = Firm
GiveUpFirmID 41 42 43 44 ABCD
LegPositionEffects 20 20 20 20 20 20 20 20 20 20 Not used when there are more than
20 20 12 legs
CMTANumber 27 02 00 00 551
ClearingAccount 57 58 59 5A WXYZ
LegPositionEffectsExt 4F 4F 4F 4F 4F 4F 4F 4F 4F 4F OOOOOOOOOOOOOOOO -
4F 4F 4F 4F 4F 4F Instrument has 16 legs, Open on all
legs
Side 32 2 = Sell
AllocQty 3C 00 00 00 60 contracts
ClOrdID 51 4C 39 54 35 59 44 5F 63 6F QL9T5YD_contra2
6E 74 72 61 32 00 00 00 00 00
Capacity 46 F = Firm
GiveUpFirmID 41 42 43 44 ABCD
LegPositionEffects 20 20 20 20 20 20 20 20 20 20 Not used when there are more than
20 20 12 legs
CMTANumber 7B 00 00 00 123
ClearingAccount 57 58 59 5A WXYZ
LegPositionEffectsExt 43 43 43 43 43 43 43 43 43 43 CCCCCCCCCCCCCCCC - Instrument has
43 43 43 43 43 43 16 legs, Clsoe on all legs
Symbol 30 30 51 30 6B 41 00 00 00Q0kA
Target Party ID 43 44 45 46 CDEF
AttributedQuote 5A Z = Attribute EFID and Client ID
ClientID 52 32 44 32 R2D2

4.1.5 Cancel Order


Request to cancel either a single order or mass cancellation of a group of orders. Note that this does not apply to
open orders across multiple sessions.
A single order cancellation references the ClOrdID from a previous order (OrigClOrdID field). An Order Cancel
Request message cannot be used to cancel a single quote, referencing a previous OrderID from a quote will be
rejected.
Cancel Order messages for GTC and GTD orders may continue to be issued anytime after the trading session ends.
All other order message types received after the market closes will be rejected. See ‘Cancellation of Carried Orders
Between Trading Sessions’ for more details on when orders are allowed to be cancelled following the close of
trading.
Mass cancellation of a group of orders can be done with the MassCancelInst optional field.
• Specify the MassCancelInst optional field
• Specify the ClearingFirm field, optionally the RiskRoot field, and optionally MassCancelId if the
Acknowledgement Style is set to S or B.
• Risk lockout is optionally specified using the MassCancelInst field.
• EFID values specified in OnBehalfOfCompId that are not allowed to clear for the firm will be rejected.
When specifying the RiskRoot field, using the underlying symbol is strongly recommended. Mass cancellations are
always performed at the risk root (underlying) level.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 42
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

The system limits the rate at which identical Mass Cancel requests can be submitted to the system. Requests are
restricted to ten (10) messages per second per port.
An identical Mass Cancel message is defined as a message having all of the same CustomGroupID, Symbol, Clearing
Firm, Lockout Instruction, Instrument Type Filter and GTC Order Filter field values, as a previously received message.
All Members that send mass cancellations must include the SendTime field. This is required to ensure that a valid
cancellation send time is captured and reported to the CAT.
Permitted input optional fields are described in ‘Section 5.5 – Cancel Order’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this field
but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x39
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
OrigClOrdID 10 20 Text Corresponds to OrigClOrdID (41) in Cboe FIX. ClOrdID
of the order to cancel. For mass cancel requests,
must be empty (all zeroes).
NumberOf 30 1 Binary Bitfield identifying bitfields which are set. May be 0.
CancelOrder Field values must be appended to the end of the
Bitfields message.
CancelOrder 31 1 Binary Bitfield identifying fields to follow. Only present if
Bitfield¹ NumberOfCancelOrderBitfields is non-zero.

CancelOrder 1 Binary Last bitfield.
Bitfieldᶯ
Optional fields. . .

Example Cancel Order Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 2A 00 42 bytes
MessageType 39 Cancel Order
MatchingUnit 0 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence Number 100
OrigClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
NumberOfCancel 02 Two bitfields to follow
OrderBitfields
CancelOrderBitfield1 01 ClearingFirm
CancelOrderBitfield2 08 SendTime
ClearingFirm 54 45 53 54 TEST
SendTime E0 7A B9 DA 13 3B 42 16 1,603,909,373,757,324,000 = Wed, Oct
28, 2020 at 14:22:53.757324 ET.

Example Mass Cancel Order Message:


Field Name Hexadecimal Notes

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 43
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

StartOfMessage BA BA Start of message bytes.


MessageLength 54 00 84 bytes
MessageType 39 Cancel Order
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence Number 100
OrigClOrdID 00 00 00 00 00 00 00 00 00 00 (empty)
00 00 00 00 00 00 00 00 00 00
NumberOfCancel 02 Two bitfields to follow
OrderBitfields
CancelOrderBitfield1 19 ClearingFirm, RiskRoot,
MassCancelId
CancelOrderBitfield2 09 MassCancelInst, SendTime
ClearingFirm 54 45 53 54 TEST
RiskRoot 4D 53 46 54 00 00 MSFT
MassCancelId 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
MassCancelInst 46 53 4C 42 00 00 00 00 00 00 F = Cancel orders matching
00 00 00 00 00 00 clearing firm TEST
S = Single ack
L = Lockout symbol MSFT
B = Cancel simple and complex
SendTime E0 7A B9 DA 13 3B 42 16 1,603,909,373,757,324,000 =
Wed, Oct 28, 2020 at
14:22:53.757324 ET.

4.1.6 Modify Order


Request to modify an order. The order attributes to be modified are selected using NumberOfModifyBitfields and
some number of bitfields to follow. Price, OrderQty, OrdType, MaxFloor (BZX, C1, and C2 only), and StopPx may be
adjusted. OrdType may be adjusted from Limit to Market (market and stop/stop limit orders are not supported
during GTH or Curb sessions).
• Time priority will be maintained on an order modification in the following cases:
o A decrease in OrderQty with no other changes
o An update to StopPx on an unelected stop order with no other changes
o An update to MaxFloor with no other changes
• An order modification combining two or more of the specific items above will not lose priority.
• An order modification involving one of the items above and changes to any other attribute will lose
priority.
• An order modification with no change to any attribute will lose priority.
Changes in OrderQty result in an adjustment of the current order's OrderQty. The new OrderQty does not directly
replace the current order's LeavesQty. Rather, a delta is computed from the current OrderQty and the replacement
OrderQty. This delta is then applied to the current LeavesQty. If the resulting LeavesQty is less than or equal to zero,
the order is cancelled. This results in safer behavior when the modification request overlaps partial fills for the
current order, leaving the Member in total control of the share exposure of the order.
A Modify Order should not be issued until the Order Acknowledgement for the previous New Order or
Order Modified message for the previous Modify Order has been received. The BOE handler will reject a new
Modify Order if it has not been accepted or it has not seen the result of the prior modification from the Matching
Engine. However, Modify Order requests that merely reduce OrderQty may be overlapped if the existing ClOrdID
is reused, as long as the trading identifier has not been opted-in to daily limit trading risk controls. This is the only
case where reuse of the ClOrdID is allowed.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 44
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

The OrderQty and Price fields in the optional field block must be present on all Modify Order requests. Messages
sent without OrderQty or Price fields will be rejected. Price is optional for market orders.
A maximum of 1,295 Modify Order requests may be made to a single order each trading day. Once the 1,295 th
modification is made, the next user-generated message on the order should be a Cancel Order request.
Permitted input optional fields are described in ‘Section 5.6 – Modify Order’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x3A
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
ClOrdID 10 20 Text New ClOrdID for this order.
OrigClOrdID 30 20 Text Corresponds to OrigClOrdID (41) in Cboe FIX.
ClOrdID of the order to replace.
In the case of multiple changes to a single order,
this will be the ClOrdID of the most recently
accepted change.
NumberOf 50 1 Binary Bitfield identifying bitfields which are set. May be
ModifyOrder 0. Field values must be appended to the end of the
Bitfields message.
ModifyOrder Bitfield1 51 1 Binary Bitfield identifying fields to follow.

ModifyOrder Bitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example Modify Order Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 3E 00 82 bytes
MessageType 3A Modify Order
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence Number 100
ClOrdID 41 42 43 31 32 34 00 00 00 00 ABC124
00 00 00 00 00 00 00 00 00 00

OrigClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
NumberOfModify 01 One bitfield to follow
OrderBitfields
ModifyOrderBitfield1 0C OrderQty, Price
OrderQty 64 00 00 00 100 contracts
Price 08 E2 01 00 00 00 00 00 12.34

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 45
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4.1.7 Quote Update


Request to enter or update one or more quotes. Quote Update requests will be forwarded in their entirety to the
matching engine instance as a single message and will be applied in a single transaction. Optional bitfields are not
supported for any response messages for quotes. The system will only accept Quote Update requests entered via a
BOE Bulk Quoting port that are marked with the Capacity value = ‘M’ (Market Maker). A valid registered Market-
Maker account value must be provided in the ClearingAccount field or the system will respond with the
QuoteUpdateRejected message containing the QuoteRejectReason value of 'C = InvalidClearing'.
All options in a single Quote Update must trade under a single risk root. Requests which include options trading
under multiple risk roots will be rejected in their entirety.
A quote is unique per port, EFID, and side. You may quote multiple price levels of depth using either multiple EFIDs
on a single port or with the same EFID on multiple ports.
Quote requests are one-sided. To delete a quote, send an update with a zero price and/or size.
Quotes may utilize simple options only; complex options quotes may not be submitted.
By default quotes are valid for a given trading date, which may span multiple calendar dates in the event of a holiday.
Quotes may be cancelled at the end of a given trading segment rather than carried forward to the next segment by
updating the Multi-Segment Holiday Day Order Handling Port attribute.
Quotes may be marked post only. Quotes that cross the NBBO or displayed Cboe book will be accepted if within a
configurable buffer range through the NBBO or displayed Cboe book. The buffer is set to 5% with a minimum of
$0.05 and a maximum of $1.00. If a quote would be displayed at a price that locks the NBBO, it will be accepted/slid
or rejected based on the PostingInstruction on the quote. Quotes can be opted out of the price-sliding functionality
by specifying Book Only, No Slide or Post Only, No Slide in the PostingInstruction field on the quote message.
On BZX Options only, quote prices at non-displayable increments are permitted. Prices will be adjusted to the most
aggressive non-locking price. Quotes may work (but not display) to lock an away market. Once posted, quotes act as
a Display Price Sliding order. C2 and EDGX quotes act as Price Adjust orders.
If a quote modification is rejected, the resting quote being modified is also cancelled.
Executions, unsolicited cancels, and unsolicited modification response messages from the exchange are different
from those for orders. They are optimized for efficiency and contain some different data elements (e.g.,
QuoteUpdateID) than the respective messages for orders.
The PreventMatch field may not be specified on the Quote Update message and Match Trade Prevention is only
available if defaulted at the port level. For Bulk Quoting ports, only Cancel Newest, Cancel Oldest, or Cancel Both are
permitted. If a Bulk Quoting port is not configured with both a default MTP Modifier and Unique ID Level, Match
Trade Prevention will be disabled.
Capacity may not be changed when modifying a quote. To change Capacity of a resting quote, you must first send a
quote with zero price and size and then re-enter the quote with the desired Capacity.
The Quote Execution message will be the only Quote related message available over ODROP and FIXDROP.
Quote Update requests sent without any changes to the currently resting quote (“no change quotes”) will result in
a loss of priority and will be reported back with a QuoteResult value of ‘L’ (Modified; loss of priority) in the Quote
Update Acknowledgement message.
• Time priority will be maintained on a quote modification if there is a decrease in OrderQty with no other
changes.
• A quote modification decreasing size and changes to any other attribute will lose priority.
• A quote modification with no change to any attribute will lose priority.
Field Offset Length Data Type Description
StartOfMessage 0 2 Binary Must be 0xBA 0xBA.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 46
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

MessageLength 2 2 Binary Number of bytes for the message, including this


field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x55
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
QuoteUpdateID 10 16 Text ID chosen by the client. Characters in the ASCII
range 33-126 are allowed, except for comma,
semicolon, pipe, the ‘at’ symbol and double
quotes.
Responses, both to the Quote Update and any
Quote Executions, Quote Cancellations, and Quote
Modification messages will include this identifier.
Note: Cboe strongly recommends that
QuoteUpdateID be kept unique for a trading day,
and CAT reporting requirements mandate that
QuoteUpdateID is unique for each Quote Update
message sent to the Exchange.
ClearingFirm 26 4 Alpha EFID that will clear the trade. If left blank, the port
attribute value of ‘Default EFID’ is used.
ClearingAccount 30 4 Alpha Corresponds to OnBehalfOfSubID (116) and
ClearingAccount (440) in Cboe FIX.
See List of Optional Fields for additional
information.
CMTANumber 34 4 Binary Corresponds to ClearingFirm (439) in Cboe FIX.
See List of Optional Fields for additional
information.
Account 38 16 Text Corresponds to Account (1) in Cboe FIX.
See List of Optional Fields for additional
information.
CustomGroupID 54 2 Binary Optional. Used to group orders for use in Purge
Orders. Set to 0 if functionality not needed.
Capacity 56 1 Alpha Corresponds to OrderCapacity (47) in Cboe FIX.
See List of Optional Fields for additional
information.
Reserved 57 15 Binary Reserved for future expansion. To maintain
forward compatibility, fill with 0.
SendTime 72 8 DateTime All Market Maker (Capacity=M) quote updates
must populate with a timestamp representing the
GMT time when the quote was sent by the Market
Maker to the exchange. This timestamp is required
to be at least in millisecond granularity but the
CAT NMS Plan requires that Industry Members
report the SendTime with the finest increment that
is supported by the Industry Member. The
SendTime is required in order to report Market
Maker quotes to the CAT in accordance with the
CAT NMS Plan.
Market Makers are required to provide a valid,
non-zero value for this field for any Quote
Update messages entered via a BOE Bulk Quoting
port. A zero value for SendTime will result in a
rejection of the entire Quote Update.
PostingInstruction 80 1 Text P = Post Only (do not remove liquidity)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 47
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

B = Book Only (allow removal of liquidity,


available for Market Makers only)
N = Book Only, No Slide
R = Post Only, No Slide (do not remove liquidity)
I = Book Only IOC
SessionEligibility 81 1 Text R = Regular Trading Hours (RTH) only
(C1 only) A = Participates in both Global and Regular
Trading Hours. Also allows for participation in
Curb Trading Session.
B = Participates in both RTH and Curb Session.
Note market and stop/stop limit orders are not
supported during GTH and Curb sessions.
QuoteCnt 82 1 Binary Number of repeating groups included in this quote
update. Allowed values are 1-20.
Repeating Groups of …
Symbol 6 Alphanumeric Cboe native identifier
Side 1 Text 1 = Buy
2 = Sell
OpenClose 1 Text Corresponds to OpenClose (77) in Cboe FIX.
See List of Optional Fields for additional
information.
Price 8 Binary Price Limit price.
To cancel an existing quote, specify a size of 0.
OrderQty 4 Binary Order quantity. System limit is 999,999 contracts.
To cancel an existing quote, specify a size of 0.
Reserved 12 Binary Reserved for future expansion. To maintain
forward compatibility, fill with 0.

Example Quote Update Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 91 00 145 bytes
MessageType 55 Quote Update
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
QuoteUpdateID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
ClearingFirm 41 42 43 44 ABCD
ClearingAccount 57 58 59 5A WXYZ
CMTANumber 31 32 33 34 1234
Account 44 45 46 47 41 42 43 44 00 00 DEFGABCD
00 00 00 00 00 00
CustomGroupID C8 00 200
Capacity 4D M = Market Maker
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00
SendTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
PostingInstruction 50 P (Post Only)
SessionEligibility 52 R (RTH Only)
QuoteCnt 02 Two Quotes
Symbol 30 30 36 69 70 41 006ipA
Side 31 1 = Buy

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 48
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

OpenClose 4F O = Open
Price C8 32 00 00 00 00 00 00 1.30
OrderQty 64 00 00 00 100 contracts
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00
Symbol 30 30 34 63 53 73 004cSs
Side 32 2 = Sell
OpenClose 4F O = Open
Price AC 07 01 00 00 00 00 00 6.75
OrderQty F4 01 00 00 500 contracts
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00

4.1.8 Quote Update (Short)


A shorter version of Quote Update which restricts the information which can be presented. Uses less bandwidth
than the Quote Update message but messages presented to the Matching Engine are identical between both
Quote Update and Quote Update (Short) messages. The system will only accept Quote Update requests
entered via a BOE Bulk Quoting port that are marked with the Capacity value = ‘M’ (Market Maker).
Quote Update (Short) does not allow sending Account but a default for this field may be set at the port level.
CMTANumber may never be included on a Quote Update (Short) message.
This message uses a smaller format Price and OrderQty on each quote update.
All other comments concerning Quote Update in the previous section apply to Quote Update (Short) equally.
Field Offset Length Data Type Description
StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x59
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
QuoteUpdateID 10 16 Text ID chosen by the client. Characters in the ASCII
range 33-126 are allowed, except for comma,
semicolon, pipe, the ‘at’ symbol and double
quotes.
Responses, both to the Quote Update and any
Quote Executions, Quote Cancellations, and Quote
Modification messages will include this identifier.
Note: Cboe strongly recommends that
QuoteUpdateID be kept unique for a trading day,
and CAT reporting requirements mandate that
QuoteUpdateID is unique for each Quote Update
message sent to the Exchange.
ClearingFirm 26 4 Alpha EFID that will clear the trade. If left blank, the port
attribute value of ‘Default EFID’ is used.
ClearingAccount 30 4 Alpha Corresponds to OnBehalfOfSubID (116) and
ClearingAccount (440) in Cboe FIX.
See List of Optional Fields for additional
information.
CustomGroupID 34 2 Binary Optional. Used to group orders for use in Purge
Orders. Set to 0 if functionality not needed.
Capacity 36 1 Alpha Corresponds to OrderCapacity (47) in Cboe FIX.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 49
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

See List of Optional Fields for additional


information.
Reserved 37 3 Binary Reserved for future expansion. To maintain
forward compatibility, fill with 0.
SendTime 40 8 DateTime All Market Maker (Capacity=M) quote updates
must populate with a timestamp representing the
GMT time when the quote was sent by the Market
Maker to the exchange. This timestamp is required
to be at least in millisecond granularity but the
CAT NMS Plan requires that Industry Members
report the SendTime with the finest increment that
is supported by the Industry Member. The
SendTime is required in order to report Market
Maker quotes to the CAT in accordance with the
CAT NMS Plan.
Market Makers are required to provide a valid,
non-zero value for this field for any Quote
Update messages entered via a BOE Bulk Quoting
port. A zero value for SendTime will result in a
rejection of the entire Quote Update.
PostingInstruction 48 1 Text P = Post Only (do not remove liquidity)
B = Book Only (allow removal of liquidity,
available for Market Makers only)
N = Book Only, No Slide
R = Post Only, No Slide (do not remove liquidity)
I = Book Only IOC
SessionEligibility 49 1 Text R = Regular Trading Hours (RTH) only
(C1 only) A = Participates in both Global and Regular
Trading Hours. Also allows for participation in
Curb Trading Session.
B = Participates in both RTH and Curb Session
QuoteCnt 50 1 Binary Number of repeating groups included in this quote
update. Allowed values are 1-20.
Repeating Groups of …
Symbol 6 Alphanumeric Cboe native identifier
Side 1 Text 1 = Buy
2 = Sell
OpenClose 1 Text Corresponds to OpenClose (77) in Cboe FIX.
See List of Optional Fields for additional
information.
Price 4 Short Limit price.
Binary Price To cancel an existing quote, specify a size of 0.
OrderQty 2 Binary Order quantity. System limit is 999,999 contracts.
To cancel an existing quote, specify a size of 0.
Reserved 2 Binary Reserved for future expansion. To maintain
forward compatibility, fill with 0.

Example Quote Update Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 91 00 145 bytes
MessageType 59 Quote Update (Short)
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 50
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

QuoteUpdateID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
ClearingFirm 41 42 43 44 ABCD
ClearingAccount 57 58 59 00 WXY
CustomGroupID C8 00 200
Capacity 4D M = Market Maker
Reserved 00 00 00 Reserved
SendTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
PostingInstruction 50 P (Post Only)
SessionEligibility 52 R (RTH Only)
QuoteCnt 02 Two Quotes
Symbol 30 30 36 69 70 41 006ipA
Side 31 1 = Buy
OpenClose 4F O = Open
Price C8 32 00 00 1.30
OrderQty 64 00 100 contracts
Reserved 00 00 Reserved
Symbol 30 30 34 63 53 73 004cSs
Side 32 2 = Sell
OpenClose 4F O = Open
Price AC 07 01 00 6.75
OrderQty F4 01 500 contracts
Reserved 00 00 Reserved

4.1.9 Purge Orders


Request to cancel a group of orders across all the firm’s sessions. This differs from a mass cancel request sent via a
Cancel Order message as the purge is applied across all of the firm’s sessions, not just the session on which the
message was received.
A purge requires populating the MassCancelInst field. The ClearingFirm (EFID) is also required if a list of
configured/allowed EFIDS has not been configured on the session. If a list of configured EFIDs is present, sending a
blank (0x00) ClearingFirm value will result in the purge applying to all configured EFIDs. In addition, a firm may
choose to further filter the purge to target specific orders using either the CustomGroupID or RiskRoot fields. If both
RiskRoot and a list of CustomGroupID values are specified, the Purge Orders request will be rejected. The items
below should also be considered.
• Users must specify the MassCancelId if the Acknowledgement Style is set to ‘S’ or ‘B’.
• Users may Initiate a self-imposed, risk lockout using the MassCancelInst field.
• EFID values specified in the ClearingFirm field that are not allowed to clear for the firm will be rejected.
• CustomGroupID or EFID (ClearingFirm) purges with no RiskRoot may be directed to a specific matching
unit using the MatchingUnit optional field. If MatchingUnit is zero or not specified, these purge types
will be sent to all matching units starting with unit 1. Note that this may result in self-imposed, risk
lockouts occurring on select units while other units are still trading.
When specifying the RiskRoot field, using the underlying symbol is strongly recommended. Mass cancellations are
always performed at the risk root (underlying) level.
All Members that send purges must include the SendTime field. This is required to ensure that a valid cancellation
send time is captured and reported to CAT.
The system limits the rate at which identical Purge Orders requests can be submitted to the system. Requests
are restricted to ten (10) messages per second per port.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 51
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

An identical purge message is defined as a message having all of the same CustomGroupID, Symbol, Clearing Firm,
MatchingUnit, Lockout Instruction, Instrument Type Filter and GTC Order Filter field values, as a previously received
message.
Permitted input optional fields are described in ‘Section 5.7 – Purge Orders’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this field
but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x47
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
Reserved 10 1 Binary Reserved for future expansion. To maintain forward
compatibility, fill with 0.
NumberOf 11 1 Binary Bitfield identifying bitfields which are set. May be 0.
PurgeOrders Field values must be appended to the end of the
Bitfields message.
PurgeOrderBitfield¹ 12 1 Binary Bitfield identifying fields to follow. Only present if
NumberOfPurgeOrdersBitfields is non-zero.
CustomGroupIDCnt 13 1 Binary Number of repeating CustomGroupID included in this
message.
CustomGroupID¹ 2 Binary First CustomGroupID. Only present if
CustomGroupIDCnt is non-zero.

CustomGroupIDᶯ 2 Binary Last CustomGroupID.
Optional fields. . .

Example Purge Orders Message with CustomGroupID and Lockout:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 41 00 65 bytes
MessageType 47 Purge Orders
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
Reserved 00 Reserved
NumberOfPurge 02 Two bitfields to follow
OrderBitfields
PurgeOrdersBitfield1 15 ClearingFirm,MassCancelInst,
MassCancelID
PurgeOrdersBitfield2 40 SendTime
CustomGroupIDCnt 02 Two CustomGroupIDs to follow
CustomGroupID1 BF BE First CustomGroupID of 48831
CustomGroupID2 CO BE Second CustomGroupID of 48832
ClearingFirm 54 45 53 54 TEST
MassCancelInst 46 53 4C 42 00 00 00 00 00 00 F = Cancel orders matching clearing firm
00 00 00 00 00 00 TEST
S = Single ack
L = Lockout both CustomGroupIDs
B = Cancel simple and complex

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 52
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

MassCancelID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
SendTime E0 7A B9 DA 13 3B 42 16 1,603,909,373,757,324,000 = Wed, Oct
28, 2020 at 14:22:53.757324 ET.

Example Purge Orders Message with Product Level Filter and no Lockout:
Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 43 00 67 bytes
MessageType 47 Purge Orders
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
Reserved 00 Reserved
NumberOfPurge 02 Two bitfields to follow
OrderBitfields
PurgeOrdersBitfield1 1D ClearingFirm, MassCancelInst, RiskRoot,
MassCancelID
PurgeOrdersBitfield2 40 SendTime
CustomGroupIDCnt 00 No CustomGroupIDs to follow
ClearingFirm 54 45 53 54 TEST
MassCancelInst 46 53 4E 42 00 00 00 00 00 00 F = Cancel orders matching clearing firm
00 00 00 00 00 00 TEST
S = Single ack
N = No lockout
B = Cancel simple and complex
RiskRoot 41 42 43 00 00 00 ABC
MassCancelID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
SendTime E0 7A B9 DA 13 3B 42 16 1,603,909,373,757,324,000 = Wed, Oct
28, 2020 at 14:22:53.757324 ET.

4.1.10 Reset Risk


Reset or release Firm, Risk Root, or Custom Group ID level lockout conditions resulting from risk profile trips or self-
imposed lockouts issued via Cancel Order or Purge Orders messages. Risk resets can be performed using this
message or by using the RiskReset field on a New Order message.
When specifying the RiskRoot field, using the underlying symbol is strongly recommended. Risk Resets are always
performed at the risk root (underlying) level.
Only one unique risk reset of a given type (EFID Group, EFID, Risk Root, CustomGroupID) is allowed per 100
milliseconds per port. Additional resets will be ignored (RiskResetResult = <space>). For example, a customer may
reset risk for CustomGroupID = 1 and may not reset risk again for CustomGroupID = 1 until 100 milliseconds has
elapsed. This restriction is designed to safeguard the trading platform from excessive risk messaging. On C1 only, If
a risk limit is tripped or manually locked out at the end of the RTH session, the trip/lockout will persist into the Curb
session.
CustomGroupID or EFID (ClearingFirm) risk resets may be directed to a specific matching unit using the
TargetMatchingUnit optional field. If TargetMatchingUnit is zero, the risk reset will be sent to all matching units
starting with unit 1.
Field Offset Length Data Type Description
StartOfMessage 0 2 Binary Must be 0xBA 0xBA.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 53
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

MessageLength 2 2 Binary Number of bytes for the message, including this


field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x56
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
RiskStatusID 10 16 Text Unique identifier for this Reset Risk request.
Response message will have this corresponding
identifier.
Note: Cboe only enforces uniqueness of
RiskStatusID values among currently
unacknowledged requests. However, we strongly
recommend that you keep your RiskStatusID
values day-unique.
RiskReset 26 8 Text Corresponds to RiskReset (7692) in Cboe FIX.
Indicates Risk Root, Firm, or CustomGroupID
lockout reset.
See List of Optional Fields for allowed values.
TargetMatchingUnit 34 1 Binary Direct the reset risk to a specific matching unit. A
zero value will cause the reset risk to be sent to all
matching units. Ignored for risk root level resets.
Reserved 35 3 Binary Reserved for future expansion. To maintain
forward compatibility, fill with 0.
ClearingFirm 38 4 Alpha Risk will be reset for this EFID.
RiskRoot 42 6 Alphanumeric Populate with Risk Root for resets at the Risk Root
level.
Leave empty for resets at the EFID level.
CustomGroupID 48 2 Binary Populate with an identifier for resets including a
CustomGroupID.
Set to 0 to ignore.

Example Reset Risk Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 30 00 48 bytes
MessageType 56 Reset Risk
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
RiskStatusID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
RiskReset 53 46 00 00 00 00 00 00 SF = Symbol and EFID level reset
TargetMatchingUnit 00 0 = target all matching units
Reserved 00 00 00
ClearingFirm 54 45 53 54 TEST
RiskRoot 41 42 43 00 00 00 ABC
CustomGroupID 00 00 No CustomGroupID

Example Reset Risk Message Targeting a Matching Unit:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 30 00 48 bytes

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 54
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

MessageType 56 Reset Risk


MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
RiskStatusID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
RiskReset 53 46 00 00 00 00 00 00 SF = Symbol and EFID level reset
TargetMatchingUnit 1A 26 = target matching unit 26
Reserved 00 00 00
ClearingFirm 54 45 53 54 TEST
RiskRoot 00 00 00 00 00 00 No RiskRoot
CustomGroupID 00 00 No CustomGroupID

4.1.11 New Complex Instrument (C1, C2, and EDGX Only)


A New Complex Instrument message is used to request that the system create a complex strategy. The resulting
symbol (if accepted by the system) will be returned in a Complex Instrument Accepted message; a Complex
Instrument Rejected message will be sent if it is not accepted. All legs must have the same underlying product
which can be different OSI Roots (i.e. XYZ and XYZ1).
A ClearingFirm must be sent on each New Complex Instrument message unless a Default Executing Firm ID is set
at the port-level.
Permitted input optional fields are described in ‘Section 5.8 – New Complex Instrument’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x4C
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
ClOrdID 10 20 Text Corresponds to ClOrdID (11) in Cboe FIX.
Day-unique ID chosen by the client. Characters in
the ASCII range 33-126 are allowed, except for
comma, semicolon, pipe, the ‘at’ symbol and
double quotes.
If the ClOrdID matches a live order, the order will
be rejected as duplicate.
Note: Cboe only enforces uniqueness of
ClOrdID values among currently live orders.
However, we strongly recommend that you keep
your ClOrdID values day-unique.
NumberOf 30 1 Binary Bitfield identifying which bitfields are set. Field
NewComplex values must be appended to the end of the
InstrumentBitfields message.
NewComplex 31 1 Binary Bitfield identifying fields to follow.
InstrumentBitfield¹
….
NewComplex 1 Binary Last bitfield.
InstrumentBitfieldᶯ
NoLegs 1 Binary Corresponds to NoLegs (555) in Cboe FIX.
Indicates the number of repeating groups to fol-

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 55
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

low.
Must be a minimum of 2 and a maximum of 16.
Repeating Group ComplexLeg must occur the number of times specified in NoLegs. Each field occurs in each
group, in order as shown below. Optional fields occur only if corresponding bits in bitfields are set.

LegSymbol 8 Alphanumeric Corresponds to LegSymbol (600) in Cboe FIX.


Entire Cboe format symbol or OSI Root.
Must send LegCFICode, LegMaturityDate, and
LegStrikePrice if using OSI format.
LegCFICode 6 Alphanumeric Corresponds to LegCFICode (608) in Cboe FIX.
(Optional)
CFI Code for leg. Required if LegSymbol is in OSI
format.
OP = Options Put
OC = Options Call
E = Equity
LegMaturityDate 4 Date Corresponds to LegMaturityDate (611) in Cboe FIX.
(Optional) Required if LegSymbol is in OSI format.
LegStrikePrice 8 Binary Price Corresponds to LegStrikePrice (612) in Cboe FIX.
(Optional) Option strike price. System maximum is
99,999,999. Must be non-negative.
Required if LegSymbol is in OSI format.
LegRatioQty 4 Binary Corresponds to LegRatioQty (623) in Cboe FIX.
Ratio of number of contracts in this leg per order
quantity.
Accepted values are 1-999,999.
LegSide 1 Alphanumeric Corresponds to LegSide (624) in Cboe FIX.
1 = Buy
2 = Sell
Optional fields… Optional fields as set in the bitmap. Note, optional
fields that occur in the repeating groups appear
above, repeating per group, not within this block.

Example New Complex Instrument Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 61 00 97 bytes
MessageType 4C New Complex Instrument
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
NumberOfNewComplex 01 One bitfield to follow
InstrumentBitfields
NewComplex 0F LegCFICode, LegMaturityDate,
InstrumentBitfield1 LegStrikePrice, ClearingFirm
NoLegs 02 Two legs
LegSymbol 4D 53 46 54 00 00 00 00 MSFT
LegCFICode 4F 43 00 00 00 00 OC = Option Call
LegMaturityDate EF DB 32 01 2011-03-19
LegStrikePrice 98 AB 02 00 00 00 00 00 17.50

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 56
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

LegRatioQty 02 00 00 00 Ratio of 2
LegSide 31 Buy
LegSymbol 4D 53 46 54 00 00 00 00 MSFT
LegCFICode 4F 50 00 00 00 00 OP = Option Put
LegMaturityDate F6 DB 32 01 2011-03-26
LegStrikePrice 30 E6 02 00 00 00 00 00 19.00
LegRatioQty 01 00 00 00 Ratio of 1
LegSide 32 Sell
ClearingFirm 54 45 53 54 TEST

4.1.12 Add Floor Trade (C1 Only)


TPHs having in-person Market Makers on the Cboe trading floor can enter their version of a floor trade via the Add
Floor Trade message type.
This message may be used to report any floor trades, but is primarily meant to be used to report floor trades between
Market Makers. TPHs are encouraged to use Floor Trade Confirmation messages to respond to floor
broker allocations (Floor Trade Notification messages) if they agree with the terms of the trade.
The Exchange will respond to an Add Floor Trade message with an Add Floor Trade Rejected
message or an Order Acknowledgement message followed by one or more Order Executed messages.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x5C
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
ClOrdID 10 20 Text Corresponds to ClOrdID (11) in Cboe FIX.
Day-unique ID chosen by the client. Characters in
the ASCII range 33-126 are allowed, except for
comma, semicolon, pipe, the ‘at’ symbol and
double quotes.
If the ClOrdID matches a live order, the order will
be rejected as duplicate.
Note: Cboe only enforces uniqueness of
ClOrdID values among currently live orders.
However, we strongly recommend that you keep
your ClOrdID values day-unique.
Symbol 30 8 Alphanumeric Corresponds to Symbol (55) in Cboe FIX.
Entire Cboe format symbol or OSI symbol if using
long format.
PutOrCall 38 1 Alphanumeric Corresponds to PutOrCall (201) in Cboe FIX.
0 = Put
1 = Call
NULL (0x00) filled if using Cboe format symbol.
StrikePrice 39 8 Binary Price Corresponds to StrikePrice (202) in Cboe FIX.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 57
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Strike Price for option, 0 – 999,999.99


NULL (0x00) filled if using Cboe format symbol.
MaturityDate 47 4 Date Corresponds to MaturityMonth (200) and
MaturityDay (205) in Cboe FIX.
NULL (0x00) filled if using Cboe format symbol.
MultilegReportingType 51 1 Alphanumeric Corresponds to MultilegReportingType (442) in
Cboe FIX.
Indicates the type of Order Execution message.
1 = Single-leg instrument
2 = Individual leg of multi-leg instrument
ComboOrder 52 1 Alpha Corresponds to ComboOrder (22005) in Cboe FIX.
Declare the order as a Combo (for regulatory relief
if trading SPX on the floor).
N = (Default) No
Y = Yes
Account 53 16 Text Corresponds to Account (1) in Cboe FIX.
Reflected back on execution reports associated with
this order and also passed through to the OCC in the
Optional Data field (16 characters) and Customer ID
field (max 10 characters). May be made available in
the Member’s clearing file. A maximum of 10
characters will be passed through to the OCC
Customer ID Field but up to 16 characters will be
maintain internally. Characters in ASCII range 33-
126 are allowed.
Account (1) will only be mapped to the OCC via the
Customer ID field (max 10 characters) and the new
ClearingOptionalData (9324) field will be mapped
to the OCC via the Optional Data field (16
characters).
ClearingOptionalData 69 16 Text Corresponds to ClearingOptionalData (9324) in
Cboe FIX.
This field will be reflected back on execution
reports , FIX DROP ports and it will be passed
through to the OCC in the Optional Data field.
ClearingAccount 85 4 Text Corresponds to ClearingAccount (440) in Cboe FIX.
When Capacity is set to a value of M or N for Market
Maker, this field should be filled with the desired
market maker ID. When using CMTA, this value is
the Market Maker ID for the CMTA member instead
of the Cboe member executing the trade. This field
will be sent to the OCC.
If OrderCapacity (47) is not set to “M: or “N” and
ClearingAccount is populated, the order will be
rejected by default on C1 and C2 and will be
accepted by default for BZX and EDGX Only. This
field is recorded and returned in execution reports.
Available via FIX Drop.
CMTANumber 89 4 Binary Corresponds to CMTANumber (439) in Cboe FIX.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 58
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

CMTA Number of the firm that will clear the trade.


Must be specified for CMTA orders and left
unspecified for non-CMTA orders.
FloorTraderAcronym 93 3 Alpha Floor acronym of participant submitting trade.
Side 96 1 Alphanumeric Corresponds to Side (54) in Cboe FIX.
1 = Buy
2 = Sell
OrderQty 97 4 Binary Corresponds to OrderQty (38) in Cboe FIX.
Order quantity. System limit is 999,999 contracts.
Price 101 8 Binary Price Corresponds to Price (44) in Cboe FIX.
Limit price. Order rejected if priced finer than the
minimum trading increment for the option.
TransactionTime 109 8 DateTime Report send time (for audit).
OpenClose 117 1 Alphanumeric Corresponds to OpenClose (77) in Cboe FIX.
Indicates status of client position in the option.
O = Open
C = Close
N = None*
*Orders with Capacity = ‘M’ or ‘N’ will not be
required to specify OpenClose on their orders or
may optionally specify a value of ‘N’, unless the
series is limited to closing only.
If the series is limited to closing only transactions,
only Capacity = ‘M’ will be permitted to submit
OpenClose = ‘O’ if the order has TimeInForce = ‘3’
(IOC) and RoutingInst = ‘B’, or the order has a
RoutingInst = ‘P’.
An Open position cannot trade with an Open
position for series limited to Closing Only
transactions, even if the inbound IOC from the
aggressing market maker is sent with that
combination of tags.
FloorTradeTime 118 8 Date Time Trade time
ContraTrader 126 4 Alphanumeric Displays the EFID (ClearingFirm) of the contra side
firm on all internally matched executions.
Reserved 130 16 Reserved Reserved

Example Add Floor Trade Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 90 00 144 bytes
MessageType 5C Add Floor Trade
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
Symbol 30 30 36 69 70 41 00 00 006ipA
PutorCall 00
StrikePrice 00 00 00 00 00 00 00 00
MaturityDate 00 00 00 00

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 59
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

MultilegReportingType 31 1 = Single leg instrument


ComboOrder 4E N = No
Account 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
ClearingOptionalData 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
ClearingAccount 41 42 43 00 ABC
CMTANumber 00 00 00 00
FloorTraderAcronym 44 45 46 DEF
Side 31 1 = Buy
OrderQty 64 00 00 00 100 contracts
Price C8 32 00 00 00 00 00 00 1.30
TransactionTime 00 5C DB E2 27 12 B4 15 1,563,894,933,123,456,000
OpenClose 4F O = Open
FloorTradeTime 68 23 4A 8B 27 12 B4 15 1,563,894,931,654,321,000
ContraTrader 57 58 59 WXY
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00 00

4.1.13 Floor Trade Confirmation (C1 Only)


TPHs are encouraged to use Floor Trade Confirmation messages to respond to Floor Trade
Notification messages if they agree with the terms of the trade. Alternatively, an Add Floor Trade
message may be used to enter their version of the floor trade. If the floor trade notification is not known to the user
(for example, if the TPH is misidentified as a contra party to a floor trade), the message can be disregarded; a
response is not required.
The exchange will respond to a Floor Trade Confirmation message with an Order Executed message
or Floor Trade Confirmation Rejected message.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x5B
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
ClOrdID 10 20 Text Corresponds to ClOrdID (11) in Cboe FIX.
Day-unique ID chosen by the client. Characters in
the ASCII range 33-126 are allowed, except for
comma, semicolon, pipe, the ‘at’ symbol and
double quotes.
If the ClOrdID matches a live order, the order will
be rejected as duplicate.
Note: Cboe only enforces uniqueness of
ClOrdID values among currently live orders.
However, we strongly recommend that you keep
your ClOrdID values day-unique.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 60
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

ExecID 30 8 Binary Corresponds to ExecID (17) in Cboe FIX.


Execution ID. Unique across all matching units on a
given day. Note: ExecIDs will be represented on
ODROP and FIXDROP ports as nine character, base
36 ASCII. Leading zeros should be added if the
converted base 36 value is shorter than nine
characters.
Example conversion:
Decimal Base 36
28294005440239 A1234B567
76335905726621 R248BC23H
728557228187 09AP05V2Z
Symbol 38 8 Alphanumeric Corresponds to Symbol (55) in Cboe FIX.
Entire Cboe format symbol or OSI symbol if using
long format.
PutOrCall 46 1 Alphanumeric Corresponds to PutOrCall (201) in Cboe FIX.
0 = Put
1 = Call
NULL (0x00) filled if using Cboe format symbol.
StrikePrice 47 8 Binary Price Corresponds to StrikePrice (202) in Cboe FIX.
Strike Price for option, 0 – 999,999.99
NULL (0x00) filled if using Cboe format symbol.
MaturityDate 55 4 Date Corresponds to MaturityMonth (200) and
MaturityDay (205) in Cboe FIX.
NULL (0x00) filled if using Cboe format symbol.
TransactionTime 59 8 DateTime Report send time (for audit).
PriceType 67 1 Alphanumeric Corresponds to PriceType (423) in Cboe FIX.
2 = (Default) Price per unit (contract)

Reserved 68 15 Reserved Reserved

Example Floor Trade Confirmation Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 51 00 81 bytes
MessageType 5B Floor Trade Confirmation
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
ExecID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)
Symbol 30 30 36 69 70 41 00 00 006ipA
PutorCall 00
StrikePrice 00 00 00 00 00 00 00 00
MaturityDate 00 00 00 00
TransctionTime 00 5C DB E2 27 12 B4 15 1,563,894,933,123,456,000
PriceType 32 2 = Price per unit

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 61
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00

4.1.14 Delete Floor Trade (C1 Only)


TPHs having in-person Market Makers on the Cboe trading floor can request the deletion of their version of a floor
trade via the Delete Floor Trade message type. The trade report to delete will be identified by the ExecId. The TPH
entering the floor trade deletion message must be on the specified side of the identified trade. The Exchange will
respond to a Delete Floor Trade message with a Delete Floor Trade Reject or with a Delete
Floor Trade Acknowledgement if the floor trade report is successfully deleted.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x5D
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
ClOrdID 10 20 Text Corresponds to ClOrdID (11) in Cboe FIX.
Day-unique ID chosen by the client. Characters in
the ASCII range 33-126 are allowed, except for
comma, semicolon, pipe, the ‘at’ symbol and
double quotes
If the ClOrdID matches a live order, the order will
be rejected as duplicate.
Note: Cboe only enforces uniqueness of
ClOrdID values among currently live orders.
However, we strongly recommend that you keep
your ClOrdID values day-unique.
ExecID 30 8 Binary Corresponds to ExecID (17) in Cboe FIX.
Execution ID. Unique across all matching units on a
given day. Note: ExecIDs will be represented on
ODROP and FIXDROP ports as nine character, base
36 ASCII. Leading zeros should be added if the
converted base 36 value is shorter than nine
characters.
Example conversion:
Decimal Base 36
28294005440239 A1234B567
76335905726621 R248BC23H
728557228187 09AP05V2Z
Symbol 38 8 Alphanumeric Corresponds to Symbol (55) in Cboe FIX.
Entire Cboe format symbol or OSI symbol if using
long format.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 62
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

PutOrCall 46 1 Alphanumeric Corresponds to PutOrCall (201) in Cboe FIX.


0 = Put
1 = Call
NULL (0x00) filled if using Cboe format symbol.
StrikePrice 47 8 Binary Price Corresponds to StrikePrice (202) in Cboe FIX.
Strike Price for option, 0 – 999,999.99
NULL (0x00) filled if using Cboe format symbol.
MaturityDate 55 4 Date Corresponds to MaturityMonth (200) and
MaturityDay (205) in Cboe FIX.
NULL (0x00) filled if using Cboe format symbol.
Side 59 1 Alphanumeric Corresponds to Side (54) in Cboe FIX.
1 = Buy
2 = Sell
Reserved 60 16 Reserved Reserved

Example Delete Floor Trade Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 4A 00 74 bytes
MessageType 5D Delete Floor Trade
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00

ExecID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)


Symbol 30 30 36 69 70 41 00 00 006ipA
PutorCall 00
StrikePrice 00 00 00 00 00 00 00 00
MaturityDate 00 00 00 00
Side 31 Buy
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00 00

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 63
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4.2 Cboe to Member

4.2.1 Order Acknowledgment


Order Acknowledgment messages are sent in response to New Order and New Complex Order messages. The
message corresponds to a FIX Execution Report with ExecType (150) = 0 (New).
Per the instructions given in a Return Bitfields Parameter Group on the Login Request (Section 3.1.1 – Login
Request), optional fields may be appended to echo back information provided in the original New Order message.
Fields which have been requested to be echoed back but which were not filled in will still be sent, but filled with
binary zero (0x00).
Permitted return optional fields are described in ‘Section 6.1 – Order Acknowledgement’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x25
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per matching unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text Echoed back from the original order.
OrderID 38 8 Binary Corresponds to OrderID (37) in Cboe FIX.
Order identifier supplied by Cboe. This identifier
corresponds to the identifiers used in Cboe market
data products.
ReservedInternal 46 1 Binary Reserved for Cboe internal use.
NumberOfReturn 47 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 48 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example Order Acknowledgment Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 4E 00 78 bytes
MessageType 25 Order Acknowledgment
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 64
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

ReservedInternal 00 Ignore
NumberOfReturn 03 Three bitfields to follow
Bitfields
ReturnBitfield1 00 No bitfields from byte 1
ReturnBitfield2 41 Symbol, Capacity
ReturnBitfield3 05 Account, ClearingAccount
Symbol 31 32 33 61 42 63 00 00 123aBc
Capacity 50 P = Principal
Account 41 42 43 00 00 00 00 00 00 00 ABC
00 00 00 00 00 00
ClearingAccount 00 00 00 00

Example Minimal Order Acknowledgment Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 2E 00 46 bytes
MessageType 25 Order Acknowledgment
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)
ReservedInternal 00 Ignore
NumberOfReturn Bitfields 00 No bitfields to follow

4.2.2 Cross Order Acknowledgment (C1 and EDGX Only)


Cross Order Acknowledgment messages are sent in response to New Order Cross and New Order Cross
Multileg messages. The message corresponds to a FIX Execution Report with ExecType (150) = 0 (New). In FIX,
multiple execution reports could be generated from one new cross order message.
Per the instructions given in a Return Bitfields Parameter Group on the Login Request (Section 3.1.1 – Login
Request), optional fields may be appended to echo back information provided in the original New Order Cross
message. Fields which have been requested to be echoed back but which were not filled in will still be sent, but filled
with binary zero ( 0x00).
In each repeating group, the ClOrdID and OrderId are always returned. Beyond that, the bits specified in the optional
return bitfields parameter group control which fields are returned. Any fields that appear in the repeating groups
will not appear in the optional fields that come after the repeating groups.
Permitted return optional fields are described in ‘Section 6.2 – Cross Order Acknowledgement’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x43
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 65
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

SequenceNumber 6 4 Binary The sequence number for this message. Distinct


per matching unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
CrossID 18 20 Text Corresponds to CrossID (548) in Cboe FIX.
Echoed back from the original order.
AuctionId 38 8 Binary Corresponds to AuctionId (9370) in Cboe FIX.
Auction order identifier supplied by Cboe. This
identifier corresponds to the identifiers used in
Cboe market data products.
ReservedInternal 46 1 Binary Reserved for Cboe internal use.
NumberOfReturn 47 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 48 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
GroupCnt 2 Binary Number of order allocations represented by
repeating groups included in this message.
Repeating Groups
of…
ClOrdId 20 Text Echoed back from the original order.
OrderId 8 Binary OrderId assigned by the matching engine.
Side 1 Alphanumeric See List of Optional Fields.
(Optional)
AllocQty 4 Binary See List of Optional Fields.
(Optional)
Capacity 1 Alpha See List of Optional Fields.
(Optional)
OpenClose 1 Alphanumeric See List of Optional Fields.
(Optional)
GiveUpFirmID 4 Alpha See List of Optional Fields.
(Optional)
Account 16 Text See List of Optional Fields.
(Optional)
CMTANumber 4 Binary See List of Optional Fields.
(Optional)
ClearingAccount 4 Text See List of Optional Fields.
(Optional)
Optional fields. . . Optional fields as set in the bitmap. Note, optional
fields that occur in the repeating groups appear
above, repeating per group, not within this block.

Example Cross Order Acknowledgment Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 91 00 145 bytes
MessageType 43 Cross Order Acknowledgment
MatchingUnit 02 Matching Unit 2
SequenceNumber 01 00 00 00 Sequence number 1
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 66
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

CrossID 4E 5A 31 56 37 42 4A 5F 41 63 NZ1V7BJ_AcceptBuy
63 65 70 74 42 75 79 00 00 00
AuctionId 01 C0 91 A2 94 AB 78 04 2G4GYK000001 (base 36)
ReservedInternal 00 Ignore
NumberOfReturn 02 Two bitfields to follow
Bitfields
ReturnBitfield1 00 No bitfields from byte 1
ReturnBitfield2 41 Symbol, Capacity
GroupCnt 03 00 Three repeating groups to follow
ClOrdID 4E 5A 31 56 37 47 4E 5F 61 67 NZ1V7GN_agency
65 6E 63 79 00 00 00 00 00 00
OrderID 02 C0 91 A2 94 AB 78 04 2G4GYK000002 (base 36)
Capacity 43 C = Customer
ClOrdID 4E 5A 31 56 37 4B 46 5F 63 6F NZ1V7KF_contra1
6E 74 72 61 31 00 00 00 00 00
OrderID 03 C0 91 A2 94 AB 78 04 2G4GYK000003 (base 36)
Capacity 46 F = Firm
ClOrdID 4E 5A 31 56 37 4E 48 5F 63 6F NZ1V7NH_contra2
6E 74 72 61 32 00 00 00 00 00
OrderID 04 C0 91 A2 94 AB 78 04 2G4GYK000004 (base 36)
Capacity 46 F = Firm
Symbol 30 30 51 30 6B 41 00 00 00Q0kA

4.2.3 Quote Update Acknowledgment


Quote Update Acknowledgment messages are sent in response to a Quote Update message. The effect of each
requested update will be found in this response. The ordering between request and response is preserved.
For quotes not marked post only which are priced at an executable price and which may remove liquidity against
non-Market Maker liquidity, QuoteResult reason of ‘D’ or ‘d’ will be provided. In these cases, executions or
cancellations (as needed) will immediately follow as additional messages. In some cases, an execution may not be
permitted (e.g., risk management causes cancellation of the targeted order before execution), no additional
messages will follow and the quote will post.
In some cases, a new OrderID will be assigned for an existing quote. There are currently two situations where this
occurs, but others may be added in the future:
1. An order which has received a large number of quote updates over its life will be assigned a new OrderID if
receiving an update which would cause a loss in priority.
2. A quote update sent to modify the PostingInstruction will be assigned a new OrderID if there is an existing
quote in that symbol on that port and for that EFID.
If using the OrderID in your system or to correlate with an OrderID on PITCH, always be prepared to receive an update
on an Quote Update Acknowledgment.
Field Offset Length Data Type Description
StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x51
MatchingUnit 5 1 Binary Unsequenced application message. MatchingUnit
will be set to 0.Unsequenced application message.
MatchingUnit will be set to 0.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 67
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

SequenceNumber 6 4 Binary Unsequenced application message.


SequenceNumber will be set to 0.This will be an
unsequenced application message. The sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
QuoteUpdateID 18 16 Text Echoed back from the Quote Update request.
QuoteRejectReason 34 1 Text Reason for rejection of an entire Quote Update
message by the matching engine. If an error is
indicated, then no quotes were entered or
updated. QuoteCnt will be 0.
<space> = Success
See Quote Reason Codes for a list of possible
quote reject codes.
Additional reasons may be added in the future
without warning.
Reserved 35 17 Binary Reserved for future expansion. Filled with 0.
QuoteCnt 52 1 Binary Number of repeating groups included in this
acknowledgment. Allowed values are 1-20.
Repeating Groups of …
OrderID 8 Binary Order ID assigned by the matching engine.
Corresponds to order ID on PITCH.
QuoteResult 1 Text Result of the quote request.
Acceptance:
A = New Quote
I = IOC Quote Accepted
L = Modified; loss of priority
R = Modified; retains priority (size reduction)
N = No change, matches existing quote
D = New Quote, but may remove liquidity
d = Modified, but may remove liquidity
V = No change, existing constituent series quote
modify attempt after cutoff time (C1 only)

Cancellation:
U = User cancelled (zero size/price requested)
Rejection:
a = Admin
O = Rejected, doesn’t match a known quote
P = Rejected, can’t post
f = Risk management firm or Custom Group ID
level
S = Rejected, symbol not found
p = Rejected, invalid price
r = Invalid Remove
s = Risk management risk root level
u = Rejected, other reason
+ = Risk management EFID Group level
c = Rejected, closing only series

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 68
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

v = Rejected, attempt to add constituent series


quote after cutoff time (C1 only)

Additional reasons indicating a reject may be


added in the future with no notice.
SubLiquidity 1 Text N = Normal
Indicator S = NBBO Setter
J = NBBO Joiner
U = Market Turner (C1 only)
<space> = No quote on book
New values may be added in the future without
warning.
Subreason 1 Text Additional detail for a quote rejection.
See Order and Quote Subreason Codes for a list of
possible subreasons.
Reserved 5 Binary Reserved for future expansion. Filled with 0.

Example Quote Update Acknowledgment Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 53 00 83 bytes
MessageType 51 Quote Update Acknowledgment
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
QuoteUpdateID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
QuoteRejectReason 20 <space> = Success
Reserved 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00
QuoteCnt 02 Two Quotes
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)
QuoteResult 64 d = Modified, but may remove liquidity
SubLiquidityIndicator 4E N = Normal
Subreason 20 <space> = None
Reserved 00 00 00 00 00
OrderID 06 10 1E B7 5E 39 2F 02 171WC1000006 (base 36)
QuoteResult 4C L = Modified, loss of priority
SubLiquidityIndicator 53 S = NBBO Setter
Subreason 20 <space> = None
Reserved 00 00 00 00 00

4.2.4 Order Rejected


Order Rejected messages are sent in response to a New Order which must be rejected. This message
corresponds to a FIX Execution Report with ExecType (150) = 8 (Rejected). Order Rejected messages are
unsequenced.
Permitted return optional fields are described in ‘Section 6.3 – Order Rejected’.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 69
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x26
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe
Matching Engine (not the time the message was
sent).
ClOrdID 18 20 Text Echoed back from the original order.
OrderRejectReason 38 1 Text Reason for an order rejection.
See Order Reason Codes for a list of possible
reasons.
Text 39 60 Text Human readable text with more information
about the reject reason.
ReservedInternal 99 1 Binary Reserved for Cboe internal use.
NumberOfReturn 100 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 101 1 Binary Bitfield identifying fields to return.


ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example Order Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 85 00 133 bytes
MessageType 26 Order Rejected
MatchingUnit 0 Unsequenced message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
OrderRejectReason 44 D
Text 44 75 70 6C 69 63 61 74 65 20 Duplicate ClOrdID
43 6C 4F 72 64 49 44 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
ReservedInternal 00 Ignore
NumberOfReturn 04 Four bitfields to follow
Bitfields

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 70
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

ReturnBitfield1 00 No bitfields from byte 1


ReturnBitfield2 01 Symbol
ReturnBitfield3 06 ClearingFirm, ClearingAccount
ReturnBitfield4 0F MaturityDate, StrikePrice, PutOrCall,
OpenClose
Symbol 54 4E 44 4D 00 00 00 00 TNDM
ClearingFirm 54 45 53 54 TEST
ClearingAccount 00 00 00 00 (empty)
MaturityDate EF DB 32 01 2011-03-19
StrikePrice 98 AB 02 00 00 00 00 00 17.50
PutOrCall 31 1 = Call
OpenClose 4F O = Open

4.2.5 Cross Order Rejected (C1 and EDGX Only)


Cross Order Rejected messages are sent in response to a New Order Cross and New Order Cross Multileg
which must be rejected. This message corresponds to a FIX Execution Report with ExecType (150) = 8 (Rejected).
Order Rejected messages are unsequenced.
Permitted return optional fields are described in ‘Section 6.4 – Cross Order Rejected’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x44
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe
Matching Engine (not the time the message was
sent).
CrossID 18 20 Text Echoed back from the original order.
OrderRejectReason 38 1 Text Reason for an order rejection.
See Order Reason Codes for a list of possible
reasons.
Text 39 60 Text Human readable text with more information
about the reject reason.
ReservedInternal 99 1 Binary Reserved for Cboe internal use.
NumberOfReturn 100 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 101 1 Binary Bitfield identifying fields to return.


ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 71
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Example Cross Order Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 59 00 89 bytes
MessageType 44 Cross Order Rejected
MatchingUnit 0 Unsequenced message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
OrderRejectReason 41 A
Text 53 65 72 69 65 73 20 6E 6F 74 Series not currently trading
20 63 75 72 72 65 6E 74 6C 79
20 74 72 61 64 69 6E 67 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
ReservedInternal 00 Ignore
NumberOfReturn 02 Two bitfields to follow
Bitfields
ReturnBitfield1 00 No bitfields from byte 1
ReturnBitfield2 01 Symbol
Symbol 30 30 51 30 6B 41 00 00 00Q0kA

4.2.6 Quote Update Rejected


Quote Update Rejected messages are sent in response to a Quote Update message when the entire quote
block is rejected by the order handler. No existing quotes are updated or cancelled as a result.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x58
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
QuoteUpdateID 18 16 Text Echoed back from the Quote Update request.
QuoteRejectReason 34 1 Text Reason for rejection of an entire Quote Update
message.
See Quote Reason Codes for a list of possible
quote reject codes.
Additional reasons may be added in the future
without warning.
Reserved 35 17 Binary Reserved for future expansion. Filled with 0.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 72
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Example Quote Update Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 32 00 50 bytes
MessageType 58 Quote Update Rejected
MatchingUnit 0 Unsequenced message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
QuoteUpdateID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
QuoteRejectReason 4D M = symbols not on same matching
engine
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00 00 00

4.2.7 Order Modified


Order Modified messages are sent in response to a Modify Request to indicate that the order has been
successfully modified.
Note: You must opt-in to receiving LeavesQty in Order Modified messages. In some cases, the last message to
be received on an order's lifecycle will be an Order Modified message. The way to know the order is no longer
live is to inspect LeavesQty. An example of this would be modification of an order whilst an execution is being
generated, resulting in the order being reduced to zero outstanding quantity.
Permitted return optional fields are described in ‘Section 6.5 – Order Modified’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x27
MatchingUnit 5 1 Binary The Matching Unit which created this message.
Matching units in BOE correspond to Matching
Units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per Matching Unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text Client order ID. This is the ClOrdID from the Modify
Order message.
OrderID 38 8 Binary Corresponds to OrderID (37) in Cboe FIX.
The unique OrderID. Modifications do not change
the OrderID.
ReservedInternal 46 1 Binary Reserved for Cboe internal use.
NumberOfReturn 47 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 48 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 73
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Example Order Modified Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 35 00 63 bytes
MessageType 27 Order Modified
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)
ReservedInternal 00 Ignore
NumberOfReturn Five bitfields to follow
05
Bitfields
ReturnBitfield1 04 Price
ReturnBitfield2 00 No fields from byte 2
ReturnBitfield3 00 No fields from byte 3
ReturnBitfield4 00 No fields from byte 4
ReturnBitfield5 02 LeavesQty
Price 08 E2 01 00 00 00 00 00 12.34
LeavesQty 00 00 00 00 0 (order done)

4.2.8 Order Restated


Order Restated messages are sent to inform the Member that an order has been asynchronously modified
for some reason without an explicit Modify Order request having been sent. Some example (non-exhaustive)
reasons for Order Restated messages being sent:
• A reserve (iceberg) order has been reloaded (BZX , C1, and C2 Only).
• An order's remaining quantity was decremented because of a prevented wash trade.
• An order is represented on the Cboe Options Trading Floor (C1 Only).
• A routed order has returned to rest on the book after matching liquidity on another market.
Members should be prepared to accept and apply Order Restated messages for any reason. The return bitfields
indicate the characteristics of the order which have changed. Optional fields will be present at the end of the
message with the new values.
Note: You must opt-in to receiving LeavesQty in Order Restated messages. In some cases, the last message to be
received on an order's lifecycle will be an Order Restated message. The way to know the order is no longer live
is to inspect LeavesQty. An example of this would be restatement of an order in some cases due to PreventMatch
being set to d.
Permitted return optional fields are described in ‘Section 6.6 – Order Restated’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x28
MatchingUnit 5 1 Binary The Matching Unit which created this message.
Matching units in BOE correspond to Matching
Units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per Matching Unit.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 74
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text The ClOrdID is the identifier from the open order.
OrderID 38 8 Binary Corresponds to OrderID (37) in Cboe FIX.
The unique OrderID. For informational purposes
only. Restatements do not change the OrderID.
RestatementReason 46 1 Alphanumeric The reason for this Order Restated message.
E = Reduction of OrdQty due to Equity Leg Reject
(C1 only)
F = Represented on Floor (C1 only)
L = Reload
P = Price Sliding Reprice
Q = Liquidity Updated
R = Reroute
S = Ship and Post (SWP)
W = Wash
f = Unsolicited Floor Action (C1 only)

Cboe reserves the right to add new values as


necessary without prior notice.
ReservedInternal 47 1 Binary Reserved for Cboe internal use.
NumberOfReturn 48 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 49 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example Order Restated Message for a reserve (iceberg) reload:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 41 00 65 bytes
MessageType 28 Order Restated
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)
RestatementReason 4C L = Reload
ReservedInternal 00 Ignore
NumberOfReturn Six bitfields to follow
06
Bitfields
ReturnBitfield1 00 No fields from byte 1
ReturnBitfield2 00 No fields from byte 2
ReturnBitfield3 00 No fields from byte 3
ReturnBitfield4 00 No fields from byte 4
ReturnBitfield5 02 LeavesQty
ReturnBitfield6 01 SecondaryOrderID
LeavesQty 64 00 00 00 100 contracts
SecondaryOrderID 0A 10 1E B7 5E 39 2F 02 171WC100000A (base 36)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 75
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4.2.9 Quote Restated


Quote Restated messages are sent to inform the Member that an order has been asynchronously modified for
some reason by the Exchange. For quotes, this could happen if the MTP decrement method has been used by an
inbound order against a resting quote. On BZX Options, if a hidden working price is covered by an inbound post only
order or quote, a restatement will also occur. Additional reasons may be added in the future.
This message may be expanded in length in the future with new fields added to the end. To maintain forward
compatibility, be prepared to receive a message longer than the documented length and to gracefully ignore those
extra fields.
Field Offset Length Data Type Description
StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x52
MatchingUnit 5 1 Binary The Matching Unit which created this message.
Matching units in BOE correspond to Matching
Units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per Matching Unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
QuoteUpdateID 18 16 Text Echoed back from the most recent Quote Update
request for this quote.
OrderID 34 8 Binary Corresponds to OrderID (37) in Cboe FIX.
The unique OrderID. For informational purposes
only. Restatements do not change the OrderID.
LeavesQty 42 4 Binary New quantity available for execution
WorkingPrice 46 8 Binary New working price
Symbol 54 6 Alphanumeric Cboe native identifier
Side 60 1 Alphanumeric 1 = Buy
2 = Sell
RestatementReason 61 1 Alphanumeric The reason for this Quote Restated message.
K = Price sliding reprice (BZX only)
Q = Liquidity
W = Wash
Cboe reserves the right to add new values as
necessary without prior notice.

Example Quote Restated Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 3C 00 60 bytes
MessageType 52 Quote Restated
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
QuoteUpdateID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)
LeavesQty 14 00 00 00 20 contracts

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 76
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

WorkingPrice AC 07 01 00 00 00 00 00 6.75
Symbol 30 30 34 63 53 73 004cSs
Side 31 1 = Buy
RestatementReason 4C L = Reload

4.2.10 User Modify Rejected


User Modify Rejected messages are sent in response to a Modify Order for an order which cannot be
modified. User Modify Rejected messages are unsequenced.
This message corresponds to a FIX Execution Report with MsgType (35) = 9 (Order Cancel Reject) and
CxlRejResponseTo (434) = 2 (Order Cancel/Replace Request).
Permitted return optional fields are described in ‘Section 6.7 – User Modify Rejected’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x29
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text The ClOrdID of the modify request which was
rejected.
ModifyReject 38 1 Text Reason for a modify rejection.
Reason
See Order Reason Codes for a list of possible
reasons.
Text 39 60 Text Human readable text with more information about
the reject reason.
ReservedInternal 99 1 Binary Reserved for Cboe internal use.
NumberOfReturn 100 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 101 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example User Modify Rejected Message:

Field Name Hexadecimal Notes


StartOfMessage BA BA Start of message bytes.
MessageLength 63 00 99 bytes
MessageType 29 User Modify Rejected
MatchingUnit 00 Unsequenced Message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 77
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
ModifyRejectReason 50 Pending Fill
Text 50 65 6E 64 69 6E 67 00 00 00 Pending
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
ReservedInternal 00 Ignore
NumberOfReturn 00 No optional fields
Bitfields

4.2.11 Order Cancelled


An order has been cancelled. Permitted return optional fields are described in ‘Section 6.8 – Order Cancelled’.
Field Offset Length Data Type Description
StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x2A
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per matching unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text The order which was cancelled.
CancelReason 38 1 Reason for the order cancellation.
Text See Order Reason Codes for a list of possible
reasons.
ReservedInternal 39 1 Binary Reserved for Cboe internal use.
NumberOfReturn 40 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 41 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example Order Cancelled Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 48 00 72 bytes
MessageType 2A Order Cancelled
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 78
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

00 00 00 00 00 00 00 00 00 00
CancelReason 55 U = User Requested
ReservedInternal 00 Ignore
NumberOfReturn
Bitfields 05 Five bitfields to follow
ReturnBitfield1 00 No fields from byte 1
ReturnBitfield2 00 No fields from byte 2
ReturnBitfield3 06 ClearingFirm, ClearingAccount
ReturnBitfield4 00 No fields from byte 4
ReturnBitfield5 01 OrigClOrdID
ClearingFirm 54 45 53 54 TEST
ClearingAccount 31 32 33 34 1234
OrigClOrdID 41 42 43 31 32 31 00 00 00 00 ABC121
00 00 00 00 00 00 00 00 00 00

4.2.12 Quote Cancelled


A Quote Cancelled message will be sent to indicate an unsolicited cancellation of a quote entered with a Quote
Update message. An unsolicited cancellation is used, for example, when a resting quote is cancelled due to MTP
with an inbound order or quotes are being cancelled due to a risk trip.
This message may be expanded in length in the future with new fields added to the end. To maintain forward
compatibility, be prepared to receive a message longer than the documented length and to gracefully ignore those
extra fields.
Field Offset Length Data Type Description
StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x53
MatchingUnit 5 1 Binary Unsequenced application message. MatchingUnit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message.
SequenceNumber will be set to 0.
TransactionTime The time the event occurred in the Cboe
10 8 DateTime Matching Engine (not the time the message was
sent).
QuoteUpdateID Echoed back from the most recent Quote
18 16 Text Update request for this quote.
OrderID 34 8 Binary Order ID assigned by the matching engine
Symbol 42 6 Alphanumeric Cboe native identifier
Side 48 1 Alphanumeric 1 = Buy
2 = Sell
CancelReason 49 1 Text Reason for the quote cancellation.
See Order Reason Codes for a list of possible
reasons.
CancelSubreason 50 1 Text Additional detail for the quote cancellation.
See Order and Quote Subreason Codes for a list
of possible reasons.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 79
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Example Quote Cancelled Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 31 00 49 bytes
MessageType 53 Quote Cancelled
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000

QuoteUpdateID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)
Symbol 30 30 36 69 70 41 006ipA
Side 32 2 = Sell
CancelReason 55 U = User
CancelSubreason 42 B = Purge/mass cancel symbol level by
user

4.2.13 Cross Order Cancelled (C1 and EDGX Only)


A New Order Cross has been cancelled. Individual order allocations from the original New Order Cross and New
Order Cross Multileg message will be echoed back in the repeating groups.

In each repeating group, the ClOrdID and OrderId are always returned. Beyond that, the bits specified in the optional
return bitfields parameter group control which fields are returned. Any fields that appear in the repeating groups
will not appear in the optional fields that come after the repeating groups.
Permitted return optional fields are described in ‘Section 6.9 – Cross Order Cancelled’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x46
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per matching unit.
The time the event occurred in the Cboe
TransactionTime 10 8 DateTime Matching Engine (not the time the message was
sent).
CrossID 18 20 Text The cross order which was cancelled.
CancelReason 38 1 Reason for the order cancellation.
Text See Order Reason Codes for a list of possible
reasons.
ReservedInternal 39 1 Binary Reserved for Cboe internal use.
NumberOfReturn 40 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 41 1 Binary Bitfield identifying fields to return.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 80
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

ReturnBitfieldᶯ 1 Binary Last bitfield.


GroupCnt Number of order allocations represented by
2 Binary repeating groups included in this message.
Repeating Groups
of…
ClOrdID 20 Text Copied from original cross order.
OrderID 8 Binary The order id of the cross order that was
cancelled.
Side 1 Alphanumeric See List of Optional Fields.
(Optional)
AllocQty 4 Binary See List of Optional Fields.
(Optional)
Capacity 1 Alpha See List of Optional Fields.
(Optional)
OpenClose 1 Alphanumeric See List of Optional Fields.
(Optional)
GiveUpFirmID 4 Alpha See List of Optional Fields.
(Optional)
Account 16 Text See List of Optional Fields.
(Optional)
CMTANumber 4 Binary See List of Optional Fields.
(Optional)
ClearingAccount 4 Text See List of Optional Fields.
(Optional)
Optional fields. . . Optional fields as set in the bitmap. Note, optional
fields that occur in the repeating groups appear
above, repeating per group, not within this block.

Example Cross Order Cancelled Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 8A 00 138 bytes
MessageType 46 Cross Order Cancelled
MatchingUnit 02 Matching Unit 2
SequenceNumber 01 00 00 00 Sequence number 1
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 4E 5A 31 56 37 42 4A 5F 41 63 NZ1V7BJ_AcceptBuy
63 65 70 74 42 75 79 00 00 00
CancelReason 55 U = User Requested
ReservedInternal 00 Ignore
NumberOfReturn
Bitfields 02 Two bitfields to follow
ReturnBitfield1 00 No fields from byte 1
ReturnBitfield2 41 Symbol, Capacity
GroupCnt 03 00 Two repeating groups to follow
ClOrdID 4E 5A 31 56 37 47 4E 5F 61 67 NZ1V7GN_agency
65 6E 63 79 00 00 00 00 00 00
OrderID 02 C0 91 A2 94 AB 78 04 2G4GYK000002 (base 36)
Capacity 43 C = Customer
ClOrdID 4E 5A 31 56 37 4B 46 5F 63 6F NZ1V7KF_contra1
6E 74 72 61 31 00 00 00 00 00
OrderID 03 C0 91 A2 94 AB 78 04 2G4GYK000003 (base 36)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 81
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Capacity 46 F = Firm
ClOrderID 4E 5A 31 56 37 4E 48 5F 63 6F NZ1V7NH_contra2
6E 74 72 61 32 00 00 00 00 00
OrderID 04 C0 91 A2 94 AB 78 04 2G4GYK000004 (base 36)
Capacity 46 F = Firm
Symbol 30 30 51 30 6B 41 00 00 00Q0kA

4.2.14 Cancel Rejected


A Cancel Rejected message is sent in response to a Cancel Order message to indicate that the cancellation
cannot occur. Cancel Rejected messages are unsequenced.
Permitted return bitfields are described in ‘Section 6.10 – Cancel Rejected’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x2B
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text The order whose cancel was rejected.
CancelRejectReason 38 1 Text Reason for the order cancellation.
See Order Reason Codes for a list of possible
reasons.
Text 39 60 Text Human readable text with more information about
the reject reason.
ReservedInternal 99 1 Binary Reserved for Cboe internal use.
NumberOfReturn 100 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 101 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example Cancel Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 63 00 99 bytes
MessageType 2B Cancel Rejected
MatchingUnit 00 Unsequenced Message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
CancelRejectReason 4A J

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 82
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Text 54 4F 4F 20 4C 41 54 45 00 00 TOO LATE


00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
ReservedInternal 00 Ignore
NumberOfReturn 00 No optional fields
Bitfields

4.2.15 Order Execution


An Order Execution is sent for each fill on an order.
Rather than returning a monetary value indicating the rebate or charge for an execution, the FeeCode is an indication
of a fee classification corresponding to an item on the venue's fee schedule.
For executions involving complex orders (C1, C2, and EDGX only), an Order Execution message will be generated
for the complex order, with MultilegReportingType = 3, followed by Order Execution messages for each leg, with
MultilegReportingType = 2. You must opt-in to receiving this optional field on Order Execution messages at login in
order to receive this field. If both sides of a complex/spread trade are on the same order entry session, Cboe does
not guarantee that the leg executions will not be interleaved between sides.
The symbology used on executions for complex orders, including the legs, will always be Cboe symbology.
Permitted return bitfields are described in ‘Section 6.12 – Order Execution’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x2C
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per matching unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text Order receiving the execution.
ExecID 38 8 Binary Corresponds to ExecID (17) in Cboe FIX.
Execution ID. Unique across all matching units on a
given day. Note: ExecIDs will be represented on
ODROP and FIXDROP ports as nine character, base
36 ASCII. Leading zeros should be added if the
converted base 36 value is shorter than nine
characters.
Example conversion:
Decimal Base 36
28294005440239 A1234B567
76335905726621 R248BC23H
728557228187 09AP05V2Z
LastShares 46 4 Binary Corresponds to LastShares (32) in Cboe FIX.
Executed share quantity.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 83
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

LastPx 50 8 Binary Price Corresponds to LastPx (31) in Cboe FIX.


Price of this fill. Note the use of Binary Price type
to represent positive and negative prices, which
can occur with complex instruments.
LeavesQty 58 4 Binary Corresponds to LeavesQty (151) in Cboe FIX.
Quantity still open for further execution. If zero,
the order is complete.
BaseLiquidity 62 1 Alphanumeric Indicates whether the trade added or removed
Indicator liquidity.
A = Added Liquidity
R = Removed Liquidity
X = Routed to Another Market
C = Auction/Uncrossing
SubLiquidityIndicator 63 1 Alphanumeric Cboe may add additional values without notice.
Members must gracefully ignore unknown values.
ASCII NUL (0x00) = No additional information
S = Execution from order that set the NBBO
B = Step Up Mechanism (C1 and EDGX Only)
U = Market Turner (C1 Only)
b = AIM (C1 and EDGX Only)
Q = QCC (C1 and EDGX Only)
s = SAM (C1 and EDGX Only)
P = PCC (C1 Only)
F = RFC (C1 Only)
ContraBroker 64 4 Alphanumeric Corresponds to ContraBroker (375) in Cboe FIX.
Simple Instrument Fills
Internally matched simple executions will identify
the OCC clearing number of the contra on the
execution. This includes leg fill reports
(MultilegReportingType=2) that are sent as a result
of a complex trade.
Executions matched on the C1 trading floor will
contain a value of ‘FBKR’ for ContraBroker for the
first reporter of a Broker to Broker floor trade
otherwise, this will identify the OCC clearing
number of the contra (C1 only).
Complex Package Fills
ContraBroker will be sent and populated on
electronic, complex package fills
(MultilegReportingType=3) when the contra side is
also a complex order. When legging in to the
simple books ContraBroker will be blank.
ContraBroker will be blank on complex package
fills (MultilegReportingType=3) executed on the
Cboe Options trading floor (C1 only).
Routed Fills
All externally matched (routed,
BaseLiquidityIndicator=X) executions will identify
the away exchange with the following possible
values.
AMEX = Routed to NYSE American
ARCA = Routed to NYSE Arca
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 84
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

BATS = Routed to Cboe BZX Options


BOX = Routed to BOX
CBOE = Routed to Cboe Options
CTWO = Routed to C2 Options
EDGX = Routed to Cboe EDGX Options
EMLD = Routed to MIAX Emerald
GMNI = Routed to Nasdaq GEMX
ISE = Routed to Nasdaq ISE
MEMX = Routed to MEMX
MERC = Routed to Nasdaq MRX
MIAX = Routed to MIAX Options Exchange
NOMX = Routed to Nasdaq
NOBX = Routed to Nasdaq BX
PERL = Routed to MIAX PEARL
PHLX = Routed to Nasdaq PHLX
SPHR = Routed to MIAX Sapphire
ReservedInternal 68 1 Binary Reserved for Cboe internal use.
NumberOfReturn 69 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 70 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields…

Example Order Execution Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 53 00 83 bytes
MessageType 2C Order Execution
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
ExecID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)
LastShares 64 00 00 00 100 contracts
LastPx 08 E2 01 00 00 00 00 00 12.34
LeavesQty 14 00 00 00 20 contracts
BaseLiquidityIndicator 41 A = Added
SubLiquidityIndicator 00 (unset)
ContraBroker 42 41 54 53 BATS
ReservedInternal 00 Ignore
NumberOfReturn 03 Three bitfields to follow
Bitfields
ReturnBitfield1 00 No bitfields from byte 1
ReturnBitfield2 00 No bitfields from byte 2
ReturnBitfield3 46 ClearingFirm, ClearingAccount,
OrderQty
ClearingFirm 54 45 53 54 TEST
ClearingAccount 31 32 33 43 1234
OrderQty 78 00 00 00 120 contracts

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 85
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4.2.16 Quote Execution


A Quote Execution message is used to indicate an execution has occurred on a resting quote.
This message may be expanded in length in the future with new fields added to the end. To maintain forward
compatibility, be prepared to receive a message longer than the documented length and to gracefully ignore those
extra fields.
Field Offset Length Data Type Description
StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x54
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per matching unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
QuoteUpdateID 18 16 Text Echoed back from the most recent Quote Update
request for this quote.
OrderID 34 8 Binary Order ID assigned by the matching engine
ExecID 42 8 Binary Corresponds to ExecID (17) in Cboe FIX.
Execution ID. Unique across all matching units on a
given day. Note: ExecIDs will be represented on
FIXDROP ports as nine character, base 36 ASCII.
Leading zeros should be added if the converted
base 36 value is shorter than nine characters.
Example conversion:
Decimal Base 36
28294005440239 A1234B567
76335905726621 R248BC23H
728557228187 09AP05V2Z
Symbol 50 6 Alphanumeric Cboe native identifier
ClearingFirm 56 4 Alpha Echoed back from the original quote
LastShares 60 4 Binary Coresponds to LastShares (32) in Cboe FIX.
Number of contracts being traded.
LastPx 64 8 Binary Price Corresponds to LastPx (31) in Cboe FIX.
Price of this fill.
LeavesQty 72 4 Binary Corresponds to LeavesQty (151) in Cboe FIX.
Quantity still open for further execution. If zero,
the order is complete.
ContraTrader 76 4 Alphanumeric Displays the EFID (ClearingFirm) of the contra
side firm.
ContraCapacity 80 1 Alphanumeric Capacity of the contra for this execution.
Side 81 1 Alpha 1 = Buy
2 = Sell
BaseLiquidity 82 1 Alpha Indicates whether the trade added or removed
Indicator liquidity.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 86
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

A = Added Liquidity
R = Removed Liquidity
C = Auction/Uncrossing
SubLiquidityIndicator 83 1 Alpha Cboe may add additional values without notice.
Members must gracefully ignore unknown values.
ASCII NUL (0x00) = No additional information
S = Execution from order that set the NBBO
B = Step Up Mechanism (C1 and EDGX Only)
b = AIM (C1 and EDGX Only)
Q = QCC (C1 and EDGX Only)
s = SAM (C1 and EDGX Only)
FeeCode 84 2 Alphanumeric Corresponds to FeeCode (9882) in Cboe FIX.
MarketingFeeCode 86 2 Alphanumeric Corresponds to MarketingFeeCode (5937) in Cboe
FIX.
EDGX Only. Will be blank on other Exchanges.

Example Quote Execution Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 56 00 86 bytes
MessageType 54 Quote Execution
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
QuoteUpdateID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)
ExecID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)
Symbol 30 30 36 69 70 41 006ipA
ClearingFirm 41 42 43 44 ABCD
LastShares 64 00 00 00 100 contracts
LastPx 70 17 00 00 00 00 00 00 0.60
LeavesQty 00 00 00 00 0 (order done)
ContraTrader 41 42 43 44 ABCD
ContraCapacity 43 C = Customer
Side 31 1 = Buy
BaseLiquidity Indicator 41 A = Added
SubLiquidityIndicator 4E N = Normal
FeeCode 41 42 AB
MarketingFeeCode 58 59 XY

4.2.17 Trade Cancel or Correct


Used to relay a trade which has been cancelled (busted) or corrected (price or size change only). The CorrectedPrice
and optional CorrectedSize fields will be set to 0 for cancelled trades and to the new trade price and/or size for
corrected trades. Trade Cancel or Correct can be sent for same day as well as previous day trades.
Trade cancels or corrections to complex instruments will result in individual Trade Cancel or Correct messages
being sent for each leg. No cancels or corrections will be sent for complex instruments.
Permitted return bitfields are described in ‘Section 6.12 – Trade Cancel or Correct’.

Field Offset Length Data Type Description

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 87
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

StartOfMessage 0 2 Binary Must be 0xBA 0xBA.


MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x2D
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per matching unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text ClOrdID of the order whose fill is being cancelled
or corrected.
OrderID 38 8 Binary Corresponds to OrderID (37) in Cboe FIX.
Order whose fill is being cancelled or corrected.
ExecRefID 46 8 Binary Corresponds to ExecRefID (19) in Cboe FIX.
Refers to the ExecID of the fill being cancelled or
corrected.
Side 54 1 Alphanumeric Side of the order.
BaseLiquidity 55 1 Alphanumeric Indicates whether the trade added or removed
Indicator liquidity.
A = Added Liquidity
R = Removed Liquidity
X = Routed to Another Market
C = Auction/Uncrossing
ClearingFirm 56 4 Alpha Echoed back from the original order.
ClearingAccount 60 4 Text Echoed back from the original order.
LastShares 64 4 Binary Number of shares of the trade being cancelled.
LastPx 68 8 Binary Price Price of the trade being cancelled.
Note the use of Binary Price type to represent
positive and negative prices, which can occur with
complex instruments.
CorrectedPrice 76 8 Binary Price For trade corrections, this is the new trade price.
For trade breaks, this is set to 0.
OrigTime 84 8 DateTime Corresponds to OrigTime (42).
The date and time of the original trade, in GMT.
ReservedInternal 92 1 Binary Reserved for Cboe internal use.
NumberOfReturn 93 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 94 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example Trade Cancel or Correct Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 88
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

MessageLength 76 00 118 bytes


MessageType 2D Trade Cancel or Correct
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)
ExecRefID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)
Side 31 Buy
BaseLiquidity Indicator 41 A = Added
ClearingFirm 54 45 53 54 TEST
ClearingAccount 00 00 00 00 (empty)
LastShares 64 00 00 00 100 contracts
LastPx 70 17 00 00 00 00 00 00 0.60
CorrectedPrice 00 00 00 00 00 00 00 00 0 (cancelled)
OrigTime E0 BA 75 95 15 4C EB 11 1,291,209,373,757,324,000
ReservedInternal 00 Ignore
NumberOfReturn 04 Four bitfields to follow
Bitfields
ReturnBitfield1 00 No fields from byte 1
ReturnBitfield2 01 Symbol
ReturnBitfield3 00 No fields from byte 3
ReturnBitfield4 17 MaturityDate, StrikePrice, PutOrCall,
OpenClose
Symbol 30 30 51 30 6B 41 00 00 00Q0kA
MaturityDate EF DB 32 01 2011-03-19
StrikePrice 98 AB 02 00 00 00 00 00 17.50
PutOrCall 31 1 = Call
OpenClose 4F O = Open

4.2.18 Purge Rejected


A Purge Rejected message is sent in response to a Purge Orders message to indicate that the mass cancellation
cannot occur. Purge Rejected messages are unsequenced.

Permitted return bitfields are described in ‘Section 6.13 – Purge Rejected’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x48
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
PurgeRejectReason 18 1 Text Reason for a purge rejection.
See Order Reason Codes for a list of possible
reasons.
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 89
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Text 19 60 Text Human readable text with more information about


the reject reason.
ReservedInternal 79 1 Binary Reserved for Cboe internal use.
NumberOfReturn 80 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield1 81 1 Binary Bitfield identifying fields to return.

ReturnBitfieldn 1 Binary Last bitfield.
Optional fields. . .

Example Purge Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 72 00 114 bytes
MessageType 48 Purge Rejected
MatchingUnit 00 Unsequenced Message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
PurgeRejectReason 41 A
Text 41 44 4D 49 4E 00 00 00 00 00 ADMIN
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
ReservedInternal 00 Ignore
NumberOfReturn Bitfields 0F 15 bitfields to follow
ReturnBitfield1 00 No fields from byte 1
ReturnBitfield2 00 No fields from byte 2
ReturnBitfield3 00 No fields from byte 3
ReturnBitfield4 00 No fields from byte 4
ReturnBitfield5 00 No fields from byte 5
ReturnBitfield6 00 No fields from byte 6
ReturnBitfield7 00 No fields from byte 7
ReturnBitfield8 00 No fields from byte 8
ReturnBitfield9 00 No fields from byte 9
ReturnBitfield10 00 No fields from byte 10
ReturnBitfield11 00 No fields from byte 11
ReturnBitfield12 00 No fields from byte 12
ReturnBitfield13 00 No fields from byte 13
ReturnBitfield14 00 No fields from byte 14
ReturnBitfield15 08 MassCancelID
MassCancelID 54 45 53 54 00 00 00 00 00 00 TEST
00 00 00 00 00 00 00 00 00 00

4.2.19 Reset Risk Acknowledgment


Response to a Reset Risk request.

Field Offset Length Data Type Description

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 90
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

StartOfMessage 0 2 Binary Must be 0xBA 0xBA.


MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x57
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
RiskStatusID 10 16 Text Unique identifier for this Reset Risk request.
Response message will have this corresponding
identifier.
RiskResetResult 26 1 Text <space> = Ignored; exceeds 1 reset per 100
milliseconds
C = Rejected; exceeds Custom Group ID limit
D = Rejected; automatic risk resets are disabled
E = Rejected; empty ResetRisk field
F = Rejected; exceeds firm reset limit
I = Rejected; incorrect data center
M = Rejected; invalid matching unit
S = Rejected; exceeds risk root reset limit
U = Rejected; invalid RiskRoot
Y = Success
c = Rejected; invalid EFID/ClearingFirm
y = Rejected; in replay
Additional reject values may be added in the
future with no notice.

Example Risk Reset Acknowledgment Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 19 00 25 bytes
MessageType 57 Risk Reset Acknowledgement
MatchingUnit 00 Unsequenced Message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0
RiskStatusID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00
RiskResetResult 00 Y = Success

4.2.20 Mass Cancel Acknowledgment


A Mass Cancel Acknowledgment is an unsequenced message sent when a Cancel Order or Purge Orders
message requesting a mass cancellation has completed cancelling all individual orders.

Multiple Mass Cancel Acknowledgment messages will be sent in response to Mass Cancel requests for
multi-unit orders (MassCancelInst, 2nd character = ‘I'). An acknowledgement message will be sent for each
matching unit followed by a final acknowledgement containing the total number of orders cancelled due to the
purge request across all matching units. This final acknoweldegment will have a SourceMatchingUnit value of ‘0’.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 91
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this field
but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x36
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit will
be set to 0.
SequenceNumber 6 4 Binary Unsequenced application. Message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
MassCancelID 18 20 Text Copied from the MassCancelID passed on the original
Cancel Order or Purge Orders. This field
corresponds to MassCancelID (7695) in Cboe FIX.
CancelledOrder Count 38 4 Binary Number of orders cancelled. This field corresponds to
CancelledOrderCount (7696) in Cboe FIX.
ReservedInternal 42 1 Binary Reserved for Cboe internal use.
SourceMatchingUnit 43 1 Binary Matching unit number on which orders were
cancelled by Purge Orders. The default value of
this field is '0' unless MassCancelInst, 2nd character =
‘I'.
This field corresponds to MatchingUnit (25017) in
Cboe FIX.

Example Mass Cancel Acknowledgment Message:


Field Name Hexadecimal Notes
StartOfMessage BA Start of message bytes.
MessageLength 29 00 41 bytes
MessageType 36 Mass Cancel Acknowledgment
MatchingUnit 00 Unsequenced Message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
MassCancelID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
CancelledOrderCount 63 00 00 00 99 orders were cancelled
ReservedInternal 00 Ignore
SourceMatchingUnit 00 Matching Unit 33

4.2.21 Purge Notification


A Purge Notification is an unsequenced message sent when the Acknowledgement Style of a Purge Request is
‘A’. One Pure Notification message is sent for each matching unit that cancelled orders for that order entry
port.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 92
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Permitted return bitfields are described in ‘Section 6.14 – Purge Notification’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this field
but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x63
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit will
be set to 0.
SequenceNumber 6 4 Binary Unsequenced application. Message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time that the mass cancel was completed in the
matching engine.
MassCancelID 18 20 Text Copied from the MassCancelID passed on the original
Cancel Order or Purge Orders. This field
corresponds to MassCancelID (7695) in Cboe FIX.
CancelledOrder Count 38 4 Binary Number of orders cancelled from the specified
matching unit that originated on this port. This field
corresponds to CancelledOrderCount (7696) in Cboe
FIX.
SourceMatchingUnit 42 1 Binary The matching unit on which the orders were
cancelled. This field corresponds to MatchingUnit
(25017) in Cboe FIX.
ClearingFirm 43 4 Alpha EFID used to filter the purge. If EFID was not used,
this will be blank. This field corresponds to
OnBehalfOfCompId (115) in Cboe FIX.
RiskRoot 47 6 Text Copied from original Purge Orders, if present. This
field corresponds to Symbol (55) in Cboe FIX.
MassCancelLockOut 53 1 Alpha Reported back with the following possible values.
Y = Lockout
N = No Lockout
This field corresponds to Lockout (7697) in Cboe FIX.
ReservedInternal 54 1 Binary Reserved for Cboe internal use.
NumberOfReturnBitfie 55 1 Binary Number of bitfields to follow.
lds
ReturnBitfield 56 1 Binary Bitfield identifying fields to return.
Optional fields. . .

Example Purge Notification Message:


Field Name Hexadecimal Notes
StartOfMessage BA Start of message bytes.
MessageLength 38 00 56 bytes
MessageType 63 Purge Notification
MatchingUnit 00 Unsequenced Message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
41 42 43 31 32 33 00 00 00
MassCancelID 00 ABC123
00 00 00 00 00 00 00 00 00
00
CancelledOrderCount 63 00 00 00 99 orders were cancelled

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 93
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

SourceMatchingUnit 03 Matching Unit 3


ClearingFirm 54 45 53 54 TEST
RiskRoot 4D 53 46 54 00 00 MSFT
MassCancelLockOut 31 Y = lockout
ReservedInternal 00 Ignore
NumberOfReturnBitfields 0 0

4.2.22 Complex Instrument Accepted (C1, C2, and EDGX Only)


The Complex Instrument Accepted is used to indicate acceptance of a complex strategy. The leg order sent
back may differ from the originating request; RevisedLegs will indicate if the leg order has been altered from the
original request.

Permitted return bitfields are described in ‘Section 6.15 – Complex Instrument Accepted’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x4D
MatchingUnit 5 1 Binary The matching unit which created this message.
Matching units in BOE correspond to matching
units on Multicast PITCH.
SequenceNumber 6 4 Binary The sequence number for this message. Distinct
per matching unit.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe Matching
Engine (not the time the message was sent).
ClOrdID 18 20 Text Echoed back from the original request.
Symbol 38 8 Alphanumeric The complex instrument id.
RevisedLegs 46 1 Alphanumeric Indicates if the legs on the created complex
strategy have been reordered from the original
request.
If the legs were reordered, the order of the Open-
Close fields on a New Complex Order must
be the order returned by the exchange, not the
order from the original request.
1 = Legs were not reordered
2 = Legs were reordered
NoOfSecurities 47 4 Binary Correspondes to NoOfSecurities (8641) in Cboe FIX.
Indicates the number of securities created by the
member in the trading session.
ReservedInternal 51 1 Binary Reserved for Cboe internal use.
NumberOf 52 1 Binary Number of bitfields to follow.
ReturnBitfields
ReturnBitfield¹ 53 1 Binary Bitfield identifying fields to follow.

ReturnBitfieldᶯ 1 Binary Last bitfield.
NoLegs 1 Binary Echoed back from the original request.
Repeating Group ComplexLeg must occur the number of times specified in NoLegs. Each field occurs in each
group, in order as shown below. Optional fields occur only if corresponding bits in bitfields are set.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 94
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

LegSymbol 8 Alphanumeric Corresponds to LegSymbol (600) in Cboe FIX.


Entire Cboe format symbol or OSI Root.
Must send LegCFICode, LegMaturityDate, and
LegStrikePrice if using OSI format.
LegCFICode 6 Alphanumeric Corresponds to LegCFICode (608) in Cboe FIX.
CFI Code for leg. Required if LegSymbol is in
OSI format.
OP = Options Put
OC = Options Call
E = Equity
LegMaturityDate 4 Date Corresponds to LegMaturityDate (611) in Cboe
FIX.
Required if LegSymbol is in OSI format.
LegStrikePrice 8 Binary Price Corresponds to LegStrikePrice (612) in Cboe
FIX.
Option strike price. System maximum is 99,999,999.
Must be non-negative.
Required if LegSymbol is in OSI format.
LegRatioQty 4 Binary Corresponds to LegRatioQty (623) in Cboe FIX.
Ratio of number of contracts in this leg per order
quantity.
Accepted values must be between 1 and 999,999.
LegSide 1 Alphanumeric Corresponds to LegSide (624) in Cboe FIX.
1 = Buy
2 = Sell
.
Optional fields… Optional fields as set in the bitmap. Note, optional
fields that occur in the repeating groups appear
above, repeating per group, not within this block.

Example Complex Instrument Accepted Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 7C 00 124 bytes
MessageType 4D Complex Instrument Accepted
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
Symbol 5A 4E 4B 38 46 43 00 00 ZNK8FC
RevisedLegs 31 Legs were not reordered
NoOfSecurities 04 00 00 00 Four complex strategies created by
sender
ReservedInteral 00 Ignore
NumberOfReturn 0D 13 bitfields to follow
Bitfields
ReturnBitfield1 00 No fields from byte 1
ReturnBitfield2 00 No fields from byte 2
ReturnBitfield3 00 No fields from byte 3
ReturnBitfield4 00 No fields from byte 4
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 95
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

ReturnBitfield5 00 No fields from byte 5


ReturnBitfield6 00 No fields from byte 6
ReturnBitfield7 00 No fields from byte 7
ReturnBitfield8 00 No fields from byte 8
ReturnBitfield9 00 No fields from byte 9
ReturnBitfield10 00 No fields from byte 10
ReturnBitfield11 00 No fields from byte 11
ReturnBitfield12 00 No fields from byte 12
ReturnBitfield13 06 LegCFICode, LegMaturityDate,
LegStrikePrice
NoLegs 02 Two legs
LegSymbol 4D 53 46 54 00 00 00 00 MSFT
LegCFICode 4F 43 00 00 00 00 OC = Option Call
LegMaturityDate EF DB 32 01 2011-03-19
LegStrikePrice 98 AB 02 00 00 00 00 00 17.50
LegRatioQty 02 00 00 00 Ratio of 2
LegSide 31 Buy
LegSymbol 4D 53 46 54 00 00 00 00 MSFT
LegCFICode 4F 50 00 00 00 00 OP = Option Put
LegMaturityDate F6 DB 32 01 2011-03-26
LegStrikePrice 30 E6 02 00 00 00 00 00 19.00
LegRatioQty 01 00 00 00 Ratio of 1
LegSide 32 Sell

Example Minimal Complex Instrument Accepted Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 47 00 71 bytes
MessageType 4D Complex Instrument Accepted
MatchingUnit 03 Matching Unit 3
SequenceNumber 64 00 00 00 Sequence number 100
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
Symbol 5A 4E 4B 38 46 43 00 00 ZNK8FC
RevisedLegs 30 Legs accepted as sent
NoOfSecurities 04 00 00 00 Four complex strategies created by
sender
NumberOfReturn 00 No bitfields follow
Bitfields
NoLegs 02 Two legs
LegSymbol 30 30 51 30 6B 41 00 00 00Q0kA
LegRatioQty 02 00 00 00 Ratio of 2
LegSide 31 Buy
LegSymbol 30 30 51 33 6B 43 00 00 00Q3kC
LegRatioQty 01 00 00 00 Ratio of 1
LegSide 32 Sell

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 96
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4.2.23 Complex Instrument Rejected (C1, C2, and EDGX Only)


The Complex Instrument Rejected message is used to indicate that a requested complex strategy has been
rejected. Complex Instrument Rejected messages are unsequenced.

Permitted return bitfields are described in ‘Section 6.16 – Complex Instrument Rejected’.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x4E
MatchingUnit 5 1 Binary Unsequenced application message. Matching unit
will be set to 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
TransactionTime 10 8 DateTime The time the event occurred in the Cboe
Matching Engine (not the time the message was
sent).
ClOrdID 18 20 Text Echoed back from the original request.
OrderRejectReason 38 1 Text Reason for an order rejection.
See Order Reason Codes for a list of possible
reasons.
Text 39 60 Text Human readable text with more information
about the reject reason.
NoOfSecurities 99 4 Binary Indicates the number of securities created by the
member in this trading session.
ReservedInternal 103 1 Binary Reserved for Cboe internal use.
NumberOfReturn 104 1 Binary Number of bitfields to follow.
Bitfields
ReturnBitfield¹ 105 1 Binary Bitfield identifying fields to return.

ReturnBitfieldᶯ 1 Binary Last bitfield.
Optional fields. . .

Example Complex Instrument Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes
MessageLength 67 00 103 bytes
MessageType 4E Complex Instrument Rejected
MatchingUnit 0 Unsequenced message, unit = 0
SequenceNumber 00 00 00 00 Unsequenced message, sequence = 0
TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
OrderRejectReason 44 D
Text 44 75 70 6C 69 63 61 74 65 20 Duplicate ClOrdID
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 97
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

43 6C 4F 72 64 49 44 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
NoOfSecurities 04 00 00 00 Four complex strategies created by
sender
ReservedInternal 00 Ignore
NumberOfReturn 00 No bitfields follow
Bitfields

4.2.24 Floor Trade Notification (C1 Only)


TPHs having in-person Market Makers on the Cboe trading floor may optionally receive Floor Trade Notification
messages. TPHs must request the Enable Floor Trade Notifications port attribute be enabled for one or more
floor acronyms in order to receive these messages. TPHs are encourage to use Floor Trade
Confirmation messages to respond to Floor Trade Notification messages if they agree with the
terms of the trade. Alternatively, an Add Floor Trade message may be used to enter their version of the
floor trade. If the floor trade notification is not known to the Market Maker (for example, if the TPH is
misidentified as a contra party to the floor trade), the message can be disregarded; a response is not required.
TPHs configured to be automatically endorsed to floor trades will not receive a Floor Trade
Notification; only an Order Executed message.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x62
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary The sequence number for this message.
ExecID 10 8 Binary Corresponds to ExecID (17) in Cboe FIX.
Execution ID. Unique across all matching units on a
given day. Note: ExecIDs will be represented on
ODROP and FIXDROP ports as nine character, base
36 ASCII. Leading zeros should be added if the
converted base 36 value is shorter than nine
characters.
Example conversion:
Decimal Base 36
28294005440239 A1234B567
76335905726621 R248BC23H
728557228187 09AP05V2Z
Symbol 18 8 Alphanumeric Corresponds to Symbol (55) in Cboe FIX.
Entire Cboe format symbol or OSI symbol if using
long format.
PutOrCall 26 1 Alphanumeric Corresponds to PutOrCall (201) in Cboe FIX.
0 = Put

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 98
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

1 = Call
NULL (0x00) filled if using Cboe format symbol.
StrikePrice 27 8 Binary Price Corresponds to StrikePrice (202) in Cboe FIX.
Strike Price for option, 0 – 999,999.99
NULL (0x00) filled if using Cboe format symbol.
MaturityDate 35 4 Date Corresponds to MaturityMonth (200) and
MaturityDay (205) in Cboe FIX.
NULL (0x00) filled if using Cboe format symbol.
OrderQty 39 4 Binary Corresponds to OrderQty (38) in Cboe FIX.
System limit is 999,999 contracts.
Price 43 8 Binary Price Corresponds to Price (44) in Cboe FIX.
Execution price.
Side 51 1 Alphanumeric Corresponds to Side (54) in Cboe FIX.
1 = Buy
2 = Sell
ContraTrader 52 4 Alpbanumeric Displays the Contra Trader floor acronym.
FloorTraderAcronym 56 3 Alpha Floor Acronym of participant submitting trade.
FloorTradeTime 59 8 DateTime Trade time
TradeThroughAlertType 67 1 Alphanumeric Corresponds to TradeThroughAlertType (21098) in
Cboe FIX.
Indication of a type of trade through.
0 No trade through
=
1 NBBO
=
2 BBO (local best bid or offer)
=
3 SBBO (market quote of complex derived by
=
legs)
4 = Book trade through (trade through customer
size)
5 = Due Dilligence trade through
PriceType 68 1 Alphanumeric Corresponds to PriceType (423) in Cboe FIX.
2 = (Default) Price per unit (contract)

Reserved 69 15 Reserved Reserved

Example Floor Trade Notification Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 52 00 82 bytes
MessageType 62 Floor Trade Notification
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 64 00 00 00 Sequence number 100
ExecID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)

Symbol 30 30 36 69 70 41 00 00 006ipA

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 99
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

PutorCall 00
StrikePrice 00 00 00 00 00 00 00 00
MaturityDate 00 00 00 00
OrderQty 64 00 00 00 100
Price C8 32 00 00 00 00 00 00 1.30
Side 31 1 = Buy
ContraTrader 41 41 41 41 AAAA
FloorTraderAcronym 42 42 42 BBB
FloorTradeTime 68 23 4A 8B 27 12 B4 15 1,563,894,931,654,321,000
TradeThroughAlertType 30 0 = No trade through
PriceType 32 2 = Price per unit
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00

4.2.25 Add Floor Trade Rejected (C1 Only)


The Add Floor Trade Rejected message is used to indicate that a requested Add Floor Trade has been
rejected. Add Floor Trade Rejected messages are unsequenced.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x5F
MatchingUnit 5 1 Binary Always 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
ClOrdID 10 20 Text Echoed back from the original request.
Symbol 30 8 Alphanumeric Corresponds to Symbol (55) in Cboe FIX.
Entire Cboe format symbol or OSI symbol if using
long format.
PutOrCall 38 1 Alphanumeric Corresponds to PutOrCall (201) in Cboe FIX.
0 = Put
1 = Call
NULL (0x00) filled if using Cboe format symbol.
StrikePrice 39 8 Binary Price Corresponds to StrikePrice (202) in Cboe FIX.
Strike Price for option, 0 – 999,999.99
NULL (0x00) filled if using Cboe format symbol.
MaturityDate 47 4 Date Corresponds to MaturityMonth (200) and
MaturityDay (205) in Cboe FIX.
NULL (0x00) filled if using Cboe format symbol.
MultilegReportingType 51 1 Alphanumeric Echoed back from the original request.
ComboOrder 52 1 Alpha Echoed back from the original request.
Account 53 16 Text Echoed back from the original request.
ClearingOptionalData 69 16 Text Echoed back from the original request.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 100
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

ClearingAccount 85 4 Text Echoed back from the original request..


CMTANumber 89 4 Binary Echoed back from the original request.
FloorTraderAcronym 93 3 Alpha Echoed back from the original request.
Side 96 1 Alphanumeric Echoed back from the original request.
OrderQty 97 4 Binary Echoed back from the original request.
Price 101 8 Binary Price Echoed back from the original request.
TransactionTime 109 8 DateTime Echoed back from the original request.
OpenClose 117 1 Alphanumeric Echoed back from the original request.
FloorTradeTime 118 8 DateTime Echoed back from the original request.
ContraTrader 126 4 Alphanumeric Echoed back from the original request.
Reserved 130 16 Reserved Reserved
RejectText 146 60 Text Human readable text with more information about
the reject reason.

Example Add Floor Trade Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength CC 00 204 bytes
MessageType 5F Add Floor Trade Rejected
MatchingUnit 00 Always 0 for inbound messages
SequenceNumber 00 00 00 00 Unsequenced message, sequence = 0
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
Symbol 30 30 36 69 70 41 00 00 006ipA
PutorCall 00
StrikePrice 00 00 00 00 00 00 00 00
MaturityDate 00 00 00 00
MultilegReportingType 31 1 = Single leg instrument
ComboOrder 4E N = No
Account 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
ClearingOptionalData 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
ClearingAccount 41 42 43 00 ABC
CMTANumber 00 00 00 00
FloorTraderAcronym 41 41 41 AAA
Side 31 1 = Buy
OrderQty 64 00 00 00 100 contracts
Price C8 32 00 00 00 00 00 00 1.30
TransactionTime 00 5C DB E2 27 12 B4 15 1,563,894,933,123,456,000
OpenClose 4F O = Open
FloorTradeTime 68 23 4A 8B 27 12 B4 15 1,563,894,931,654,321,000
ContraTrader 57 58 59 WXY
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00 00
RejectText 41 3A 20 46 6C 6F 6F 72 54 72 A:FloorTraderAcronym=AAA does not
61 64 65 72 41 63 72 6F 6E 79 have a floor permit
6D 3D 41 41 41 20 64 6F 65 73
20 6E 6F 74 20 68 61 76 65 20

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 101
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

61 20 66 6C 6F 6F 72 20 70 65
72 6D 69 74 00 00 00 00 00 00

4.2.26 Floor Trade Confirmation Rejected (C1 Only)


The Floor Trade Confirmation Rejected message is used to indicate that a requested Floor Trade
Confirmation has been rejected. Floor Trade Confirmation Rejected messages are unsequenced.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x5E
MatchingUnit 5 1 Binary Always 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
ClOrd 10 20 Text Echoed back from the original request.
ExecID 30 8 Binary Echoed back from the original request.
Symbol 38 8 Alphanumeric Corresponds to Symbol (55) in Cboe FIX.
Entire Cboe format symbol or OSI symbol if using
long format.
PutOrCall 46 1 Alphanumeric Corresponds to PutOrCall (201) in Cboe FIX.
0 = Put
1 = Call
NULL (0x00) filled if using Cboe format symbol.
StrikePrice 47 8 Binary Price Corresponds to StrikePrice (202) in Cboe FIX.
Strike Price for option, 0 – 999,999.99
NULL (0x00) filled if using Cboe format symbol.
MaturityDate 55 4 Date Corresponds to MaturityMonth (200) and
MaturityDay (205) in Cboe FIX.
NULL (0x00) filled if using Cboe format symbol.
TransactionTime 59 8 DateTime Echoed back from the original request.
PriceType 67 1 Alphanumeric Corresponds to PriceType (423) in Cboe FIX.
2 = (Default) Price per unit (contract)
Reserved 68 15 Reserved Reserved
RejectText 83 60 Text Human readable text with more information about
the reject reason.

Example Floor Trade Confirmation Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 8D 00 141 bytes
MessageType 5E Floor Trade Confirmation
Rejected
MatchingUnit 00 Always 0 for inbound messages

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 102
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

SequenceNumber 00 00 00 00 Unsequenced message, sequence = 0


ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00
ExecID 00 00 00 00 00 00 00 00
Symbol 30 30 36 69 70 41 00 00 006ipA
PutorCall 00
StrikePrice 00 00 00 00 00 00 00 00
MaturityDate 00 00 00 00
TransactionTime 68 23 4A 8B 27 12 B4 15 1,563,894,931,654,321,000

PriceType 32 2 = Price per unit


Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00
RejectText 41 3A 20 45 78 65 63 49 64 3A A: ExecId: ExecutionId empty
20 45 78 65 63 75 74 69 6F 6E
49 64 20 65 6D 70 74 79 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00

4.2.27 Delete Floor Trade Rejected (C1 Only)


The Delete Floor Trade Rejected message is used to indicate that a requested Delete Floor Trade
has been rejected. Delete Floor Trade Rejected messages are unsequenced.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x60
MatchingUnit 5 1 Binary Always 0.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
ClOrdID 10 20 Text Echoed back from the original request.
ExecID 30 8 Binary Echoed back from the original request.
Symbol 38 8 Alphanumeric Corresponds to Symbol (55) in Cboe FIX.
Entire Cboe format symbol or OSI symbol if using
long format.
PutOrCall 46 1 Alphanumeric Corresponds to PutOrCall (201) in Cboe FIX.
0 = Put
1 = Call
NULL (0x00) filled if using Cboe format symbol.
StrikePrice 47 8 Binary Price Corresponds to StrikePrice (202) in Cboe FIX.
Strike Price for option, 0 – 999,999.99
NULL (0x00) filled if using Cboe format symbol.
MaturityDate 55 4 Date Corresponds to MaturityMonth (200) and
MaturityDay (205) in Cboe FIX.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 103
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

NULL (0x00) filled if using Cboe format symbol.


Side 59 1 Alphanumeric Echoed back from the original request.
Reserved 60 16 Reserved Reserved
RejectText 76 60 Text Human readable text with more information about
the reject reason.

Example Delete Floor Trade Rejected Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 86 00 134 bytes
MessageType 60 Delete Floor Trade Rejected
MatchingUnit 00 Always 0
SequenceNumber 00 00 00 00 Unsequenced message, sequence = 0
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

ExecID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)


Symbol 30 30 36 69 70 41 00 00 006ipA
PutorCall 00
StrikePrice 00 00 00 00 00 00 00 00
MaturityDate 00 00 00 00
Side 31 1=Buy
Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00 00
RejectText 55 6E 6B 6E 6F 77 6E 20 73 79 Unknown symbol
6D 62 6F 6C 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 104
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

4.2.28 Delete Floor Trade Acknowledgement (C1 Only)


A Delete Floor Trade Acknowledgment is an unsequenced message sent when a Delete Floor Trade
message requesting has completed.

Field Offset Length Data Type Description


StartOfMessage 0 2 Binary Must be 0xBA 0xBA.
MessageLength 2 2 Binary Number of bytes for the message, including this
field but not including the two bytes for the
StartOfMessage field.
MessageType 4 1 Binary 0x61
MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages.
SequenceNumber 6 4 Binary Unsequenced application message. Sequence
number will be set to 0.
ClOrdID 10 20 Text Echoed back from the original request.
ExecID 30 8 Binary Corresponds to ExecID (17) in Cboe FIX.
Execution ID. Unique across all matching units on a
given day. Note: ExecIDs will be represented on
ODROP and FIXDROP ports as nine character, base
36 ASCII. Leading zeros should be added if the
converted base 36 value is shorter than nine
characters.
Example conversion:
Decimal Base 36
28294005440239 A1234B567
76335905726621 R248BC23H
728557228187 09AP05V2Z
Reserved 68 16 Reserved Reserved

Example Delete Floor Trade Acknowledgement Message:


Field Name Hexadecimal Notes
StartOfMessage BA BA Start of message bytes.
MessageLength 24 00 82 bytes
MessageType 61 Delete Floor Trade
Acknowledgement
MatchingUnit 00 Always 0
SequenceNumber 00 00 00 00 Unsequenced message, sequence = 0
ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123
00 00 00 00 00 00 00 00 00 00

ExecID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)


Reserved 00 00 00 00 00 00 00 00 00 00 Reserved
00 00 00 00 00 00

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 105
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

5 Input Bitfields Per Message


Legend:
R Indicates that the field must be specified for a message
● Indicates that the field can be specified for a message
– Indicates that the field cannot be requested for a message
(Blank) Indicates that the field is not used by Cboe Options and cannot be specified for a message
Input messages that containing invalid fields (i.e., Blank) will be rejected. In the case of rejected input messages,
the associated Reject message sent back to the customer will contain a ‘RejectReason’ code non-optional field
(See Order Reason Codes) and a ‘Text’ non-optional field containing descriptive text.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 106
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

5.1 New Order


Byte Bit Field Byte Bit Field
1 ClearingFirm ● 1 DisplayRange ●
2 ClearingAccount ● 2 StopPx ●
4 Price ● 4 RoutStrategy ●
8 ExecInst ● 8 RouteDeliveryMethod ●
1 6
16 OrdType ● 16 ExDestination ●
32 TimeInForce ● 32 EchoText ●
64 MinQty ● 64 AuctionId ●
128 MaxFloor ● 128 RoutingFirmID ●
1 Symbol R 1 AlgorithmicIndicator
2 SymbolSfx 2 CustomGroupId ●
4 Currency 4 ClientQualifiedRole
8 IdSource 8 InvestorQualifiedRole
2 7
16 SecurityId 16 ExecutorQualifiedRole
32 SecurityExchange 32 CtiCode
64 Capacity R 64 ManualOrderIndicator
128 RoutingInst ● 128 OperatorId
1 Account ● 1 (Reserved)
2 DisplayIndicator ● 2 (Reserved)
4 (Reserved) 4 ClearingOptionalData ●
8 DiscretionAmount 8 ClientIDAttr ●
3 8
16 PegDifference 16 FrequentTraderID ●
32 PreventMatch ● 32 Compression ●
64 LocateReqd 64 FloorDestination ●
128 ExpireTime ● 128 FloorRoutingInst ●
1 MaturityDate ● 1 OrderOrigin ●
2 StrikePrice ● 2 ORS ●
4 PutOrCall ● 4 PriceType ●
8 RiskReset ● 8 (Reserved)
4 9
16 OpenClose ● 16 (Reserved)
32 CMTANumber ● 32 (Reserved)
64 TargetPartyID ● 64 CrossTradeFlag
128 (Reserved) 128 (Reserved)
1 SessionEligibility ● 1 Held ●
2 AttributedQuote ● 2 LocateBroker
4 BookingType 4 (Reserved)
8 ExtExecInst 8 (Reserved)
5 10
16 ClientID 16 (Reserved)
32 InvestorID 32 (Reserved)
64 ExecutorID 64 (Reserved)
128 OrderOrigination 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 107
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

5.2 New Order Cross (C1 and EDGX Only)


Byte Bit Field Byte Bit Field
1 Symbol R 1 ClientIDAttr ●
2 MaturityDate ● 2 EquityTradePrice ●
4 StrikePrice ● 4 EquityTradeSize ●
8 PutOrCall ● 8 EquityTradeVenue ●
1 3
16 ExecInst ● 16 EquityTransactTime ●
32 AttributedQuote ● 32 EquityBuyClearingFirm ●
64 TargetPartyID ● 64 EquitySellClearingFirm ●
128 PreventMatch ● 128 SessionEligibility ●
1 AutoMatch ● 1 Compression ●
2 AutoMatchPrice ● 2 ORS ●
4 LastPriority ● 4 FrequentTraderID ●
8 Account ● 8 (Reserved)
2 4
16 CMTANumber ● 16 (Reserved)
32 ClearingAccount ● 32 (Reserved)
64 RoutingFirmID ● 64 (Reserved)
128 ClearingOptionalData ● 128 (Reserved)

5.3 New Complex Order (C1, C2, and EDGX Only)


Byte Bit Field Byte Bit Field Byte Bit Field
1 ClearingFIrm ● 1 ClientIDAttr ● 1 (Reserved)
2 ClearingAccount ● 2 FrequentTraderID ● 2 (Reserved)
4 Price ● 4 SessionEligibility ● 4 (Reserved)
8 OrdType ● 8 MaxFloor ● 8 (Reserved)
1 4 7
16 TimeInForce ● 16 DisplayRange ● 16 (Reserved)
32 Symbol ● 32 ComboOrder ● 32 (Reserved)
64 Capacity ● 64 Compression ● 64 (Reserved)
128 RoutingInst ● 128 EquityExDestination ● 128 Held ●
1 Account ● 1 EquityLegShortSell ● 1 (Reserved)
2 PreventMatch ● 2 FloorDestination ● 2 CrossInitiator ●
4 ExpireTime ● 4 FloorRoutingInst ● 4 CrossOnBehalfOfID* ●
8 CMTANumber ● 8 MultiClassSprd ● 8 (Reserved)
2 5 8
16 TargetPartyID ● 16 OrderOrigin ● 16 (Reserved)
32 AttributedQuote ● 32 ORS ● 32 (Reserved)
64 EchoText ● 64 PriceType ● 64 (Reserved)
128 AuctionId ● 128 StrategyID ● 128 (Reserved)
1 RoutingFirmID ● 1 (Reserved) *Effective 07/22/24

2 DrillThruProtection ● 2 ExecInst ●
4 RiskReset ● 4 TiedHedge ●
3 8 CustomGroupId ● 6 8 (Reserved)
16 LegSide 16 (Reserved)
32 EquityPartyId ● 32 (Reserved)
64 (Reserved) 64 (Reserved)
128 ClearingOptionalData ● 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 108
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

5.4 New Order Cross Multileg (C1 and EDGX Only)


Byte Bit Field Byte Bit Field
1 Symbol R 1 EquityPartyId ●
2 (Reserved) 2 EquityLegShortSell ●
4 (Reserved) 4 Reserved
8 (Reserved) 8 Reserved
1 4
16 ExecInst ● 16 DrillThruProtection ●
32 AttributedQuote ● 32 PriceType
64 TargetPartyID ● 64 EquityExDestination ●
128 PreventMatch ● 128 Compression ●
1 AutoMatch ● 1 ORS ●
2 AutoMatchPrice ● 2 FrequentTraderID ●
4 LastPriority ● 4 CrossInitiator ●
8 Account ● 8 LegPositionEffectsExt ●
2 5
16 CMTANumber ● 16 CrossOnBehalfOfID* ●
32 ClearingAccount ● 32 (Reserved)
64 RoutingFirmID ● 64 (Reserved)
128 ClearingOptionalData ● 128 (Reserved)
1 ClientIDAttr ● *Effective 07/22/24
2 EquityTradePrice ●
4 EquityTradeSize ●
3 8 EquityTradeVenue ●
16 EquityTransactTime ●
32 EquityBuyClearingFirm ●
64 EquitySellClearingFirm ●
128 SessionEligibility ●

5.5 Cancel Order


Byte Bit Field
1 ClearingFirm ●
2 MassCancelLockout
4 MassCancel
8 RiskRoot ●
1
16 MassCancelID ●
32 RoutingFirmID ●
64 ManualOrderIndicator
128 OperatorId
1 MassCancelInst ●
2 Symbol
4 SymbolSfx
8 SendTime R
2
16 (Reserved)
32 (Reserved)
64 (Reserved)
128 (Reserved)

ClearingFirm is required for service bureau ports.


SendTime is required for all Cancel Order messages.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 109
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

5.6 Modify Order


Byte Bit Field
1 ClearingFirm ●
2 (Reserved)
4 OrderQty R
8 Price R
1
16 OrdType ●
32 CancelOrigOnReject ●
64 ExecInst ●
128 Side –
1 MaxFloor ●
2 StopPx ●
4 RoutingFirmID ●
8 ManualOrderIndicator
2
16 OperatorId
32 FrequentTraderID –
64 (Reserved)
128 (Reserved)

The OrderQty and Price fields in the optional field block must be present on all Modify Order requests. Messages
sent without both fields will be rejected. Price is optional for market orders.
ClearingFirm is required for service bureau ports.

5.7 Purge Orders


Byte Bit Field
1 ClearingFirm ●
2 MassCancelLockout
4 MassCancelInst ●
8 RiskRoot ●
1
16 MassCancelID ●
32 RoutingFirmID ●
64 ManualOrderIndicator
128 OperatorId
1 Symbol
2 SymbolSfx
4 (Reserved)
8 (Reserved)
2
16 (Reserved)
32 (Reserved)
64 SendTime R
128 MatchingUnit ●

ClearingFirm is required for service bureau ports.


SendTime is requiredfor all Purge Orders messages.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 110
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

5.8 New Complex Instrument (C1, C2, and EDGX Only)


Byte Bit Field
1 LegCFICode ●
2 LegMaturityDate ●
4 LegStrikePrice ●
8 ClearingFirm ●
1
16 (Reserved)
32 (Reserved)
64 (Reserved)
128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 111
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6 Return Bitfields Per Message


Legend:
R Indicates that the field must be specified for a message
● Indicates that the field can be specified for a message
– Indicates that the field cannot be requested for a message
(Blank) Indicates that the field is not used by Cboe Options and cannot be specified for a message
Input messages that containing invalid fields (i.e., Blank) will be rejected. In the case of rejected input messages,
the associated Reject message sent back to the customer will contain a ‘RejectReason’ code non-optional field
(See Order Reason Codes) and a ‘Text’ non-optional field containing descriptive text.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 112
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.1 Order Acknowledgment


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator ● 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType ● 16 Bid 16 DayAvgPx –
32 TimeInForce ● 32 Offer 32 PendingStatus
64 MinQty ● 64 LargeSize 64 DrillThruProtection ●
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText ● 2 LegMaturityDate –
4 Currency 4 StopPx ● 4 LegStrikePrice –
8 IdSource 8 RoutingInst ● 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy ● 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod ● 32 UserRequestID
64 Capacity ● 64 ExDestination ● 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account ● 1 MarketingFeeCode ● 1 TradeReportingIndicator
2 ClearingFirm ● 2 TargetPartyID ● 2 EquityPartyId ●
4 ClearingAccount ● 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator ● 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor ● 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty ● 64 CrossType – 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization – 128 ClientIDAttr ●
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice ● 2 AllocQty ● 2 SessionEligibility ●
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder ●
8 OpenClose ● 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination ●
32 CorrectedSize ● 32 CrossExclusionIndicator ● 32 FloorRoutingInst ●
64 PartyID 64 PriceFormation 64 MultiClassSprd ●
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin ●
1 OrigClOrdID ● 1 ClientID 1 PriceType ●
2 LeavesQty ● 2 InvestorID 2 StrategyID ●
4 LastShares ● 4 ExecutorID 4 TradingSessionId
8 LastPx ● 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice ● 16 Algo 16 SenderLocationID –
32 WorkingPrice ● 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator ● 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime ● 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID ● 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator ●
4 ContraCapacity ● 4 OperatorId 4 Subreason –
8 AttributedQuote ● 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held ●
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData ● 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 113
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* ●
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 114
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.2 Cross Order Acknowledgment (C1 and EDGX only)


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText – 2 LegMaturityDate –
4 Currency 4 StopPx – 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity ● 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account ● 1 MarketingFeeCode – 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID ● 2 EquityPartyId ●
4 ClearingAccount ● 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty ● 64 CrossType ● 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization ● 128 ClientIDAttr ●
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice ● 2 AllocQty ● 2 SessionEligibility –
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder –
8 OpenClose ● 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize – 32 CrossExclusionIndicator – 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdId – 1 ClientID 1 PriceType
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator ●
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote ● 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData ● 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 115
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* ●
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 116
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.3 Order Rejected


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType ● 16 Bid 16 DayAvgPx –
32 TimeInForce ● 32 Offer 32 PendingStatus
64 MinQty ● 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText ● 2 LegMaturityDate –
4 Currency 4 StopPx ● 4 LegStrikePrice –
8 IdSource 8 RoutingInst ● 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy ● 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod ● 32 UserRequestID
64 Capacity ● 64 ExDestination ● 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account ● 1 MarketingFeeCode ● 1 TradeReportingIndicator
2 ClearingFirm ● 2 TargetPartyID ● 2 EquityPartyId ●
4 ClearingAccount ● 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator ● 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor ● 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty ● 64 CrossType – 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization – 128 ClientIDAttr ●
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice ● 2 AllocQty ● 2 SessionEligibility ●
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder ●
8 OpenClose ● 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination ●
32 CorrectedSize ● 32 CrossExclusionIndicator ● 32 FloorRoutingInst ●
64 PartyID 64 PriceFormation 64 MultiClassSprd ●
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin ●
1 OrigClOrdID – 1 ClientID 1 PriceType ●
2 LeavesQty – 2 InvestorID 2 StrategyID ●
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID ● 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator ●
4 ContraCapacity ● 4 OperatorId 4 Subreason ●
8 AttributedQuote ● 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held ●
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData ● 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 117
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* ●
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 118
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.4 Cross Order Rejected (C1 and EDGX Only)


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side – 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText – 2 LegMaturityDate –
4 Currency 4 StopPx – 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity – 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account – 1 MarketingFeeCode – 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID ● 2 EquityPartyId ●
4 ClearingAccount – 4 AuctionId – 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber – 32 ReportTime
64 OrderQty ● 64 CrossType ● 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization ● 128 ClientIDAttr –
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice ● 2 AllocQty – 2 SessionEligibility –
4 PutOrCall ● 4 GiveUpFirmID – 4 ComboOrder –
8 OpenClose – 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize – 32 CrossExclusionIndicator – 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator ●
4 ContraCapacity – 4 OperatorId 4 Subreason ●
8 AttributedQuote ● 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 119
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* ●
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 120
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.5 Order Modified


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType ● 16 Bid 16 DayAvgPx –
32 TimeInForce ● 32 Offer 32 PendingStatus
64 MinQty ● 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText ● 2 LegMaturityDate –
4 Currency 4 StopPx ● 4 LegStrikePrice –
8 IdSource 8 RoutingInst ● 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy ● 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod ● 32 UserRequestID
64 Capacity – 64 ExDestination ● 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account ● 1 MarketingFeeCode ● 1 TradeReportingIndicator
2 ClearingFirm ● 2 TargetPartyID ● 2 EquityPartyId –
4 ClearingAccount ● 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator ● 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor ● 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty ● 64 CrossType – 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate – 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice – 2 AllocQty ● 2 SessionEligibility –
4 PutOrCall – 4 GiveUpFirmID ● 4 ComboOrder ●
8 OpenClose – 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination ●
32 CorrectedSize – 32 CrossExclusionIndicator ● 32 FloorRoutingInst ●
64 PartyID 64 PriceFormation 64 MultiClassSprd ●
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin ●
1 OrigClOrdID ● 1 ClientID 1 PriceType ●
2 LeavesQty ● 2 InvestorID 2 StrategyID ●
4 LastShares ● 4 ExecutorID 4 TradingSessionId
8 LastPx ● 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice ● 16 Algo 16 SenderLocationID –
32 WorkingPrice ● 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator ● 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime ● 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID ● 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity ● 4 OperatorId 4 Subreason –
8 AttributedQuote ● 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held ●
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 121
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 122
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.6 Order Restated


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType ● 16 Bid 16 DayAvgPx –
32 TimeInForce ● 32 Offer 32 PendingStatus
64 MinQty ● 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText ● 2 LegMaturityDate –
4 Currency 4 StopPx ● 4 LegStrikePrice –
8 IdSource 8 RoutingInst ● 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy ● 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod ● 32 UserRequestID
64 Capacity ● 64 ExDestination ● 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account ● 1 MarketingFeeCode ● 1 TradeReportingIndicator
2 ClearingFirm ● 2 TargetPartyID ● 2 EquityPartyId –
4 ClearingAccount ● 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator ● 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor ● 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty ● 64 CrossType – 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization – 128 ClientIDAttr ●
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice ● 2 AllocQty ● 2 SessionEligibility –
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder ●
8 OpenClose ● 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination ●
32 CorrectedSize ● 32 CrossExclusionIndicator ● 32 FloorRoutingInst ●
64 PartyID 64 PriceFormation 64 MultiClassSprd ●
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin ●
1 OrigClOrdID ● 1 ClientID 1 PriceType ●
2 LeavesQty ● 2 InvestorID 2 StrategyID ●
4 LastShares ● 4 ExecutorID 4 TradingSessionId
8 LastPx ● 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice ● 16 Algo 16 SenderLocationID –
32 WorkingPrice ● 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator ● 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime ● 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID ● 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity ● 4 OperatorId 4 Subreason –
8 AttributedQuote ● 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held ●
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 123
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 124
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.7 User Modify Rejected


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side – 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price – 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst – 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol – 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText – 2 LegMaturityDate –
4 Currency 4 StopPx – 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity – 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account – 1 MarketingFeeCode – 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID – 2 EquityPartyId –
4 ClearingAccount – 4 AuctionId – 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber – 32 ReportTime
64 OrderQty – 64 CrossType – 64 LegSymbolSfx
128 PreventMatch – 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate – 1 CrossId ● 1 FrequentTraderID –
2 StrikePrice – 2 AllocQty ● 2 SessionEligibility –
4 PutOrCall – 4 GiveUpFirmID ● 4 ComboOrder –
8 OpenClose – 8 RoutingFirmID ● 8 Compression –
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize – 32 CrossExclusionIndicator ● 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType –
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote – 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 125
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 126
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.8 Order Cancelled


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType ● 16 Bid 16 DayAvgPx –
32 TimeInForce ● 32 Offer 32 PendingStatus
64 MinQty ● 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText ● 2 LegMaturityDate –
4 Currency 4 StopPx ● 4 LegStrikePrice –
8 IdSource 8 RoutingInst ● 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy ● 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod ● 32 UserRequestID
64 Capacity ● 64 ExDestination ● 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account ● 1 MarketingFeeCode ● 1 TradeReportingIndicator
2 ClearingFirm ● 2 TargetPartyID ● 2 EquityPartyId ●
4 ClearingAccount ● 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator ● 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor ● 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty ● 64 CrossType – 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice ● 2 AllocQty ● 2 SessionEligibility –
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder ●
8 OpenClose ● 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination ●
32 CorrectedSize ● 32 CrossExclusionIndicator ● 32 FloorRoutingInst ●
64 PartyID 64 PriceFormation 64 MultiClassSprd ●
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin ●
1 OrigClOrdID ● 1 ClientID 1 PriceType ●
2 LeavesQty ● 2 InvestorID 2 StrategyID ●
4 LastShares ● 4 ExecutorID 4 TradingSessionId
8 LastPx ● 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice ● 16 Algo 16 SenderLocationID –
32 WorkingPrice ● 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator ● 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime ● 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID ● 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator ●
4 ContraCapacity ● 4 OperatorId 4 Subreason ●
8 AttributedQuote ● 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held ●
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData ● 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 127
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* ●
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 128
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.9 Cross Order Cancelled (C1 and EDGX Only)


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText – 2 LegMaturityDate –
4 Currency 4 StopPx – 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity ● 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account ● 1 MarketingFeeCode – 1 TradeReportingIndicator
2 ClearingFirm ● 2 TargetPartyID ● 2 EquityPartyId ●
4 ClearingAccount – 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty ● 64 CrossType ● 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization ● 128 ClientIDAttr –
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice ● 2 AllocQty ● 2 SessionEligibility –
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder –
8 OpenClose ● 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize – 32 CrossExclusionIndicator – 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator ●
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote ● 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 129
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* ●
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 130
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.10 Cancel Rejected


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price ● 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst ● 8 Text 8 AvgPx –
1 7 13
16 OrdType ● 16 Bid 16 DayAvgPx –
32 TimeInForce ● 32 Offer 32 PendingStatus
64 MinQty ● 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText ● 2 LegMaturityDate –
4 Currency 4 StopPx ● 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity ● 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus –
1 Account – 1 MarketingFeeCode ● 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID ● 2 EquityPartyId –
4 ClearingAccount – 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId ●
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty – 64 CrossType – 64 LegSymbolSfx
128 PreventMatch – 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID –
2 StrikePrice ● 2 AllocQty ● 2 SessionEligibility –
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder –
8 OpenClose ● 8 RoutingFirmID ● 8 Compression –
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize ● 32 CrossExclusionIndicator ● 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType –
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote – 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData ● 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 131
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 132
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.11 Order Execution


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side ● 1 SubLiquidityIndicator – 1 CumQty ●
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty ●
4 Price ● 4 TradePublishIndReturn 4 DayCumQty ●
8 ExecInst ● 8 Text 8 AvgPx ●
1 7 13
16 OrdType ● 16 Bid 16 DayAvgPx ●
32 TimeInForce ● 32 Offer 32 PendingStatus
64 MinQty ● 64 LargeSize 64 DrillThruProtection ●
128 (Reserved) 128 LastMkt 128 MultilegReportingType ●
1 Symbol ● 1 FeeCode ● 1 LegCFICode –
2 SymbolSfx 2 EchoText ● 2 LegMaturityDate –
4 Currency 4 StopPx ● 4 LegStrikePrice –
8 IdSource 8 RoutingInst ● 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy ● 16 SecondaryExecId ●
32 SecurityExchange 32 RouteDeliveryMethod ● 32 UserRequestID
64 Capacity ● 64 ExDestination ● 64 SISUsername
128 ContraTrader ● 128 TradeReportRefID 128 UserStatus
1 Account ● 1 MarketingFeeCode ● 1 TradeReportingIndicator
2 ClearingFirm ● 2 TargetPartyID ● 2 EquityPartyId ●
4 ClearingAccount ● 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator ● 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor ● 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty ● 64 CrossType ● 64 LegSymbolSfx
128 PreventMatch ● 128 CrossPrioritization ● 128 ClientIDAttr ●
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID ●
2 StrikePrice ● 2 AllocQty ● 2 SessionEligibility –
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder ●
8 OpenClose ● 8 RoutingFirmID ● 8 Compression ●
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination ●
32 CorrectedSize ● 32 CrossExclusionIndicator ● 32 FloorRoutingInst ●
64 PartyID 64 PriceFormation 64 MultiClassSprd ●
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin ●
1 OrigClOrdID – 1 ClientID 1 PriceType ●
2 LeavesQty – 2 InvestorID 2 StrategyID ●
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType ●
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID ●
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym ●
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode ●
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator ●
4 ContraCapacity ● 4 OperatorId 4 Subreason –
8 AttributedQuote ● 8 TradeDate ● 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held ●
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData ● 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 133
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime ●
2 EquityExDestination ●
4 CrossOnBehalfOfID* ●
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 134
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.12 Trade Cancel or Correct


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side – 1 SubLiquidityIndicator ● 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price – 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst – 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol ● 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText – 2 LegMaturityDate –
4 Currency 4 StopPx – 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity ● 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account – 1 MarketingFeeCode ● 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID ● 2 EquityPartyId –
4 ClearingAccount – 4 AuctionId ● 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber ● 32 ReportTime
64 OrderQty – 64 CrossType – 64 LegSymbolSfx
128 PreventMatch – 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate ● 1 CrossId ● 1 FrequentTraderID –
2 StrikePrice ● 2 AllocQty – 2 SessionEligibility –
4 PutOrCall ● 4 GiveUpFirmID ● 4 ComboOrder –
8 OpenClose ● 8 RoutingFirmID ● 8 Compression –
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize ● 32 CrossExclusionIndicator ● 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType –
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote – 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 135
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 136
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.13 Purge Rejected


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side – 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price – 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst – 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol – 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText – 2 LegMaturityDate –
4 Currency 4 StopPx – 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity – 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account – 1 MarketingFeeCode – 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID – 2 EquityPartyId –
4 ClearingAccount – 4 AuctionId – 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId ●
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber – 32 ReportTime
64 OrderQty – 64 CrossType – 64 LegSymbolSfx
128 PreventMatch – 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate – 1 CrossId – 1 FrequentTraderID –
2 StrikePrice – 2 AllocQty – 2 SessionEligibility –
4 PutOrCall – 4 GiveUpFirmID – 4 ComboOrder –
8 OpenClose – 8 RoutingFirmID – 8 Compression –
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize – 32 CrossExclusionIndicator – 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType –
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote – 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 137
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 138
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.14 Purge Notification


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side – 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price – 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst – 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol – 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText – 2 LegMaturityDate –
4 Currency 4 StopPx – 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity – 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account – 1 MarketingFeeCode – 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID – 2 EquityPartyId –
4 ClearingAccount – 4 AuctionId – 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber – 32 ReportTime
64 OrderQty – 64 CrossType – 64 LegSymbolSfx
128 PreventMatch – 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate – 1 CrossId – 1 FrequentTraderID –
2 StrikePrice – 2 AllocQty – 2 SessionEligibility –
4 PutOrCall – 4 GiveUpFirmID – 4 ComboOrder –
8 OpenClose – 8 RoutingFirmID – 8 Compression –
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize – 32 CrossExclusionIndicator – 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType –
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote – 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 139
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 140
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.15 Complex Instrument Accepted (C1, C2 and EDGX Only)


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side – 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price – 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst – 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol – 1 FeeCode – 1 LegCFICode ●
2 SymbolSfx 2 EchoText – 2 LegMaturityDate ●
4 Currency 4 StopPx – 4 LegStrikePrice ●
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity – 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account – 1 MarketingFeeCode – 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID – 2 EquityPartyId –
4 ClearingAccount – 4 AuctionId – 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber – 32 ReportTime
64 OrderQty – 64 CrossType – 64 LegSymbolSfx
128 PreventMatch – 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate – 1 CrossId – 1 FrequentTraderID –
2 StrikePrice – 2 AllocQty – 2 SessionEligibility –
4 PutOrCall – 4 GiveUpFirmID – 4 ComboOrder –
8 OpenClose – 8 RoutingFirmID – 8 Compression –
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize – 32 CrossExclusionIndicator – 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType –
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote – 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 141
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 142
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

6.16 Complex Instrument Rejected (C1, C2, and EDGX Only )


Byte Bit Field Byte Bit Field Byte Bit Field
1 Side – 1 SubLiquidityIndicator – 1 CumQty –
2 PegDifference 2 TradeReportTypeReturn 2 DayOrderQty –
4 Price – 4 TradePublishIndReturn 4 DayCumQty –
8 ExecInst – 8 Text 8 AvgPx –
1 7 13
16 OrdType – 16 Bid 16 DayAvgPx –
32 TimeInForce – 32 Offer 32 PendingStatus
64 MinQty – 64 LargeSize 64 DrillThruProtection –
128 (Reserved) 128 LastMkt 128 MultilegReportingType –
1 Symbol – 1 FeeCode – 1 LegCFICode –
2 SymbolSfx 2 EchoText – 2 LegMaturityDate –
4 Currency 4 StopPx – 4 LegStrikePrice –
8 IdSource 8 RoutingInst – 8 RoomId
2 8 14
16 SecurityId 16 RoutStrategy – 16 SecondaryExecId –
32 SecurityExchange 32 RouteDeliveryMethod – 32 UserRequestID
64 Capacity – 64 ExDestination – 64 SISUsername
128 ContraTrader – 128 TradeReportRefID 128 UserStatus
1 Account – 1 MarketingFeeCode – 1 TradeReportingIndicator
2 ClearingFirm – 2 TargetPartyID – 2 EquityPartyId –
4 ClearingAccount – 4 AuctionId – 4 EquityNBBOProtect
8 DisplayIndicator – 8 OrderCategory 8 MassCancelId –
3 9 15
16 MaxFloor – 16 LiquidityProvision 16 TradePublishInd
32 DiscretionAmount 32 CmtaNumber – 32 ReportTime
64 OrderQty – 64 CrossType – 64 LegSymbolSfx
128 PreventMatch – 128 CrossPrioritization – 128 ClientIDAttr –
1 MaturityDate – 1 CrossId – 1 FrequentTraderID –
2 StrikePrice – 2 AllocQty – 2 SessionEligibility –
4 PutOrCall – 4 GiveUpFirmID – 4 ComboOrder –
8 OpenClose – 8 RoutingFirmID – 8 Compression –
4 10 16
16 ClOrdIdBatch 16 WaiverType 16 FloorDestination –
32 CorrectedSize – 32 CrossExclusionIndicator – 32 FloorRoutingInst –
64 PartyID 64 PriceFormation 64 MultiClassSprd –
128 AccessFee 128 ClientQualifiedRole 128 OrderOrigin –
1 OrigClOrdID – 1 ClientID 1 PriceType –
2 LeavesQty – 2 InvestorID 2 StrategyID –
4 LastShares – 4 ExecutorID 4 TradingSessionId
8 LastPx – 8 OrderOrigination 8 TradeThroughAlertType –
5 11 17
16 DisplayPrice – 16 Algo 16 SenderLocationID –
32 WorkingPrice – 32 DeferralReason 32 FloorTraderAcronym –
64 BaseLiquidityIndicator – 64 InvestorQualifiedRole 64 ExecLegCFICode –
128 ExpireTime – 128 ExecutorQualifiedRole 128 CustOrderHandlingInst
1 SecondaryOrderID – 1 CtiCode 1 (Reserved)
2 CCP 2 ManualOrderIndicator 2 CrossInitiator –
4 ContraCapacity – 4 OperatorId 4 Subreason –
8 AttributedQuote – 8 TradeDate – 8 CrossTradeFlag
6 12 18
16 ExtExecInst 16 ClearingPrice 16 (Reserved)
32 BulkOrderIds 32 ClearingSize 32 Held –
64 BulkRejectReasons 64 ClearingSymbol 64 LocateBroker
128 PartyRole 128 ClearingOptionalData – 128 (Reserved)

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 143
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Byte Bit Field Byte Bit Field Byte Bit Field


1 FloorTradeTime –
2 EquityExDestination –
4 CrossOnBehalfOfID* –
8 (Reserved)
19
16 IntraFirmTradeInd
32 (Reserved)
64 (Reserved)
128 (Reserved)

*Effective 07/22/24

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 144
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

7 List of Optional Fields


The following are descriptions of optional fields which may be sent or received.

Length
Field Data Type Description
Account 16 Text Corresponds to Account (1) in Cboe FIX.
Reflected back on execution reports associated with this order
and also passed through to the OCC in the Optional Data field
(16 characters) and Customer ID field (max 10 characters). May
be made available in the Member’s clearing file. A maximum of
10 characters will be passed through to the OCC Customer ID
Field but up to 16 characters will be maintain internally.
Characters in ASCII range 33-126 are allowed.
Account (1) will only be mapped to the OCC via the Customer ID
field (max 10 characters) and the new ClearingOptionalData
(9324) field will be mapped to the OCC via the Optional Data
field (16 characters).
AllocQty 4 Binary Corresponds to AllocQty (80) in Cboe FIX.
(C1 and EDGX only) Number of contracts for this party.

AttributedQuote 1 Alphanumeric Optional. Allows for an order to be attributed to a firm's


Executing Broker ID in Cboe market data feeds. The order may
also be included with attributed summary information displays
related to quote/trade information on the Cboe website. Must
opt-in to support through the Cboe Trade Desk.
On a New Order Cross and New Order Cross Multileg
this field is only applicable to the Agency order.
N = Do not attribute firm Executing Broker ID to this order
(Default)
Y = Attribute firm Executing Broker ID to this order
C = Attribute ClientID only.
Z = Attribute both ClearingFirm (EFID) and ClientID.
AuctionId 8 Binary Corresponds to AuctionId (9370) in Cboe FIX.
(C1, C2, and EDGX only) Auction order identifier supplied by Cboe. This identifier
corresponds to the identifiers used in Cboe market data
products.
AutoMatch 1 Alphanumeric Corresponds to AutoMatch (9040) in Cboe FIX.
(C1 and EDGX only) Better-priced responses will be matched by the Contra side.
Indicates the type of Auto Match the Contra Order will use.
Mutually exclusive with LastPriority. Limit type Auto Match
orders require AutoMatchPrice to be supplied.
0 = Disabled (Default)
1 = Market
2 = Limit

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 145
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
AutoMatchPrice 8 Binary Price Corresponds to AutoMatchPrice (9044) in Cboe FIX.
(C1 and EDGX only) Sets the limit price at which the Contra Order will Auto Match.
Required if AutoMatch = 2 (Limit), ignored otherwise. Format
is the same as Price.
AutoMatchPrice is from the perspective of the Contra Side.
Net Auction Price of the Strategy.
Buy Orders:
Positive Value, Debit
Negative Value, Credit
Even Order - 0 (Zero)
Sell Orders:
Positive Value, Credit
Negative Value, Debit
Even Order - 0 (Zero)

AvgPx 8 Binary Price Corresponds to AvgPx (6) in Cboe FIX.


Average price of executions for this order weighted by trade
size. Zero if CumQty field is zero or if MultilegReportingType =
2.
BaseLiquidityIndicator 1 Alphanumeric Indicates whether the trade added or removed liquidity.
A = Added Liquidity
R = Removed Liquidity
X = Routed to Another Market
C = Auction/Uncrossing
CancelOrigOnReject 1 Alpha Corresponds to CancelOrigOnReject (9619) in Cboe FIX.
Indicates handling of original order on failure to modify.
N = Leave original order alone
Y = Cancel original order if modification fails
Capacity 1 Alpha Corresponds to OrderCapacity (47) in Cboe FIX.
The capacity of the order.
C = Customer
M = Market Maker (this must be used for all Quote Update
messages)
F = Firm
U = Professional Customer
N = Away Market Maker
B = Broker-Dealer
J = Joint Back Office
L = Non-Trading Permit Holder Affiliate (C1 and C2 only)
ClearingAccount 4 Text Corresponds to OnBehalfOfSubID (116) and ClearingAccount
(440) in Cboe FIX.
Supplemental identifier. Recorded and made available in
execution reports. Available via Drop feeds.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 146
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
When Capacity is set to ‘M’ or ‘N’ for Market Maker, this field
should be filled with the desired market maker ID.
When Capacity is set to ‘M’ for Market-Maker, any
unregistered Market-Maker accounts in this field will cause an
order to be rejected with a reason code of ‘A’ and sub-reason
code ‘L’ and a quote to be rejected with a reason code of ‘C’.
When using CMTA, this value is the Market Maker ID for the
CMTA member instead of the Cboe member executing the
trade. This field will be sent to the OCC.
If Capacity is set to something besides Market Maker, this field
can be blank or filled out with an optional string that is passed
through to the OCC.
ClearingFirm 4 Alpha Corresponds to OnBehalfOfCompID (115) Cboe FIX.
EFID that will clear the trade. Port attribute value of ‘Default
EFID’ is used if not provided.
ClearingOptionalData 16 Text Corresponds to ClearingOptionalData (9324) in Cboe FIX.
This field will be reflected back on execution reports , FIX DROP
ports and it will be passed through to the OCC in the Optional
Data field.
ClientIDAttr 4 Text Corresponds to ClientID (109) Cboe FIX.
User defined identifier for quote attribution.
CMTANumber 4 Binary Corresponds to ClearingFirm (439) in Cboe FIX.
CMTA Number of the firm that will clear the trade. Must be
specified for CMTA orders and left unspecified for non-CMTA
orders.
ComboOrder 1 Alpha Corresponds to ComboOrder (22005) in Cboe FIX.
(C1 only) Declare the order as a Combo (for regulatory relief if trading
SPX on the floor).
N = (Default) No
Y = Yes
Compression 1 Alpha Corresponds to Compression (22006) in Cboe FIX.
(C1 only) Order is a compression trade.
N = (Default) No
Y = Yes
When CrossType (549) = ‘4’ this field should not be specified.
ContraCapacity 1 Alphanumeric Capacity of the contra for this execution. See Capacity for
allowed values.
ContraTrader 4 Alphanumeric Corresponds to ContraTrader (337) in Cboe FIX.
Only present on local book trades, not present on routed
trades.
Simple Instrument Fills
Displays the EFID (Contra ClearingFirm) of the contra side firm.
This includes leg fill reports (MultilegReportingType=2) that are
sent as a result of a complex trade.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 147
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
For Cboe Options floor trades, displays the Contra Floor
Acronym (C1 only).
Complex Package Fills
ContraTrader will be sent and populated on electronic, complex
package fills (MultilegReportingType=3) when the contra side is
also a complex order. When legging in to the simple books
ContraTrader will be blank.
ContraTrader will also be blank on complex package fills
executed on the Cboe Options trading floor (C1 only).
CorrectedSize 4 Binary Corresponds to CorrectedSize (6655) in Cboe FIX.
Number of shares after trade adjustment.
CrossExclusion 1 Alpha Corresponds to CrossExclusionIndicator (6438) in Cboe FIX.
Indicator N = Contracts were executed in auction against Contra party
or against a resting order when auction was initiated
(C1 and EDGX only) Y = Contracts were executed in auction against another party.
CrossID 20 Text Corresponds to CrossID (548) in Cboe FIX.
(C1 and EDGX only) Day-unique identier for the cross order chosen by the client.
Characters in the ASCII range 33-126 are allowed, except for
comma, semicolon,pipe, the ‘at’ symbol and double quotes.
CrossInitiator 4 Alpha Corresponds to CrossInitiator (22026) in Cboe FIX.
(C1 and EDGX only) MPID field required on orders routed to destinations via NYSE
Chicago using EquityExDestination (22016). Should be
populated with the originator or routing broker MPID. May or
may not be the same as the agency/contra MPID.
Note that Broker Choice will be allowed on any stock/option
order including orders of any ratio.
CrossOnBehalfOfID 4 Alpha Optional identifier of the initiating customer on orders routed
to destinations via NYSE Chicago using EquityExDestination
(C1 and EDGX only) (22016). Populate with the order initiator’s MPID or any other
(Effective 07/22/24) identifier of choice.
Should be populated if not the same broker specified in
CrossInitiator (22026).
Note that Broker Choice is allowed on any stock/option order
including FLEX or Non-FLEX orders of any ratio.
CrossType 1 Alphanumeric Corresponds to CrossType (549) in Cboe FIX.
Type of auction order being submitted. This indicates the type
of auction that will be initiated upon order entry.
1 = Automated Improvement Mechamism (AIM)
2 = Qualified Contingent Cross (QCC)
3 = Solicitation Cross (SAM) (C1 and EDGX only)
4 = Position Compression Cross (PCC) (C1 Only)
CrossPrioritization 1 Alphanumeric Corresponds to CrossPrioritization (550) in Cboe FIX.
(C1 and EDGX only) Indicates which side of the cross order will be prioritized for
execution. This identifies the Agency side.
1 = Buy
2 = Sell
CumQty 4 Binary Corresponds to CumQty (14) in Cboe FIX

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 148
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
Cumulative quanity of contracts executed for the order over
the life of the order, which may be multiple business days in
the case of persisting GTC/GTD orders.
Please refer the Complex Book Process Specification for special
C1 Floor Specific Handling.
CustomGroupID 2 Binary Corresponds to CustomGroupID (7699) in Cboe FIX for New
Order and Purge Orders messages.
Used to group orders for use in Purge Orders where multiple
orders can be cancelled by specifying a list of CustomGroupIDs.
DayAvgPx 8 Binary Price Corresponds to DayAvgPx (426) in Cboe FIX.
Applicable to persisting GTC/GTD orders only. Average price
per contract of executions on current business date. Zero if
DayCumQty is zero.
DayCumQty 4 Binary Corresponds to DayCumQty (425) in Cboe FIX.
Applicable to persisting GTC/GTD orders only. Cumulative
quantity of contracts executed for the order during the current
business day.
DayOrderQty 4 Binary Corresponds to DayOrderQty (424) in Cboe FIX.
Applicable to persisting GTC/GTD orders only. Contracts
remaning to be filled for the order at the beginning of the
current business day (i.e., OrderQty – CumQty at the end of the
previous business day).
DisplayIndicator 1 Alphanumeric Corresponds to DisplayIndicator (9479) in Cboe FIX.
V = Default. As determined by port level setting (default to S)
S = Display Price Sliding (this is to override a opt-out of
Display Price Sliding at the port level (BZX only)
L = Display Price Sliding, but reject if order crosses NBBO on
entry (BZX only)
M = Multiple Display Price Sliding (BZX only)
P = Price Adjust
m = Multiple Price Adjust
R = Reject the order if it cannot be booked and displayed
without adjustment.
N = NoRescrapeAtLimit (BZX only)
See ‘Display Indicator Features’ for more details on sliding
options.
DisplayPrice 8 Binary Price Only present when order is fully or partially booked. If the
order has to be displayed at a less aggressive price for some
reason, then that price will be reported here, otherwise equals
Price.
DisplayRange 4 Binary Corresponds to DisplayRange (8020) in Cboe FIX.
Used for random replenishment of reserve orders. Random
replenishment establishes a range of possible values for the
order quantity that is to be displayed. For example, if MaxFloor
= 2,000, and DisplayRange = 200, the displayed quantity will be

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 149
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
selected from one of the following values: 1,800, 1,900, 2,000,
2,100, or 2,200. Must be specified in round lots.
DrillThruProtection 8 Binary Price Corresponds to DrillThruProtection (6253) in Cboe FIX.
(C1, C2, and EDGX only) Amount sender is willing to trade through the SNBBO. A zero
price provides full SNBBO protection. The price should be
entered as a non-negative value.
Exchange default values are 5% of the opposite of the SNBBO,
with a minimum value of $0.02, a maximum value of $2.00 for
SPX/SPXW, and a maximum value of $0.25 for non-SPX/SPXW.
Values provided on a New Complex Order message do not
have a minimum or maximum.
EchoText 64 Text Corresponds to Text (58) in Cboe FIX.
Free format text string. May be echoed back on Cboe to
Member messages.
EquityBuyClearingFirm 4 Text Corresponds to EquityBuyClearingFirm (22014) in Cboe FIX.
(C1 and EDGX only) Clearing firm on buy side of the equity trade associated with a
QCC trade.
Valid when CrossType = ‘2’.

EquityExDestination 1 Alphanumeric Corresponds to EquityExDestination (22016) in Cboe FIX.


(C1 and EDGX only) Valid when an equity symbol is present in the complex
instrument.
Exchange venue to which equity leg matching will be
submitted. Supported values are:
C = Cowen (default)
P = Penserra via NYSE Chicago
F = FOG Equities via NYSE Chicago
L = Libucki & Co. via NYSE Chicago
S = SRT Securities via NYSE Chicago

If buyer and seller do not provide matching venues, then the


equity match will be reported to Cowen (‘C’).
EquityLegShortSell 1 Alphanumeric Corresponds to EquityLegShortSell (22624) in Cboe FIX.
(C1 and EDGX only) 5 = Sell Short (for stock leg)
6 = Sell Short Exempt (for stock leg)
EquityPartyId 4 Alpha Corresponds to EquityPartyId (22008) in Cboe FIX.
(C1 and EDGX only) MPID used to clear the equity leg being cleared via the
Exchange.
EquitySellClearingFirm 4 Text Corresponds to EquitySellClearingFirm (22015) in Cboe FIX.
(C1 and EDGX only) Clearing firm on sell side of the equity trade associated with a
QCC trade.
Valid when CrossType = ‘2’.
EquityTradePrice 8 Binary Price Corresponds to EquityTradePrice (22011) in Cboe FIX.
(C1 and EDGX only) Price at which the equity associated with a QCC trade.
Valid when CrossType = ‘2’.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 150
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
EquityTradeSize 4 Binary Corresponds to EquityTradeSize (22012) in Cboe FIX.
(C1 and EDGX only) Number of shares executed in the equity associated with a QCC
trade.
Valid when CrossType = ‘2’.
EquityTradeVenue 1 Text Corresponds to EquityTradeVenue (22013) in Cboe FIX.
(C1 and EDGX only) Exchange venue where equity associated with a QCC traded.
Valid when CrossType (549) = ‘2.
A = NYSE American
B = Nasdaq BX
C = NYSE National
I = Investors Exchange
J = Cboe EDGA Exchange
K = Cboe EDGX Exchange
M = CHX
N = NYSE
P = NYSE Arca
Q = Nasdaq
X = Nasdaq PSX
Y = Cboe BYX Exchange
Z = Cboe BZX Exchange

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 151
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
EquityTransactTime 8 DateTime Corresponds to EquityTransactTime (22060) in Cboe FIX.
(C1 and EDGX only) Time of equity trade associated with a QCC trade.
Valid when CrossType = ‘2’.
ExDestination 1 Text Corresponds to ExDestination (100) in Cboe FIX.
Used to specify the designated away venue for RoutStrategy =
DIRC.
A = NYSE ARCA
E = NASDAQ ISE
F = MIAX
P = MIAX PEARL
D = MIAX Emerald
G = EDGX Options
H = C2
K = BOX
M = MEMX
N = NASDAQ
S = NASDAQ BX
U = NYSE AMERICAN
W = Cboe Options (C1)
X = Nasdaq PHLX
Z = BZX Options
g = Nasdaq GEMX
m = Nasdaq MRX
w = MIAX Sapphire
ExecInst 1 Text Corresponds to ExecInst (18) in Cboe FIX.
1 = Not held. Must be routed to the floor. (C1 only)
f = Intermarket Sweep (Directed or Cboe)
r = Settlement Liquidity1 (C1 only)
G = All or None (AON) (C1 and EDGX only)
s = Sweep2 (C1 and EDGX only)
ASCII NULL (0x00) = no special handling
1
Requires TimeInForce = 2 and Price.
2
Used for New Order Cross and New Order Cross
Multileg only. Requires CrossType = 1 (AIM).
ExecLegCFICode 6 Alphanumeric Corresponds to LegCFICode (608) in Cboe FIX.
CFI Code for leg on execution.
OP = Options Put
OC = Options Call
E = Equity
ExpireTime 8 DateTime Corresponds to ExpireTime (126) in Cboe FIX.
Required for TimeInForce = 6 orders, specifies the date-time (in
UTC) that the order expires.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 152
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
FeeCode 2 Alphanumeric Corresponds to FeeCode (9882) in Cboe FIX.
Indicates fee associated with an execution. Fee codes are
published in the pricing schedule. New fee codes may be sent
with little or no notice. Members are encouraged to code their
systems to accept unknown fee codes.
FloorDestination 4 Text Corresponds to FloorDestination (22100) in Cboe FIX.
(C1 only) Specifies a default PAR workstation (ex. W001) to route to on
the floor (or ‘PARO’ to route to the Floor PAR Official of the
underlying symbol) if not specified on inbound messages.
FloorRoutingInst 1 Alphanumeric Corresponds to FloorRoutingInst (22303) in Cboe FIX.
(C1 only) D = Direct (do not attempt to process electronically) 1
E = Electronic only
X = Route to floor if unable to process electronically 1
<blank> = Port level default
The default value for any given port can be changed by
requesting an update to the "Default FloorRoutingInst" port
attribute.
1
When FloorRoutingInst is ’D’ or ‘X’, RoutingInst must be set to ‘B’ or
‘R’ for simple orders; or ‘B’ for complex instruments.
FrequentTraderID 6 Text Corresponds to FrequentTraderId (21097) in CFE FIX.
(C1 only) Identifies the frequent trader program in which the order is
participating.
GiveUpFirmID 4 Alpha Corresponds to GiveupFirmID (9946) in Cboe FIX.
(C1 and EDGX only) For the Agency Side, this field must equal the value of
ClearingFirm (EFID). Each Contra allocation will use this field
instead of ClearingFirm for clearing information.
Held 1 Alpha Corresponds to Held (20012) in Cboe FIX.
(C1 only) Indicates if order should be designated as 'Held' upon order
entry.
N = Mark order as Not Held
Y = Mark order as Held
Default value is 'N' if the order is direct routed to a Non-PAR
Official on the floor.
LastPriority 1 Alphanumeric Corresponds to LastPriority (9849) in Cboe FIX.
(C1 and EDGX only) When enabled, allocation will go to other participants’
responses before requiring the Contra Order to satisfy
remaining contracts of the Agency Order. Mutually exclusive
with AutoMatch.
0 = Disabled (Default)
1 = Enabled
LastPx 8 Binary Price Corresponds to LastPx (31) in Cboe FIX.
Price of this fill.
LastShares 4 Binary Corresponds to LastShares (32) in Cboe FIX.
Executed share quantity.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 153
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
LeavesQty 4 Binary Corresponds to LeavesQty (151) in Cboe FIX.
Quantity still open for further execution. If zero, the order is
complete.
LegCFICode 6 Alphanumeric Corresponds to LegCFICode (608) in Cboe FIX.
(C1, C2, and EDGX only) CFI Code for leg.
OP = Options Put
OC = Options Call
E = Equity (C1 and EDGX only)
LegMaturityDate 4 Date Corresponds to LegMaturityDate (611) in Cboe FIX.
(C1, C2, and EDGX only) Required if LegSymbol is in OSI format.
LegPositionEffectsExt 16 Alpha Indicates status of the client position in the option for each
complex option leg. This value String of characters ‘O’, ‘C’, and
‘N’, is equal in length to the number of option legs of the
instrument. If an equity leg is present it will always be the last
leg, and the position effect must be set to ‘N’.
O = Open
C = Close
N = None*
*Orders with Capacity = ‘M’ or ‘N’ will not be required to specify
a position effect on their orders or may specify a value of ‘N’. A
<blank> will be sent to OCC.
If the leg is limited to closing only transactions, only Capacity =
‘M’ will be permitted to submit OpenClose = ‘O’ if the order has
TimeInForce = ‘3’ (IOC) and RoutingInst = ‘B’.
If this field is present it will be used instead of the
LegPositionEffects field in the New Cross Order Multileg
message. This field is intended to be used with complex
instruments containing greater than 12 legs, however it can be
used with a complex instrument with 12 or fewer legs.

LegStrikePrice 8 Binary Price Corresponds to LegStrikePrice (612) in Cboe FIX.


(C1, C2, and EDGX only) Option strike price. System maximum is 999,999.99. Must be
non-negative.
Required if LegSymbol is in OSI format.
MarketingFeeCode 2 Alphanumeric Corresponds to MarketingFeeCode (5937) in Cboe FIX.
(C1 and EDGX only) P = Penny Pilot
N = Non-Penny Pilot
X = Not Eligible for Marketing Fees
MassCancelID 20 Text Corresponds to MassCancelID (7695) in Cboe FIX.
If the populated value ends in a space the message will be
rejected. Mass cancel requests containing a currently
outstanding MassCancelID will be rejected.
This field will be echoed back in the resulting response message
when the single acknoweldgement style is selected.
MassCancelInst 16 Text Corresponds to MassCancelInst (7700) in Cboe FIX. Used for
specification of Purge Orders functionality and optionally

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 154
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
used for specification of Mass Cancel functionality associated
with the Cancel Order message.
At least one character must be provided (Clearing Firm Filter).
Contiguous characters must be specified up to total length.
Truncated/unspecified characters will default to values
indicated (D) below.
EFID values specified in OnBehalfOfCompId that are not allowed
to clear for the firm will be rejected.

1st Character: Clearing Firm Filter


A = No filtering by clearing firm relationship is performed.
F = All orders that were sent under the clearing relationship
specified in ClearingFirm optional field. If ‘F’ specified
and the ClearingFirm field is not provided, the Mass
Cancel or Purge Orders will be rejected. If ‘F’ specified
and the ClearingFirm field is provided but is blank (NULL),
the Mass Cancel or Purge Orders will be treated like
‘A’, and no filtering by clearing firm relationship is
performed.

2nd Character: Acknowledgement Style


M = (D) Order Cancelled messages are sent for each
cancelled order. If ‘M’ is set and the MassCancelID
optional field is specified but the value is not blank
(NULL), then the Mass Cancel will be rejected. For a
Purge Orders message ‘M’ will be accepted with a
non-blank MassCancelID value.
S = A single Mass Cancel Acknowledgement message is
sent once all cancels have been processed. The
MassCancelID optional field must be specified or the
Mass Cancel or Purge Orders will be rejected.
B = Both individual Order Cancelled and Mass Cancel
Acknowledgement messages will be sent. Also requires
MassCancelID optional filed to be specified or the Mass
Cancel or Purge Orders will be rejected.
A = A single Mass Cancel Acknowledgement message is
sent to the purge port and one Purge Notification
message for each matching unit with cancelled orders is
sent to the order entry ports that originated those orders.
The message type must be Purge Orders; Mass
Cancel messages specifying this style will be rejected.
The CancelledOrderCount field of the purge port message
will contain a count of all cancelled orders. The same field
of the order entry port messages will contain a count of
all cancelled orders from the specified matching unit that
originate from the port. The MassCancelID optional field
must be specified or the Purge Orders will be rejected.
I = A single Mass Cancel Acknowledgement message is
sent for each matching unit impacted in a multi-unit
cancel. The message type must be Purge Orders;
Mass Cancel messages specifying this style will be
rejected. A final acknowledgement is sent when the last
matching unit has completed all requested cancellations.
MassCancelId (7695) must be specified, or the Purge
Order will be rejected .

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 155
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description

3rd Character: Lockout Instruction


N = (D) No lockout
L = Lockout until corresponding a risk reset is received.
Lockout can be used only with Clearing Firm Filter set to
‘F’, otherwise the Mass Cancel or Purge Orders will
be rejected. Lockout will apply to all new orders for the
ClearingFirm (and ProductName or CustomGroupIDs, if
specified), regardless of other filtering in the Purge
Orders or Cancel Order message.

4th Character: Instrument Type Filter (C1, C2, and EDGX Only)
Value will be ignored on BZX Options.
B = (D) Cancel both single leg and complex orders
S = Cancel single leg orders only
C = Cancel complex orders only

5th Character: GTC Order Filter


C = (D) Cancel GTC and GTD orders
P = Don’t cancel (preserve) GTC and GTD orders

If the RiskRoot optional field is specified, it must contain a valid


symbol (e.g., ‘MSFT’), in which case only orders associated with
the specified RiskRoot will be cancelled.

A self-imposed lockout can be released using the RiskReset


field of the New Order or New Complex Order message or
by sending a Reset Risk message. If RiskRoot optional field
is specified, a symbol level reset is required, otherwise a EFID
level reset is required to release a lockout. For more
information, refer to the ‘Cboe Risk Management
Specification’.

If a risk limit is tripped or manually locked out at the end of the


RTH session, the trip/lockout will persist into the Curb session
(C1 only).
MatchingUnit 1 Binary Corresponds to MatchingUnit (25017) in Cboe FIX.
Matching unit number the Purge Orders message will be
sent toward. If blank or 0, the Purge Orders message will
be sent to all units. Incompatible with symbol-level purges,
specifying both symbol and MatchingUnit will cause the
Purge Orders message to be rejected.
If both MassCancelInst lockout instruction = ‘L’ and
MatchingUnit are specified, a lockout will occur and will impact
only the specified matching unit. Subsequent risk resets will
clear risk locks on all units.
MaturityDate 4 Date Corresponds to MaturityMonth (200) and MaturityDay (205) in
Cboe FIX.
MaxFloor 4 Binary Corresponds to MaxFloor (111) in Cboe FIX.
Portion of OrderQty to display. The balance is reserve. Zero
displays the entire quantity. The displayed quantity of each
order at a price level is decremented first. When displayed

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 156
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
quantity is fully decremented, it is reloaded up to MaxFloor
from reserve.
Default = 0
An order with a MaxFloor greater than 0 will be rejected for
Cboe proprietary classes (such as DJX, RUT, SPX, XSP, and VIX).
MinQty 4 Binary Corresponds to MinQty (110) in Cboe FIX.
Minimum fill quantity for IOC orders which only interact with
liquidity on the target book. Ignored for other orders.
MultiClassSprd 1 Alpha Indicates an option is part of a multi-class spread.
(C1 only) N = (Default) No
Y = Yes
MultilegReportingType 1 Alphanumeric Corresponds to MultilegReportingType (442) in Cboe FIX
(C1, EDGX and C2 only) Indicates the type of Order Execution message.
1 = Single-leg instrument
2 = Individual leg of multi-leg instrument
3 = Entire multi-leg instrument package
NoOfSecurities 4 Binary Corresponds to NoOfSecurities (8641) in Cboe FIX.
(C1, C2, and EDGX only) Indicates the number of securities created by the member in
this trading session.
OpenClose 1 Alphanumeric Corresponds to OpenClose (77) in Cboe FIX.
Indicates status of client position in the option.
O = Open
C = Close
N = None*
*Orders with Capacity = ‘M’ or ‘N’ will not be required to
specify OpenClose on their orders. A value of ‘N’ may
optionally be specified unless the series is limited to closing
only.
If the series is limited to closing only transactions, only Capacity
= ‘M’ will be permitted to submit OpenClose = ‘O’ if the order
has TimeInForce = ‘3’ (IOC) and RoutingInst = ‘B’, or the order
has a RoutingInst = ‘P’.
An Open position cannot trade with an Open position for series
limited to Closing Only transactions, even if the inbound IOC
from the aggressing market maker is sent with that
combination of tags.
OrderOrigin 3 Alphanumeric Corresponds to OrderOrigin (9465) in Cboe FIX.
(C1 only) Floor acronym of Market Maker on whose behalf this order is
being entered by a floor broker.
OrderQty 4 Binary Corresponds to OrderQty (38) in Cboe FIX.
Order quantity. System limit is 999,999 contracts.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 157
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
OrdType 1 Alphanumeric Corresponds to OrdType (40) in Cboe FIX.
1 = Market
2 = Limit (default)
3 = Stop
4 = Stop Limit
Market implies TimeInForce of IOC (3).
Stop/Stop Limit orders must be set to TimeInForce = ‘0’ (DAY),
‘1’ (GTC), or ‘6’ (GTD). Note market and stop/stop limit orders
are not supported during GTH or Curb sessions.
OrigClOrdID 20 Text Corresponds to OrigClOrdID (41) in Cboe FIX.
OrigCrossID 20 Text Corresponds to OrigCrossID (551) in Cboe FIX.
ORS 1 Alpha Corresponds to ORS (22003) in Cboe FIX.
(C1 only) Order router subsidy eligibility (used for billing purposes).
N = (Default) No
Y = Yes
PreventMatch 3 Alpha Corresponds to PreventMatch (7928) in Cboe FIX.
Three characters:
1st character - MTP Modifier:
N = Cancel Newest
O = Cancel Oldest
B = Cancel Both
S = Cancel Smallest
D = Decrement larger / Cancel Smaller
d = Same as D above, but only decrement LeavesQty. Do not
restate OrderQty.
2nd character - Unique ID Level:
F = Prevent Match at Firm(Member) Level
M = Prevent Match at EFID Level
3rd character - Trading Group ID (optional):
Member specified alphanumeric value 0-9, A-Z, or a-z.
The Unique ID level (character 2) of both orders must match to
prevent a trade. If specified on both orders, Trading Group ID
(character 3) must match to prevent a trade.
The MTP Modifier (character 1) of the inbound order will be
honored, except that if the inbound order specifies Decrement
and the resting order does not, and the resting order is larger,
then both orders will be cancelled. This exception is to protect
the order entry software for the resting order from receiving an
unexpected restatement message.
If order entry software is prepared to handle unexpected
restatement messages, this exception may be override at the
port level by requesting “Allow MTP Decrement Override"
functionality.
Uses of MTP Modifier ‘D’ or ‘d’ and users of “Allow MTP
Decrement Override” functionality must be prepared to receive
an Order Restated message that decrements LeavesQty
(and, for method ‘D’, OrdQty as well).

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 158
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
On a New Order Cross, only ‘N’ and ‘O’ are supported for the
MTP modifier. MTP instructions on AIM orders will be used to
prevent executions against AIM responses only; they will
permit executions against resting or unrelated orders.
Responses may only employ N (Cancel Newest) in which case
the response will be cancelled and the auction order will
continue.
On a New Order Cross, this field is only applicable to the
Agency order.
Price 8 Binary Price Corresponds to Price (44) in Cboe FIX.
Limit price.
Required for limit orders (OrdType = 2). If specified on market
orders (OrdType = 1), the order will be rejected.
This field is also used to specify an optional cap price for
pegged orders.
For complex orders, net pricing of the strategy. Four implied
decimal places. (EDGX and C2 only)
Buy orders:
• Positive value, Debit
• Negative value, Credit
• Even order, 0 (Zero)
Sell orders:
• Positive value, Credit
• Negative value, Debit
• Even order, 0 (Zero)
PriceType 1 Alphanumeric Corresponds to PriceType (423) in Cboe FIX.
(C1 only) 0 = Fixed cabinet trade price
2 = (Default) Price per unit (contract)
3 = Fixed amount (cash spread pricing) – only for complex
orders routed to the floor
PutOrCall 1 Alphanumeric Corresponds to PutOrCall (201) in Cboe FIX.
0 = Put
1 = Call
RevisedLegs 1 Alphanumeric Indicates if the legs on the created complex strategy have been
reordered from the original request.
(C1, C2, and EDGX only)
If the legs were reordered, the order of the OpenClose fields on
a New Complex Order must be the order returned by the
exchange, not the order from the original request.
1 = Legs were not reordered
2 = Legs were reordered
RiskReset 8 Text Corresponds to RiskReset (7692) in Cboe FIX.
For use by customers using Cboe's Risk Management tools to
reset or release EFID Group, EFID, Risk Root, or Custom Group
ID level lockout conditions resulting from risk profile trips or
self-imposed lockouts issued via Cancel Order or Purge
Orders messages.
Single Character Values – with counter reset:

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 159
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
S = Risk Root level risk/lockout reset
F = EFID level risk/lockout reset
C = CustomGroupID lockout reset
G = EFID Group level risk/lockout reset
Single Character Values – without counter reset:
T = Risk Root-level self-imposed lockout reset
E = EFID self-imposed lockout reset
Values may be combined together to allow for resets of
multiple risk trips or self-imposed lockouts in a single message.
For example, ‘GS’, ‘SC’, ‘FC’, and ‘SFC’ are all acceptable values.
The single character values with no counter reset will release
a self-imposed lockout condition only without resetting any
counters related to active risk rules. This may be useful for
time based risk rules where the lockout may be released
without resetting any risk values being tracked back to zero. If
a conflicting value is provided the lockout release with counter
reset will take precedence. For example, ‘ST’ will release any
lockout and reset any applicable root-level rule counters to
zero.
When a resting or inbound order is executed and a Risk Root
level risk profile limit is reached, resting orders on the
associated Risk Root will be cancelled and inbound orders on
the Risk Root will be rejected until this field is filled with the
value S on a subsequent New Order or New Complex Order
message corresponding to a symbol on the same Risk Root. All
active Risk Root level rules in the risk profile are reset at this
time. Individual rules cannot be reset on their own.
If an EFID-level rule is tripped, this tag can be filled with the
value ‘F’ to reset all EFID-level rules. While this will reset EFID-
level rules, it is possible that both EFID and Risk Root level rules
are currently tripped. Setting this field to ‘F’ will not clear Risk
Root-level rules and the order may still be rejected. To clear
both Risk Root and EFID-level rules, set this field to ‘SF’ to reset
all associated Risk Root and EFID-level lockouts.
If orders have been locked out at the CustomGroupID level,
inbound orders for the locked CustomGroupID will be rejected
until this field is filled with a ‘C’ value on a New Order or New
Complex order that uses the locked CustomGroupID.
EFID and EFID Group resets are not allowed by default.
Customers should contact the Cboe Trade Desk to reset these
limits or request a change to the “EFID Risk Reset” port setting
using the Logical Port Request form.
If a risk limit is tripped or manually locked out at the end of the
RTH session, the trip/lockout will persist into the Curb session
(C1 only).
For more information, refer to the ‘Cboe US Options Risk
Management Specification’.
RiskRoot 6 Text Corresponds to Symbol (55) in Cboe FIX.
The underlying symbol.
RouteDeliveryMethod 3 Text Corresponds to RouteDeliveryMethod (9350) in Cboe FIX.
RTI = Route to improve (default if not specified). Ability to
receive price improvement will take priority over speed
of execution.
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 160
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
RTF = Route to Fill. Speed of execution will take priority over
potential price improvement.
Only applicable to RoutStrategy = ROUT
RoutingFirmID 4 Alpha Corresponds to RoutingFirmID (7933) in Cboe FIX.
Used to optionally convey the routing firm of the order. If
supplied, value must be a valid member EFID.
May be combined with MassCancelInst with Firm Filter set to
‘F’ in a mass cancel request.
RoutingInst 4 Text Corresponds to RoutingInst (9303) in Cboe FIX.
1st character:
B = Book Only (not routable, will remove from local book)
P = Post Only (not routable) 1
R = Routable
S = Super Aggressive – Cross or Lock (order will be removed
from the book and routed to any quote that is locking or
crossing the order)
X = Aggressive – Cross Only (order will be removed from the
book and routed to any quote that is crossing the order )
2nd character (C1 and EDGX only):
L = Do Not Expose order via Step-Up Mechanism (SUM)
S = Expose order via Step Up Mechanism (SUM)2
RoutingInst 4 Text Corresponds to RoutingInst (9303) in Cboe FIX.
(Complex) 1st character:
B = Book Only (will remove from local book), allowed to
(C1, C2, and EDGX only) interact with both single-leg and other complex orders.
D = Complex Book Only, allowed to interact with other
complex orders only3.
P = Post Only (adds liquidity only)
2nd character:
L = Do Not Expose order via Complex Options Auction (COA)
S = Expose order via Complex Options Auction (COA)4
RoutStrategy 6 Text Corresponds to RoutStrategy (9400) in Cboe FIX.
All exchanges:
ROUT = Book + Street
DIRC5 = Book + Directed IOC or Directed ISO if ExecInst = f
SWPA = (default) Book + Sweep Street

1
Post Only orders on EDGX with DisplayIndicator (Fix Tag 9479) = R will be cancelled back even if they would be immediately
executable with price improvement (C1, C2, and EDGX Only).
2
Routable Orders identified with RoutingInst = R, RS, S, SS, X or XS, and RoutStrategy = ROUT, and AuctionId not supplied, or Non-
Routable Orders identified with RoutingInst = BS and ExecInst not f and TimeInForce not 4 and MinQty not supplied will participate
in the Step-Up Mechanism (SUM) before routing, booking, or cancelling back.
3
Only valid with TimeInForce values of 0 (Day) or 3 (IOC), otherwise order will be rejected.
4
All non-IOC Complex Orders will be eligible for Complex Options Auction (COA) unless otherwise specified.
5
Field ExDestination must be populated with RoutStrategy = DIRC. Must be specified when sending non-book only ISO, otherwise
the order will be rejected.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 161
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
SecondaryExecID 8 Binary Indicates whether a fill or partial fill is a complex instrument fill
(C1, C2, and EDGX only) or a single leg fill that comprises a complex execution.
• If SecondaryExecID (527) is not present, the fill is a
single leg fill only.
• If SecondaryExecID is present and is the same as the
ExecID (17), the fill represents a complex execution for
which associated single leg fills will follow.
• Single leg fills associated with a complex execution will
contain a SecondaryExecID of the associated complex
execution.
SecondaryOrderID 8 Binary Corresponds to SecondaryOrderID (198) in Cboe FIX.
Denotes an alternative OrderID which is present on Cboe
market data feeds (for example, to hide that a reserve (iceberg)
order has reloaded). Or, OrderID of the contra side of a
prevented match.
SendTime 8 DateTime GMT timestamp when the mass cancel or purge was sent by
the Market Maker to the Exchange. This timestamp is required
to be at least in millisecond granularity but the CAT NMS Plan
requires Industry Members to report the SendTime with the
finest increment supported by the Industry Member.
This is required to be populated whenever a mass cancel or
purge message is expected to cancel one or more Market
Maker (capacity=M) quotes that were submitted using the
Quote Update message so that the appropriate timestamp
can be captured and sent to the CAT.
This field must be populated on all Cancel Order and Purge
Order messages.
SenderLocationID 1 Alphanumeric Corresponds to SenderLocationID (142) in Cboe FIX.
(C1 only) F = Floor
<blank> = (or not present) for electronic execution.
SessionEligibility 1 Alpha Corresponds to SessionEligibility (22017) in Cboe FIX.
(C1 only) R = (default) Order participates in Regular Trading Hours
A = Order participates in both Global and Regular Trading
Hours. Also allows for participation in Curb Trading
Session.
B = Order participates in both RTH and Curb Session.
Side 1 Alphanumeric Corresponds to Side (54) in Cboe FIX.
1 = Buy
2 = Sell
5 = Sell Short (stock leg only) (C1 and EDGX only)
6 = Sell Short Exempt (stock leg only) (C1 and EDGX only)
StopPx 8 Binary Price Corresponds to StopPx (99) in Cboe FIX.
Stop price. Required if OrdType = 3 (Stop) or 4 (Stop Limit).
Stop and Stop Limit orders will only be triggered off Last Sale
Eligible trades. Stop/Stop Limit orders will only elect based off
of RTH quotes and trades.
StrategyID 1 Alphanumeric Corresponds to StrategyID (22002) in Cboe FIX.
(C1 only) Used to declare when a strategy is used.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 162
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
C = Conversion
R = Reversal
M = Merger
S = Short stock interest
J = Jelly roll
StrikePrice 8 Binary Price Corresponds to StrikePrice (202) in Cboe FIX.
Strike Price for option, 0 – 999,999.99
SubLiquidityIndicator 1 Alphanumeric Additional information about an execution. Cboe may add
additional values without notice. Members must gracefully
ignore unknown values.
ASCII NUL (0x00) = No Additional Information
S = Execution from order that set the NBBO
B = Step Up Mechanism (C1 and EDGX Only)
U = Market Turner (C1 Only)
b = AIM (C1 and EDGX Only)
C = Carried
D = Done For Day
Q = QCC (C1 and EDGX Only)
s = SAM (C1 and EDGX Only)
Subreason 1 Alphanumeric Additional detail for an order reject or cancellation.
Corresponds to the first character in Subreason (22058) in Cboe
FIX.
See Order Subreason Codes for a list of possible subreasons.
Symbol 8 Alphanumeric Corresponds to Symbol (55) in Cboe FIX.
Entire Cboe format symbol
TargetPartyID 4 Alpha Corresponds to TargetPartyID (1462) in Cboe FIX.
(C1 and EDGX only) A valid Parent ID of the Directed Market Maker (EDGX only) or
Preferred Market Maker (C1 only). Required for directed
orders.
On a New Order Cross, this field is only applicable to the
Agency order.
TiedHedge 1 Alpha Corresponds to TiedHedge (22018) in Cboe FIX.
(C1 only) Order is a tied hedge.
N = (Default) No
Y = Yes

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 163
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Length
Field Data Type Description
TimeInForce 1 Alphanumeric Corresponds to TimeInForce (59) in Cboe FIX.
0 = Day - (Default) Expires at end of market day.
1 = GTC* - Remains in system until executed, cancelled or
option expires.
2 = At the Open - Will remain queued and only interact in the
‘Cboe Opening Process’ (BZX, C2, and EDGX only) or the
Cboe Opening Auction (C1 only).
3 = IOC - Portion not filled immediately is cancelled. Market
orders are implicitly IOC for non-complex orders.
4 = FOK - An IOC where the entire size must be filled, else the
order will be cancelled back. Not compatible with Step-Up
Mechanism (SUM).
6 = GTD* - Expires at specified ExpireTime for a specified day.
7 = At the Close - Orders held for execution until 180 seconds
before series is scheduled to close.
*Bulk Quoting Ports will only support TimeInForce values of Day or
GTD with a same day expiration on C1, C2, and EDGX.
TradeDate 4 Date Corresponds to TradeDate (75) in Cboe FIX.
TradeThroughAlertType 1 Alphanumeric Corresponds to TradeThroughAlertType (21098) in Cboe FIX.
(C1 only) Indication of a type of trade through.
0 = No trade through
1 = NBBO
2 = BBO (local best bid or offer)
3 = SBBO (market quote of complex derived by legs)
4 = Book trade through (trade through customer size)
5 = Due Dilligence trade through
WorkingPrice 8 Binary Price Corresponds to WorkingPrice (9690) in Cboe FIX.
Only present if an order is fully or partially booked. If price had
to be adjusted to a less aggressive value for some reason, the
adjusted price will be reported here, otherwise equals price.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 164
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

8 Reason Codes

8.1 Order Reason Codes


The following is a list of all order related reason codes used by Cboe. These reason codes are used in a variety of
contexts (order cancellations and order rejections). All reasons are not valid in all contexts. The reason code will be
followed by free form text. The specific text the system delivers may vary from the text listed below, to provide
clarification of the reject reason. Cboe may add additional reason codes without notice. Members must gracefully
ignore unknown values.
A = Admin
D = Duplicate identifier (e.g., ClOrdID)
F = Could not reflect to consolidated quote (OPRA)
H = Halted
I = Incorrect data center
J = Too late to cancel
K = Order rate threshold exceeded
L = Order would lock or Cross NBBO
M = Order size exceeded
N = Ran out of liquidity to execute against
O = ClOrdID doesn't match a known order
P = Can't modify an order that is pending fill
Q = Waiting for first trade
R = Routing Unavailable
T = Fill would trade through the NBBO
U = User requested
V = Would wash
W = Add liquidity only order would remove
X = Order expired
Y = Symbol not supported
Z = Unforeseen reason
c = Only Close transactions accepted
f = Risk management EFID or Custom Group ID level
m = Market access risk limit exceeded
o = Max open orders count exceeded
r = Reserve reload
s = Risk management risk root level
w = Would remove on unslide
x = Crossed market
y = Order received by Cboe during replay
z = Session End
+ = Risk management EFID Group level

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 165
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

8.2 Quote Reason Codes


The following is a list of all quote reason codes used by Cboe. All reasons are not valid in all contexts. The reason
code will be followed by free form text. The specific text the system delivers may vary from the text listed below, to
provide clarification of the reject reason. Cboe may add additional reason codes without notice. Members must
gracefully ignore unknown values.
C = Invalid EFID (ClearingFirm)
D = Invalid WashId
E = Invalid SessionEligibility
F = Not enabled for quotes
I = Incorrect data center
L = Invalid QuoteCnt
M = Symbols not on same matching engine
P = Invalid PostingInstruction
Q = Invalid QuoteUpdateID
R = Risk root does not match across quotes
S = Symbol not found
U = Message unable to be sent to Matching Engine
W = Invalid WashPreventType
a = Admin
c = Invalid Capacity
d = Close only
f = Risk management EFID or Custom Group ID level
m = Invalid WashMethod
n = Exceedes max notional value per order
o = Invalid Open/Close
p = Risk management risk root level
r = Invalid Remove
s = Invalid Side
t = Invalid SendTime
u = Symbol range unreachable
x = Exceeds max size per order
y = Quote received by Cboe during replay

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 166
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

8.3 Order and Quote Subreason Codes


The following is a list of subreason codes used to indicate additional detail for order rejections or cancellations. The
code will be followed by free form text. The specific text the system delivers may vary from the text listed below, to
provide clarification of the reject or cancel reason. Cboe may add additional values without notice. Users must
gracefully ignore unknown values.
A = Purge/mass cancel EFID level by user
B = Purge/mass cancel Symbol level by user
C = Purge/mass cancel Custom Group ID level by user
E = EFID level lockout by Cboe Trade Desk admin
J = Firm disconnect
K = ME disconnect
L = Unregistered MM Account
S = Minimum size requirement not met
T = Cboe Trade Desk admin
f = Risk management EFID level by rule
s = Risk management Symbol level by rule
+ = Risk management EFID Group level by rule

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 167
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

9 List of Message Types


9.1 Member to Cboe
Message Name Level Type Sequenced
Login Request Session 0x37 No
Logout Request Session 0x02 No
Client Heartbeat Session 0x03 No
New Order Application 0x38 Yes
New Order Cross Application 0x41 Yes
New Complex Order Application 0x4B Yes
New Order Cross Multileg Application 0x5A Yes
Cancel Order Application 0x39 Yes
Modify Order Application 0x3A Yes
Quote Update Application 0x55 Yes
Reset Risk Application 0x56 Yes
Quote Update (Short) Application 0x59 Yes
Purge Orders Application 0x47 Yes
New Complex Instrumnet Application 0x4C Yes

9.2 Cboe to Member


Message Name Level Type Sequenced
Login Response Session 0x24 No
Logout Session 0x08 No
Server Heartbeat Session 0x09 No
Replay Complete Session 0x13 No
Order Acknowledgment Application 0x25 Yes
Cross Order Acknowledgment Application 0x43 Yes
Order Rejected Application 0x26 No
Cross Order Rejected Application 0x44 No
Order Modified Application 0x27 Yes
Order Restated Application 0x28 Yes
User Modify Rejected Application 0x29 No
Order Cancelled Application 0x2A Yes
Cross Order Cancelled Application 0x46 Yes
Cancel Rejected Application 0x2B No
Order Execution Application 0x2C Yes
Trade Cancel or Correct Application 0x2D Yes
Purge Rejected Application 0x48 No
Mass Cancel Acknowledgment Application 0x36 No
Complex Instrument Accepted Application 0x4D Yes
Complex Instrument Rejected Application 0x4E No
Quote Update Acknowledgment Application 0x51 Yes
Quote Restated Application 0x52 Yes
Quote Cancelled Application 0x53 Yes
Quote Execution Application 0x54 Yes
Risk Reset Acknowledgment Application 0x57 No
Quote Update Rejected Application 0x58 No

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 168
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

10 Port Attributes
The table below lists BOE port attributes that are configurable on the port or firm level. Changes to these attributes
can be made by contacting the Cboe Trade Desk. Port Attribute changes made intra-day by the Cboe Trade Desk will
not affect existing quotes or orders. In order for the desired intra-day port attribute to be applied to existing quotes
or orders, you must first cancel or send a quote with zero price and size and then re-enter the order or quote.

Attribute Default Description


Allow Directed ISO * Yes Allow or disallow ISO orders directed to other market
centers.
Allow ISO * Yes Allow or disallow ISO orders.
Allow MTP Decrement No Overrides the exception that requires both the resting
^ and inbound order to be marked as “Decrement”.
Override *
Allow Sponsored Participant MTP No Allow Sponsored Participant to override port default
Control *^ for match trade prevention by using PreventMatch on
the order level.
Allow Test Symbols Only Disabled Allow or disallow orders in non-test symbols
Allowed Clearing Executing Firm All EFIDS Executing Firm ID(s) allowed for trading on the port.
ID(s) *
Cancel on Disconnect All Cancels open orders upon order handler session
disconnect; both graceful and ungraceful. If Cancel On
Disconnect is set, open orders in Symbols not in
Closed state at the time of the disconnect are
cancelled.
All = Cancel Day and GTC/GTD orders
Day = Cancel only Day orders
None = Disabled
BOE Quoting ports require Cancel on Disconnect set to
All or Day. Default will be used if not specified.
Cancel on ME Disconnect All Controls whether orders are cancelled or preserved
on a Matching Unit failover and provides for the
ability to preserve GTC/GTD orders.
For BZX, C2, and EDGX, in any event, if a failover takes
longer than 5 minutes, all orders are cancelled
(including GTC/GTD Orders).
For C1 if a failover takes longer than 15 minutes, all
orders are cancelled (including GTC/GTD Orders).
All = Cancel Day and GTC/GTD orders
Day = Cancel only Day orders
None = Disabled
BOE Bulk Quoting ports require Cancel on ME
Disconnect set to All or Day. Default will be used if not
specified.
Cancel on Regulatory Halt All (BZX and Cancels open orders upon receipt of a Regulatory Halt.
EDGX Only)
All = Cancel Day and GTC/GTD orders
None (C1 and
C2 Only) Day = Cancel only Day orders
None = Disabled
Cancel on Reject + No Cancels an order upon a modify reject.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 169
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Attribute Default Description


Cancel Open Orders on DROP None Only applicable if “Reject Orders on DROP Port
Port Disconnect * Disconnect” has been enabled. When the last
Standard FIX DROP port associated with an order
handler session has disconnected, open orders,
associated with the session are cancelled.
All = Cancel Day and GTC/GTD orders
Day = Cancel only Day orders
None = Disabled
Note this parameter applies to Standard FIX DROP
ports and not Order-By-Order DROP ports (ODROP).
Carried Order Restatements No If the Carried Order Restatements port attribute is set,
unsolicited Order Acknowledgement messages
representing GTC/GTD orders loaded by the system at
startup will be sent after the Login Response message
and before any other messages for each product.
Note that Carried Orders are restated to customers
using Order Acknowledgement messages with
BaseLiquidityIndicator=A and SubLiquidityIndicator=C.
Note that any changes made to any port attribute will
not be enforced on carried GTC orders. Members
wishing to apply updated port attributes to resting
GTC orders must cancel those orders and resubmit
them following the effective time of the port attribute
change.
Crossed Market Cancel / Reject $ No Reject new orders when the NBBO in the security is
crossed. Routable orders will have any remaining
quantity cancelled back when the order returns to the
book. Order modifications causing a loss in priority will
result in a cancel of the original order if the NBBO is
crossed upon receipt of the modify request.
Quotes are always accepted, even in a crossed
market.
Default Account None Default Account to be used if none is sent on inbound
messages. Allows 16 characters or less (ASCII 33-126)
but a max of 10 characters will be passed through to
the OCC Customer ID Field.
Default Attributed Quote *+ X Default value for AttributedQuote. May override at
order level.
C† = Attribute ClientIDAttr only (C1 only)
N = Don’t Attribute (may override at order level)
Y = Attribute EFID only
Z = Attribute EFID and ClientIDAttr
X* = (Default) Never Attribute (may not
170efinitionden at order level)
*On EDGX and BZX, this setting may only be changed
after executing Attribution Addendum to Exchange
User Agreement.
Default ClearingOptionalData None Default ClearingOptionalData to be used if none is
sent on inbound messages. Allows 16 characters or
less (ASCII 33-126).
Default ClientIDAttr None Default ClientIDAttr to be used if none is specified on
inbound messages.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 170
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Attribute Default Description


Default EquityExDestination† C Default EquityExDestination to be used if none is
specified on inbound messages.
(C1 and EDGX only)
Default EquityPartyID None Default EquityPartyID to be used if none is specified
on inbound messages.
(C1 and EDGX only)
Default Executing Firm ID None Default Executing Firm ID to use if none is sent on a
New Order or New Complex Order.
Default FloorDestination None Specifies a default PAR workstation (ex. W001) to
route to on the floor (or ‘PARO’ to route to the Floor
(C1 only) PAR Official of the underlying symbol) if not specified
on inbound messages.
4 characters or less (ASCII 33-126).
Default FloorRoutingInst* E D = Direct. Do not attempt to process electronically
(C1 only) E = Electronic only
X = Route to floor if unable to process electronically.
*When FloorRoutingInst = ‘D’ or ‘X’, RoutingInst (9303)
must be set to ’B’ or ‘R’ for simple orders; for complex
instruments RoutingInst (9303) must be set to ‘B’.
Default MTP Value *^+ None Specifies default value for PreventMatch.
Default Price Sliding BZX = S Default price sliding behavior. See DisplayIndicator
EDGX/C2 = P for details.
Default Routing Instruction + 9303=RS Specifies a default value for routing. Fields can be
9350=RTI overridden at the order level. The defaults are
RoutingInst = RS, RouteDeliveryMethod = RTI, and
9400=SWPA RoutStrategy = SWPA.
Done For Day Restatements No If the Done For Day Restatements port attribute is set,
unsolicited Order Acknowledgement messages
representing GTC/GTD orders that will be carried into
the next session will be sent after the end of the
trading session and before the system is recycled.
Note that Done For Day Restatements are restated to
customers using Order Acknowledgement messages
with BaseLiquidityIndicator=A and
SubLiquidityIndicator=D.
Duplicative Order Protection 1 Action taken when Duplicative Order Protection
Action $ criteria is met:
1 = Not enabled.
2 = Reject any offending orders.
3 = Disable port for ClearingFirm. Must call Cboe
Trade Desk to reenable.
Duplicative Order Protection None Number of consecutive orders with the same
Order Count Threshold $ ClearingFirm, Price, OrdQty, and Symbol that must be
seen to initiate Duplicative Order Protection Action.
EFID Filter for Purge Ports None Specify up to ten EFIDs per purge port for which
purges will be permitted. If a purge request specifies
an EFID not included in the list of configured EFIDs,
the purge request will be rejected. If a purge port is
configured with multiple EFIDs and a purge request is
sent without any EFIDs specified, the purge will be
applied only to the list of configured EFIDs.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 171
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Attribute Default Description


EFID Risk Reset Disabled Configures how risk may be reset after a risk trip.
Disabled = (Default). Will require manually
resetting all EFID Group and EFID-Level
Risk trips by contacting the Trade Desk.
Enabled = Will allow EFID Group and EFID-level
Risk resets using RiskReset of ‘F’ or ‘G’.
Enable Market Maker Floor No Enables Market Maker Floor Trade Notifications for
Trade Notifications (C1 only) specific Market Maker acronyms on a port.
Fat Finger Protection *$ BZX/EDGX = Orders entered through the NBBO by a specified
None percentage or dollar based limit price tolerance will be
rejected. Limits may be different for different price
C2 = See Web ranges and price ranges may vary across markets.
Portal Port
Controls Please see the ‘Web Portal Port Controls Specification’
Specification for complete details.
for defaults
Forced Open Cancel Instruction DoNotCancel Specifies order handling during a forced opening.
DoNotCancel = Preserve Orders (Default)
CancelMarket = Cancel Open Market Orders Only
(preserve Limit Orders)
CancelAll = Cancel All Open Orders
Market Maker Floor Trade Cboe Specifies the symbology used on Market Maker Floor
Notification Symbology Trade Notifications.
(C1 only) Cboe = Six character Cboe Symbol ID
OSI = OSI Symbology (PutOrCall, StrikePrice, and
MaturityDate will be returned)
Market Maker Reject if Cancel on No Rejection of Market Maker or Away-Market Maker
Disconnect disabled orders if Cancel on Disconnect is not enabled. Non-
Market Maker capacity order swill be unaffected with
this confuration.
Maximum Order Dollar Value * Unlimited Maximum dollar value per order.
Maximum Order Size * 25,000 Maximum order quantity
Multi-Segment Holiday Day None Controls whether Day (TimeInForce (59) = 0) orders
Order Handling (C1 only) are cancelled or preserved across holiday trading
segments comprising a single business date.
None = All Day orders on the book are carried
between trading segments
Cancel = All Day orders on the book at the
conclusion of the current trading
segment are cancelled back.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 172
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Attribute Default Description


Port Order Rate Threshold 5,000 msgs/s The maximum allowed message rate on the session.
When the first non-session level message is received,
1 msg/sec for a one second window begins, during which no more
test products. than 4,999 additional non-session level messages are
allowed. If the rate is exceeded, all new orders in the
time window are rejected, modifies are treated as
cancels, and cancels are processed.
Maximum value is 5,000 msgs/sec.
For Bulk Quoting ports, the default threshold is
unlimited.
Note: Order handler burst rates towards each
matching unit may be limited as described in ‘Section
1.6.1 – Architecture’.
Reject Orders on DROP Port No If all Standard FIX DROP ports associated with an
Disconnect * order entry session experience disconnection, new
orders will be rejected until at least one Standard FIX
DROP port session is reestablished.
Note this parameter does not apply to Order-By-Order
drop ports (ODROP).
Reject Orders on DROP Port 30 seconds Only applicable if “Reject Orders on DROP Port
Timeout (seconds) * Disconnect” is enabled. When the last Standard FIX
DROP port associated with an order entry session has
disconnected, begin rejecting orders on the order
entry session if a Standard FIX DROP session has not
been reestablished within this timeout.
Minimum value allowed is 0 seconds.
Send Trade Breaks ^ No Enables sending of Trade Cancel or Correct
messages.
Symbol Order Rate Threshold 5,000 msgs/s Functions the same as the Port Order Rate Threshold,
but is calculated at the symbol level. It is capped by
the Port Order Rate Threshold.
Maximum value is 5,000 msgs/sec. For Bulk Quoting
ports, the default threshold is unlimited.
Note: Order handler burst rates towards each
matching unit may be limited as described in ‘Section
1.6.1 – Architecture’.
* Sponsored Participants require written approval from Sponsors to update these settings on ports associated
with a Sponsor’s MPID.
+
Port attribute can be overridden on an order-by-order basis.
^
Requires certification.
$
Not supported for quotes.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 173
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

11 Support
Please email questions or comments regarding this specification to tradedesk@cboe.com.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 174
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

Revision History
Date Description
June 16, 2014 Version 2.0.2
First public release of US Options BOE Version 2 specication.
July 1, 2014 Version 2.0.3
Added Hours of Operations section. Corrected Cancel on Disconnect options.
July 3, 2014 Version 2.0.4
Added field descriptions for FeeCode and EchoText.
July 7, 2014 Version 2.0.5
Removed all return bits from User Modify Rejected V2 messages. No optional
return fields are allowed.
Corrected a number of optional return bits.
Added RoutingInst, RoutStrategy, RouteDeliveryMethod, and ExDestination as
optional return bits (byte 8).
July 9, 2014 Version 2.0.6
Corrected instances where ContraCapacity and CorrectedSize may be requested as
optional return fields.
August 15, 2014 Version 2.0.7
Added field descriptions for RoutStrategy, ExDestination, and StopPx.
August 22, 2014 Version 2.0.8
Added Super Aggressive When Odd Lot RoutingInst value.
August 26, 2014 Version 2.0.9
Added Reason Code of w (Would Remove on Unslide).
August 28, 2014 Version 2.0.10
Corrected Bulk Order V2 input bitelds.
September 3, 2014 Version 2.0.11
Removed SymbolSfx from allowed fields for New Order V2.
Removed DiscretionAmount and PartyID from allowed return bitfields for a number
of messages.
Corrected data type for AcceptedCount and RejectedCount to be Binary (not
Text).
Corrected data type for BulkOrderRejectReasons and OrderRejectReason to be
Text (not Binary).
Removed AccessFee from allowed return bitelds for Order Restated V2.
Added clarification on BulkOrderIDs, AskOrderID, and BidOrderID.
Added clarification on BulkRejectReasons, AskRejectReason and BidRejectReason.
September 8, 2014 Version 2.0.12
Removed ContraBroker from List of Optional fields.
September 9, 2014 Version 2.0.13
Removed AccessFee from Order Execution V2 allowed return bitfields.
October 10, 2014 Version 2.0.14
Claried ability to reuse ClOrdId with Modify Orders when daily limit trading
risk controls are enabled.
November 13, 2014 Version 2.0.15
Corrected New Order V2 input bitelds to note that DisplayIndicator is per-
mitted.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 175
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

January 8, 2015 Version 2.0.16


Corrected Order Execution V2 return bitfields to note that SubLiquidityIndicator is
not allowed – it's already available in the message body.
Minor correction of PreventMatch text (no functional change).
February 19, 2015 Version 2.0.17
Added new Capacity values of N, B, and J, effective June 1, 2015.
June 10, 2015 Version 2.0.18
Added Reason Code value of T.
June 23, 2015 Version 2.1.0
Updated for EDGX Options.
Added new fields TargetPartyID and MarketingFeeCode. Updated descriptions to note
which fields are BZX Options or EDGX Options specific.
June 23, 2015 Version 2.1.1
Added Duplicative Order Protection port attributes.
October 26, 2015 Version 2.1.2
Added reason code of T.
Updated DisplayIndicator description to note that, per EDGX Options Exchange rules,
Display Price Sliding may not be combined with the Post Only instruction.
October 27, 2015 Version 2.1.3
Added EDGX as possible ContraBroker value.
October 31, 2015 Version 2.1.4
Corrected values for MarketingFeeCode.
Changed text to note that TargetPartyID
is simply copied back on all response messages.
November 11, 2015 Version 2.1.5
Updated Pre-Market Queuing Session time to 7:30am, beginning December 11,
2015, pending SEC approval.
December 24, 2015 Version 2.1.6
Updated description of TargetPartyID and Capacity for revised directed order
functionality.
Added Firm Risk Reset port attribute.
Updated description of ClearingFirm.
January 19, 2016 Version 2.1.7
Added Mercury as possible ExDestination and ContraBroker value.
February 17, 2016 Version 2.1.8
Updated for new branding.
February 25, 2016 Version 2.1.9
Added new RestatementReason value of P.
March 23, 2016 Version 2.1.10
Updated description of RoutStrategy to state that routable ISOs must be sent using
DIRC.
Updated the minimum value of “Reject Orders on DROP Port Timeout” to be 0
seconds.
May 16, 2016 Version 2.1.11
Added new field AuctionID and added S as a possible second character for RoutingInst,
along with information about the Step-Up Mechanism (SUM).
AuctionID replaced EffectiveTime in New Order V2 and all of the return bitfields.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 176
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

June 10, 2016 Version 2.1.12


Display Price Sliding support eliminated for EDGX Options effective July 11, 2016.
June 28, 2016 Version 2.1.13
Added new SubLiquidityIndicator of B for Step Up Mechanism.
August 3, 2016 Version 2.1.14
WAIT orders will be eliminated upon migration of BZX Options to its next generation
matching engine. Refer to Release Notes on Bats' public web site for deployment
schedule.
August 17, 2016 Version 2.1.15
Corrected ExDestination value of EDGX Options to be G.
September 2, 2016 Version 2.2.0
Add new message types and fields to support cross orders (EDGX Only). Includes New
Order Cross, Cross Order Acknowledgment, Cross Order Rejected, Cross
Order Cancelled, and supporting fields. Effective 11/11/2016.
October 4, 2016 Version 2.2.1
Add RoutingFirmID as a valid field for single order messages.
November 11, 2016 Version 2.2.2
Added new SubLiquidityIndicator of b for Bats Auction Mechanism. Updated Display
Price Sliding to indicate it is BZX only.
Added clarification that ClearingAccount is required when Capacity is M or N.
December 15, 2016 Version 2.2.3
Removed RoutingInst value of C (Book Only WAIT order). Claried which RoutingInst
values are allowed for Bulk Orders.
Added port param for rejecting MM capacity orders if Cancel on Disconnect is
disabled.
January 24, 2017 Version 2.2.4
Added support for MIAX Pearl routing. Added 2 (Qualied Contingent Cross) as an
acceptable CrossType for New Order Cross messages.
January 27, 2017 Version 2.2.5
Added new message types and fields to support purge ports. Includes Purge Orders
V2, Purge Rejected V2, and supporting fields. Modified New Order V2 message
input bitfields to include the optional CustomGroupID field. Effective Date March 1,
2017.
Added RoutingFirmID to Modify Order V2 and Cancel Order V2 messages.
February 27, 2017 Version 2.2.6
Correct MassCancel field description in Purge Orders V2 message examples from
lockout to single ack.
March 2, 2017 Version 2.2.7
Add new field type Date.
March 22, 2017 Version 2.2.8
Remove Suppress Cancels on Sessions Close port attribute.
March 22, 2017 Version 2.2.9
Add descriptions of port attributes “Allow Test Symbols Only”, “Port Order Rate
Threshold”, and “Symbol Order Rate Threshold”.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 177
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

May 11, 2017 Version 2.3.0


Add new message types and fields to support complex orders (EDGX Only). Includes
New Complex Order, New Complex Instrument, Complex Instrument
Accepted, Complex Instrument Rejected, and supporting fields. Effective
10/23/2017.
June 13, 2017 Version 2.3.1
Removed support for TimeInForce value of 4 (Fill-or-Kill) on complex orders.
Added clarification of valid TimeInForce values used with RoutingInst value of D on
complex orders.
Corrected options for port attribute “Cancel on Disconnect”.
July 7, 2017 Version 2.3.2
Corrected field type and size of RevisedLegs.
Fixed naming inconsistency of AttributedQuote sometimes being called
AttributedOrder.
Claried symbology use on Order Execution V2 messages for complex orders.
July 25, 2017 Version 2.3.3
Added SecondaryExecId to Order Execution V2.
Added new Mass Cancel/Purge Request specication style using MassCancelInst field
Effective 10/23/2017.
July 28, 2017 Version 2.3.4
Updated description of use of MassCancelInst field in Purge Orders V2 message
Effective 10/23/2017.
August 3, 2017 Version 2.3.5
Added RiskReset and CustomGroupId to New Complex Order message.
August 7, 2017 Version 2.3.6
Corrected size of NoOfSecurities field in message description and examples.
August 9, 2017 Version 2.3.7
Added ClearingFirm optional field to New Complex Instrument message.
August 14, 2017 Version 2.3.8
Corrected Purge Orders message biteld ordering and added RoutingFirmID.
September 1, 2017 Version 2.4.0
Removed references to V2 as the V1 specification was deprecated.
Added C2-specific references. Updated Cancel on Disconnect, Cancel on ME
Disconnect, Cancel on DROP Port Disconnect and Cancel on Regulatory Halt to all
provide GTC filtering.
September 15, 2017 Version 2.4.1
Added support for C2 Feature Pack 1. Available in Certification effective 9/15/17 and in
Production effective 10/13/17.
October 5, 2017 Version 2.4.2
Updated explanatory text for MassCancelInst lockout behavior.
TimeInForce = 2 (At the open) is supported effective 10/23/17.
Updated C2 Feature Pack 1 effective date from 10/6/17 to 10/13/17.
Removed introduction of ContraTrader and ContraBroker and deprication of
ContraCapacity from C2 Feature Pack 1 release.
Removed Side and OrderQty from the New Complex Instrument example.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 178
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

October 17, 2017 Version 2.4.3


Updated Symbol in Complex Instrument Accepted message to indicate this is the
complex instrument id.
Cboe branding/logo changes.
November 7, 2017 Version 2.4.4
Updated to indicate that Bulk Order Acknowledgements are unsequenced.
Corrected various spelling erorrs, field name and case inconsistencies.
Updated Return Order Bitfields for Cross Order Acknowledgement, Cross Order
Rejected and Cross Order Cancelled.
Added C2 Feature Pack 2 enhancements for ContraTrader and ContraBroker values
effective on 12/8/17.
December 6, 2017 Version 2.4.5
Corrected Cross Order Cancelled message type to 0x46.
Updated effective date of C2 Feature Pack 2 to 12/15/17.
December 15, 2017 Version 2.4.6
Updated effective date of C2 Feature Pack 2 to 01/05/18
Corrected length of DrillThruProtection field. It is eight bytes.
December 27, 2017 Version 2.4.7
Added Done For Day Restatement functionality. Protocol feature section 1.6.2 added
to describe the feature. Done For Day Restatements port attribute added to enable
and disable feature, which defaults to disabled.
Default for Carried Order Restatements changed from enabled to disabled.
Updated Modify Order message to clarify when an order loses time priority.
January 12, 2018 Version 2.4.8
Fixed incorrect GroupCnt and MessageLength in Bulk Order example.
Added GTC/GTD persistence across trading sessions to BZX and EDGX (Effective in
EDGX on 1/26/18 and BZX on 2/2/18).
January 24, 2018 Version 2.4.9
Removed reference to EFID needing to be registered in the underlying and Capacity
needing to be set to ‘M’ in order to send Bulk Orders for C2 in section 4.1.6.
GTCs and GTDs that expire on a future date cannot be sent on Bulk Order Ports.
Added ‘L’ reason code to the list of reason codes in Section 8.
January 30, 2018 Version 2.4.10
Added Post Only restriction for Bulk Order message on EDGX Options effective
3/23/18.
February 20, 2018 Version 2.5.0
Update GTC/GTD functionality to allow order cancelation after trading sessions ends.
March 21, 2018 Version 2.5.1
Updated OSI Root to Underlying symbology for EDGX Options (effective 6/11/18) and
BZX (effective 6/25/18) Options.
Removed AllocQty as an available return bitfield on Trade Cancel or Correct
message.
March 26, 2018 Version 2.5.2
Updating RoutStrategy (9400) default behavior to ‘SWPA’ for EDGX on 04/13/18 and
BZX on 04/19/18.
April 4, 2018 Version 2.5.3
Removed Post Only as a valid RoutingInst for Complex Orders on C2. Changed Default
Attributed Quote on EDGX to Never.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 179
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

April 10, 2018 Version 2.5.4


CumQty to be populated on leg fills related to complex executions (effective 4/27/18).
April 26, 2018 Version 2.6.0
Added optional fields to the Purge Rejected message to accommodate optional
return of the MassCancelId field from the associated Purge Request message
(Effective 6/29/18).
Added RestatementReason = S for Ship and Post restatements.
May 23, 2018 Version 2.6.1
Defined StrikePrice in the List of Optional Fields.
Corrected the defintion of LegStrikePrice to an eight byte, Binary Price field.
Corrected OSI to Underlying Symbology effective dates.
Additional clarification regarding valid RoutingInst values for BOE Bulk on EDGX and
C2.
May 30, 2018 Version 2.6.2
MassCancelId moved to bit 8 from bit 1 in byte 15 of the Return Bitfields for a Purge
Rejected message.
June 29, 2018 Version 2.6.3
Updated MassCancelInst to indicate that 4th character is applicable to both C2 and
EDGX. Added detail for 5th character, which was missing from the BOE specification.
Corrected example for Purge Rejected message.
August 7, 2018 Version 2.6.4
Updated information about mass cancel message rate limitations (effective 08/15/18).
September 20, 2018 Version 2.6.5
For Cancel Rejected message added MassCancelId as an optional bitfield. (effective
9/14/18)
Updated Bulk Port Order information to indicate that simple and complex auction
responses are now accepted over Bulk Order Ports. (effective 10/5/18).
October 8, 2018 Version 2.7.0
Added support for new message types and fields to support new quoting interface.
Added effective dates for deprecating Bulk Order message type.
Added support for Risk Reset message.
October 19, 2018 Version 2.7.1
Added “R” Quote Reject Reason.
Added support for C1 Migration Feature Pack 1, including support for complex reserve
orders, ClearingOptionalData and EFID Group level risk functionality. Available in
Certification effective 11/2/18 and in Production effective 11/29/18.
October 26, 2018 Version 2.7.2
Added Side as a required field for Quote Cancelled and Quote Restated messages.
November 5, 2018 Version 2.7.3
Clarifications added to the liquidity removal behavior for BOE Bulk/Quoting ports
effective with C1 Feature Pack 2.
Added Complex Post Only value of 'P' to RoutingInst (effective in EDGX and C2 TBD).
November 9, 2018 Version 2.7.4
Added support for short form Quote Update message effective with C1 Feature Pack
2.
November 16, 2018 Version 2.8.0
New message types, references, and fields in support of Cboe Options migration to
Bats Tech.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 180
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

November 20, 2018 Version 2.8.1


Added SubLiquidityIndicator values for QCC and SAM.
Updated definition for the value 'K' of Quote Restated message RestatementReason
field.
TradingSessionID was named incorrectly and has been replaced by SessionEligibility.
This field corresponds to Tag 336 in Cboe FIX. Allowed values have been changed as
well as associated input and return bits.
For Reset Risk message, corrected RiskRoot field length to 6.
For Bulk Order message example, corrected OsiRoot to RiskRoot.
Corrected name of optional field from OsiRoot to RiskRoot.
November 27, 2018 Version 2.8.2
Added additional RiskResetResult values.
Added “r = invalid remove” QuoteResult value.
Noted that Capacity changes will not be honored when modifying a quote.
Updated Default Attributed Quote port attribute for Cboe Options Exchange.
Corrected New Order Cross Multileg message type to 0x5A.
Udpated effective date for Complex Post only to TBD.
December 6, 2018 Version 2.8.3
Added QuoteReason codes D, m, u, and W.
Removed incorrect MaxFloor and DisplayRange bit fields from New Order Cross
Multileg.
Updated port attribute details for Cancel on Regulatory Halt to indicate Cancel All is
default for BZX and EDGX and Cancel None is default for for C1 and C2.
Added note to the optional fields, Attributed Quote and ClientIDAttr, indicating values
available in C1 Feature Pack 4.
Added note to Default Attributed Quote and Default ClientIDAttr port attributes
indicating values available in C1 Feature Pack 4.
December 20, 2018 Version 2.8.4
For Reset Risk Acknowledgement message, added <space>=Ignored value to
RiskResetResult field.
Updated New Order Cross Multileg, Price field description to remove “Must be
non-negative”.
Updated optional field ExecInst description to indicate it is used for New Order
Cross Multileg.
“Invalid Remove” quote result was incorrectly identified as ‘s’ and was updated to be
‘r’ in Quote Update Acknowledgement message.
Attributing by ClientIDAttr requires a value of “C” rather than “X” for the
AttributedQuote field.
Clarified use case and allowable granularity for SendTime on Quote Update
message.
January 11, 2019 Version 2.8.5
Updated description of FloorDestination.
Corrected default value Default FloorRoutingInst port attribute to 'E' for Electonic only.
Regarding Login Response, clarified that while a subset of units can be provided in
the Login Request, all units will be provided in the Login Response.
Added support for MIAX Emerald routing (effective 03/01/19).
Added Floor Routing protocol feature for C1.
Added support for Not Held orders (ExecInst (18) = 1) for C1.
Updated descriptions for Cancel on Disconnect and Cancel on ME Disconnect Port
Attributes for Bulk Quoting Ports.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 181
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

January 17, 2019 Version 2.8.6


Updated description of intra-day changes made to Port Attributes.
For the Quote Update Acknowledgement message, removed "J" as a value for
QuoteResult as it was replaced by newer rejection values.
Added effective date for Complex Post only (EDGX 01/30/19 , C2 02/06/19).
February 06, 2019 Version 2.8.7
Added Order Reason Code 'z' to section 8.1.
Market orders are implicitly IOC for non-complex orders only.
Added Simple Order Auction information related to BAM/AIM, SUM, and QCC for C1
Feature Pack 5.
February 19, 2019 Version 2.8.8
Support added for Floor Represenation restatements. Additional Protocol Feature
added.
Added SessionEligibility of “A” to Quote Update message.
Updated reference to SessionEligibility FIX Tag, from 336 to 22017.
March 1, 2019 Version 2.8.9
Added new value of 'f = Unsolicited Floor Action' to RestatementReason field on
Order Restated message.
Updated New Complex Order message type to not support legging in to the
simple book on cross product spreads.
March 13, 2019 Version 2.8.10
Updated effective date for SAM auctions to 04/29/19.
March 18, 2019 Version 2.8.11
Added note identifying deprecation of RestatementReason 'Q' = Liquidity on
RestatementReason field.
Added notes identifying tags supporting AON Orders effective in C1 Feature Pack 6.
March 29, 2019 Version 2.9.0
Removed Bulk Order message types and optional fields.
Updated defaults for Cancel on Regulatory Halt port attribute.
Replaced all references to BAM with AIM.
Added TiedHedge optional field to New Complex Order message.
Moved FrequentTraderID to the repeating group of New Order Cross and New
Order Cross Multileg messages.
Updated GTH trading hours to end at 9:15 a.m. ET.
Renamed Late-Limit-On-Open orders to Settlement Liquidity orders.
April 16, 2019 Version 2.9.1
Added clarification setting and using Match Trade Prevention (MTP) with BOE Bulk
Quoting Ports and Quote Update messages.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 182
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

May 2, 2019 Version 2.9.2


Added EquityPartyId to Return Bitfields for Order Acknowledgement, Cross
Order Acknowledgement, Order Rejected, Cross Order Rejected,
Order Cancelled, Cross Order Cancelled and Order Execution
messages.
Added EquityPartyId to the Input Bitfields for New Complex Order and New
Order Cross Multileg.
Added clarification to MassCancelInst behavior when the Clearing Firm Filter is set to
‘F’.
Updated instructions for handling of LegPositionEffect for complex symbols with an
equity leg.
Updated GTH and added SessionEligibility field on QuoteUpdate message for C2 and
EDGX, effective with C1 Feature Pack 7.
Added note indicating reserve orders (MaxFloor greater than 0) will be rejected for
Cboe proprietary classes, effective with C1 Feature Pack 7.
Updated effective date for SAM auctions to TBD.
May 15, 2019 Version 2.9.3
Added clarification to the Bulk Quote port order acceptance table on page 10.
Added PostingInstruction values of 'N' and 'R' on the Quote Update and Quote
Update Short messages. Added note indicating Quote Update
Acknowledgement and Quote Cancelled messages will be unsequenced
effective 07/08/19.
May 31, 2019 Version 2.9.4
Added SubLiquidityIndicator value of “U” for Market Turner on C1.
Corrections to New Complex Order example.
June 14, 2019 Version 2.9.5
Added QuoteResult values of a, c, v, and V to Quote Update Acknowledgement
message.
Corrected corresponding FIX Tag value for EquityTransactTime.
Added note indicating New Order Cross Multileg message will be supported
on EDGX, effective on EDGX with C1 Feature Pack 8.
Added TimeInForce optional field value of ‘7 = At the Close ‘, effective on BZX, C2, and
EDGX with C1 Feature Pack 8.
June 28, 2019 Version 2.9.6
Added notes indicating EquityExDestination, EquityLegShortSell, and EquityPartyID
optional fields will be effective on EDGX with C1 Feature Pack 9.
Add clarification to Quote Update Acknowledgement messages and Quote
Cancelled message regarding messages changing to unsequenced effective
07/08/19.
July 10, 2019 Version 2.9.7
Clarified preferred use of underlying symbol when specifying RiskRoot field.
Updated effective date for C-AIM on EDGX to TBD.
July 16, 2019 Version 2.9.8
Clarified statement regarding availability of Quote related messages over ODROP and
FIXDROP as Quote Execution messages will be the only Quote related messages
available.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 183
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

July 31, 2019 Version 2.10.0


Added Add Floor Trade, Add Floor Trade Rejected, Floor Trade
Confirmation, Floor Trade Confirmation Rejected, Delete
Floor Trade, Delete Floor Trade Rejected and Delete Floor
Trade Acknowledgement message types for C1 only.
Added TradeThroughAlertType and SenderLocationID optional return bitfields for
Order Execution message only for C1 only.
Corrected MessageType hexadecimal value to 0x28 in Order Restated message
example.
Added Enable Floor Trade Notifications and Floor Trade Notification Symbology in the
Port Attributes section.
August 9, 2019 Version 2.10.1
Added clarification for OpenClose field in New Order Cross and Add Floor
Trade messages for orders with OrderCapacity of M or N.
Changed Return Bitfield EquityNBBOProtect to “Reserved”.
Updated notes for FloorRoutingInst to indicate that when FloorRoutingInst is “D” or
“X”, RoutingInst must be set to “B” or “R” for simple orders.
Updated effective date for C-AIM on EDGX to 8/22/19.
August 23, 2019 Version 2.10.2
Added FloorTraderAcronym as an optional return bit (byte 17) for the Order
Execution message.
Removed language indicating Cabinet and Sub-cabinet orders can have a
TimeInForce(59) value of “GTD” or “IOC” since GTD and IOC orders cannot route to the
floor.
Updated Order Modified Return Bitfield to indicate Symbol field on second byte can be
specified for a message.
Clarified ContraBroker and ContraTrader to provide detail about what information will
be provided for trades on the Cboe Options trading floor and for complex trades.
August 30, 2019 Version 2.10.3
Removed note indicating a new OrderID will be assigned for an existing quote on a
quote update.
Added clarification to Crossed Market Cancel/Reject port setting indicating quotes are
always accepted, even in a crossed market.
September 5, 2019 Version 2.10.4
Series restricted to closing only will accept opening transactions from both M and N
capacities.
September 18, 2019 Verstion 2.10.5
Removed “3=Entire multi-leg instrument package” from MultilegReportingType in Add
Floor Trade message as this value is not valid.
Added PriceType field to Floor Trade Confirmation, Floor Trade
Notification, and Floor Trade Confirmation Rejected.
Clarification added for rejects related to an invalid ExecInst value. If a value is supported
on one message type, but invalid for another message type, then that will result in a
reject.
Self imposed risk lockouts will impact ability to send new orders or quotes, but not
impact the ability to modify or cancel resting orders or quotes that are still live.
October 2, 2019 Version 2.10.6
Corrected PriceType field example for Floor Trade Confirmation, Floor
Trade Notification, and Floor Trade Confirmation Rejected
messages.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 184
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

October 3, 2019 Version 2.10.7


Added note indicating Cancel on ME Disconnect port attribute timeout is 15 minutes
for C1.
October 15, 2019 Version 2.10.8
Added values to Side optional field for “5=Sell Short (stock leg only)” and “6=Sell Short
Exempt (stock leg only)” (C1 and EDGX only).
Added Market Order NBBO Width Protection, Drill-Through Protection for Lmit Orders,
and Exchange Default Fat Finger Limits subsections under Protocol Features.
November 7, 2019 Version 2.10.9
Added notes indicating that the ‘at’ sign, pipe, and double quote characters are not
permitted in the ClOrdID, CrossID, and QuoteUpdate fields (effective 01/13/20).
November 12, 2019 Version 2.10.10
Updated Hours of Operation table, indicating GTH will be sunset on C2 and EDGX
effective 11/22/19.
December 3, 2019 Version 2.10.11
Added notes indicating system will change RoutingInst = ‘Q’ to ‘P’ upon the
deprecation of Partial Post Only at Limit. They system will also ignore MaxRemovePct,
effective 12/16/19 (BZX only).
January 14, 2020 Version 2.10.12
Added note indicating that reason codes are followed by free-form text that may vary
from the text listed in the specification, to provide clarification of the reject reason.
Added F = Could not reflect to consolidated quote (OPRA) as reason code.
Added SendTime as optional input bitfield (byte 2) on the Cancel Order and Purge
Order messages (effective 3/31/20).

January 17, 2020 Version 2.10.13


Added note indicating that EDGX will support SAM and C-SAM auctions, effective
2/3/20.
January 28, 2020 Version 2.10.14
Added note to the Quote Update section, clarifying that a zero value price and/or size
can be used to delete a quote.
Updated description of SendTime field in Quote Update message and List of
Optional Fields table.
January 30, 2020 Version 2.10.15
Added note indicating RoutingFirmID will be effective on BZX effective 3/2/20.
February 3, 2020 Version 2.10.16
Added ExecLegCFICode as an optional return bit (byte 17) for the Order
Execution message. Effective on C1, C2, and EDGX 2/19/20.
March 10, 2020 Version 2.10.17
Updated Return Bitfield tables with bytes 16 and 17.
Updated LegRatioQty for New Complex Instrument and Complex
Instrument Accepted messages to support increase of maximum leg quantity
and maximum package price for complex orders (effective on C1, C2, and EDGX
04/13/20).

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 185
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

March 27, 2020 Version 2.10.18


Updated Quotes Reason Codes for ‘n’ and ‘x’ (effective on 03/19/20 for EDGX,
03/20/20 for C2 and BZX, and 03/23/20 for C1).
Added notes indicating Quote Update messages entered via a BOE Bulk Quoting
port will only be supported for Market Makers (capacity = ‘M’) and a valid, non-zero
value for the SendTime refiled for any Quote Update messages (effective 4/24/20).
Made a small correction in the Complex Instrument Accepted message
example.
April 22, 2020 Version 2.10.19
Updated Quote Reason Code ‘t’.
Updated the AutoMatchPrice description for more clarity.
Effective date updated to 7/10/20 for BOE Bulk Quoting port support restriction to
Market Makers and requirement for non-zero SendTime value.
April 27, 2020 Version 2.10.20
Noted Notional Exposure Tracking to be deprecated on 5/8/20.
April 28, 2020 Version 2.10.21
Added note indicating the rate limit at which identical Mass Cancel and Purge Order
messages will be accepted will be changed from 20 to 10 messages per second per
port (effective 5/27/20). Clarified description of Capacity value 'N' from "Non-Cboe
Market Maker" to "Away Market Maker".
May 22, 2020 Version 2.11.0
Added Maximum Open Order Limits section. Updated ContraBroker field values in
Example Order Execution Message.
Updated New Order Cross message table.
Added note indicating the rate limit at which identical Risk Reset messages will be
accepted will be changed from 1 per second to 1 per 100 ms per port (effective
5/27/20).
Added new Subreason and CancelSubreason fields to better inform members on the
reason why an order was cancelled or rejected. Also added newe RiskReset values to
allow for rest or self-imposed lockout without resetting risk counters (effective
8/3/20).
July 7, 2020 Version 2.11.1
Added EquityExDestination (22016) value of ‘P’ for Penserra (effective 8/10/20).
Added CrossInitiator (22026) field in New Order Cross Multileg and New
Order Multileg messages (C1 and EDGX Only) (effective 8/10/20).
Updated and removed values from SubreasonText (22058) and RiskReset (7692).
July 8, 2020 Version 2.11.2
Added date for deprecation of MassCancel and MassCancelLockout messages
(effective 10/12/20).
July 28, 2020 Version 2.11.3
Clarified SubLiquidityIndicator value of ‘B’ = Step Up Mechanism (C1 and EDGX Only).
Updated Drill-Through Amount table and default values for DrillThruProtection
(effective 08/05/20).
August 5, 2020 Version 2.11.4
Updated Return Bitfield tables for Order Rejected, Order Canceled, and
Cancel Rejected messages to indicate ClearingOptionalData is an optional field
(effective 08/28/20).
Corrected SubLiquidityIndicator value for QCC from 'q' to 'Q'.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 186
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

August 20, 2020 Version 2.11.5


Added new Purge Notification message and Acknowledgement Style value of
"A" for second character of MassCancelInst optional field (effective 9/25/20).
September 23, 2020 Version 2.11.6
Added Purge Notification to return bitfields section. No optional fields may be
selected for Purge Notification but fields may be added over time.
Updated note for Order Execution message, adding C1 as applicable platform for
complex orders.
September 28, 2020 Version 2.11.7
Added EquityExDestination (22016) values of 'F',’L’, and ‘S’ (effective 10/7/20).
October 6, 2020 Version 2.11.8
Added CrossType value of '4 = Position Compression Cross (“PCC”) on New Order
Cross and New Order Cross Multileg messages (C1 Only) (effective
10/28/20 10/29/20).
Updated description of MassCancelLockout field in Purge Notification message
to indicate 'Y' = lockout or 'N' =no lockout.
October 14, 2020 Version 2.11.9
Added note indicating Complex PCC orders cannot be composed of both SPX and SPXW
in the same instrument. Added SubLiquidityIndicator value of 'P = PCC' (C1 Only)
(effective 10/28/20 10/29/20).
Updated drill-through procedures to be iterative (effective 11/9/20 on EDGX and
11/10/20 on BZX, C1, and C2)
October 29, 2020 Version 2.11.10
Added note to description of Capacity optional field indicating the Capacity field must
be set to M for all Quote Update messages.
Updated description of CrossType in List of Optional Fields to include '4'=PCC ((C1
Only) and added note to Compression description to indicate when CrossType = ‘4’
Compression field should not be specified (effective 10/28/20 10/29/20).
Updated the Floor Trade Notification message due to a typo in the offset of
the MaturityDate field and all fields that come after it in the message.
Added SendTime as required field for Cancel Order and Purge Order messages
(effective 01/29/21).
November 2, 2020 Version 2.11.11
Corrected Cancel Order message description and updated examples. Corrected
Purge Order message description by adding Reserved field in place of deprecated
MassCancelInst and updated example.
November 5, 2020 Version 2.11.12
Updated iterative drill-through procedures effective date (effective 11/16/20 on EDGX
and 11/17/20 on BZX, C1, and C2)
December 17, 2020 Version 2.11.13
Added CrossType value of '5 = Related Futures Cross (“RFC”) on New Order Cross
Multileg message (C1 Only) (effective 01/19/21). Added SubLiquidityIndicator value
of "F = RFC" (C1 Only) (effective 01/19/21).
Added note to ClearingAccount field indicating when Capacity is set to "M" for Market-
Maker, any unregistered accounts in this field will cause the quote or order to be
rejected with a reason code of "A" and sub-reason code "L". Added new subreason code,
L = Unregistered MM Account (effective 02/08/21).

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 187
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

January 14, 2021 Version 2.11.14


Clarified description of 2nd character (Acknowledgement Style) value "M" for
MassCancelInst field.
Clarified that invalid EFID values specified in OnBehalfOfCompId will result in rejects of
MassCancelInst or Purge Requests.
Added notes to QuoteUpdate message and ClearingAccount field indicating when
Capacity is set to "M" for Market-Maker, any unregistered accounts in this field will
cause the quote sent via the Quoting Interface to be rejected with a reason code of "C"
(effective 02/08/21).
February 3, 2021 Version 2.11.15
Updated effective date for changes to QuoteUpdate message and ClearingAccount
field indicating when Capacity is set to "M" for Market-Maker, any unregistered
accounts in this field will cause the quote sent via the Quoting Interface to be rejected
with a reason code of "C" (effective 03/01/21).
February 10, 2021 Version 2.11.16
Added Section 1.6.1 – Architecture to provide high level overview of protocol
architecture and source IP blocking feature.
Added Section 1.6.12 - Stale NBBO to describe system behavior when SIP NBBO is
unavailable.
Added "Forced Open Cancel Instruction" to Port Attributes table (effective 3/12/21 for
EDGX, 3/15/21 for BZX, C1, C2).
February 22, 2021 Version 2.11.17
Added “EFID Filter for Purge Ports” to Port Attributes table (effective 3/17/21).
March 25, 2021 Version 2.11.18
Section 1.6.12 (Floor Routing) – Corrected list of example conditions which cause
default routing to theFloor.
Added Curb session hours (effective 04/25/22 TBD 02/07/22 TBD 09/27/21 Q3 2021).
Added new section 1.3.1 on holiday sessions (effective 11/21/21 Q4 2021).
Added new section 1.6.5 on cancellation of carried orders between trading sessions
(effective 04/25/22 TBD 02/07/22 TBD 09/27/21 Q3 2021).
Updated description of SessionEligibility message (effective 01/24/22 TBD 09/27/21 Q3
2021).
Updated 4.1.10 on risk reset between GTH and Curb session (effective 04/25/22 TBD
02/07/22 TBD 09/27/21 Q3 2021).
April 5, 2021 Version 2.11.19
Added note indicating Fat Finger checks are not applicable for any floor-based Multi-
Class Spread limit orders(effective 04/20/21).
April 15, 2021 Version 2.11.20
Updated section 4.1.7 to clarify quote cancellation behavior when a trading day spans
multiple calendar days.
May 13, 2021 Version 2.11.21
Updated Curb session related effective dates to 01/24/22 TBD 09/27/21.
June 08, 2021 Version 2.11.22
Updated CumQty Section for C1 Floor Specific Handling.
Removed FrequentTraderID from Modify Order message as this functionality is not
being used on the Modify Order message.
Added new optional field LegPositionEffectsExt to accommodate maximum of 16 legs
allowed on complex orders (effective 08/25/21 08/09/21).

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 188
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

June 15, 2021 Version 2.11.23


Updated effective date for extended GTH session to 11/21/21.
August 2, 2021 Version 2.11.24
Updated Modify Order Input Bitfield table to indicate that FrequentTradeID cannot be
requested for the Modify Order message.
Updated effective date for optional field LegPositionEffectsExt to accommodate
maximum of 16 legs on complex orders (effective 08/25/21).
August 24, 2021 Version 2.11.25
Updated sections 4.1.7 (Quote Update) and 1.6.6 (Display Indicator Features) to note
that quotes will be accepted if priced through the NBBO within a configurable buffer
(effective 09/15/2021).
August 25, 2021 Version 2.11.26
Updated Curb session effective date to 01/24/22 TBD.
September 9, 2021 Version 2.11.27
Added new value of “B” (RTH+Curb) for SessionEligibility message (effective 01/24/22
TBD).
September 28, 2021 Version 2.11.28
Added new "I" value to MassCancelInst , indicating multi-unit cancel acknowledgments;
added new SourceMatchingUnit field to Mass Cancel Acknowledgement.
(effective 11/15/21).
Added TradeDate to list of Optional Fields and added note indicating TradeDate will be
available on the Order Execution message (effective 11/21/21).
October 15, 2021 Version 2.11.29
Added ‘I’ value to PostingInstruction on Quote Update and Quote Update Short
messages (Effective 12/10/21 for EDGX and 12/12/21 for BZX/C1/C2).
October 21, 2021 Version 2.11.30
Added new subreason code ‘S = Minimum size requirement not met’ (effective
11/28/21).
November 4, 2021 Version 2.11.31
Updated Curb session effective date to 04/25/22 TBD 02/07/22.
Updated Hour of Operation to eliminate Sunday 7:15 p.m. GTH Order Acceptance
time.
Updated Holiday Session Figure 1.
Updated effective date for new SessionEligibility message value of “B” (RTH+Curb) to
01/24/22.
Added clarification to description of MassCancelInst value 'I' to indicate that message
type must be Purge Orders; Mass Cancel.
November 12, 2021 Version 2.11.32
Added new optional Held field that will be available on New Order , New Order
Complex , and Execution Report messages (C1 Only) (effective 12/12/21).
December 1, 2021 Version 2.11.33
Added note to section 1.6.6 indicating certain functionality is BZX only.
Corrected reference to FIX Tag 439 (ClearingFirm).
Added clarifying note to section 1.6.7.5 to indicate that Quotes that cross the NBBO or
displayed Cboe book will be accepted if within a configurable buffer.
Added ‘I = IOC Quote Accepted’ to QuoteResult field.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 189
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

December 3, 2021 Version 2.11.34


Clarified description of optional Held field to indicate default value of 'N' applies when
an order is directed to a Non-PAR Official (C1 Only) (effective 12/12/21).
December 16, 2021 Version 2.11.35
A Logout message will also be sent for any ports that are connected when the Options
Exchanges shut down (effective 01/09/22).
January 13, 2022 Version 2.11.36
Updated US Holiday Trading Hours graphic.
Noted that CAT reporting requirements mandate that QuoteUpdateID is unique for each
Quote Update message sent to the Exchange.
Added a new MatchingUnit field to Optional Fields and Purge Order Bitfield (effective
02/11/22 for EDGX and 02/14/22 for C1, C2, and BZX).
Updated Purge Orders section indiciating that CustomGroupID or EFID (ClearingFirm)
purges with no RiskRoot may be directed to a specific matching unit using the
MatchingUnit optional field (effective 02/11/22 for EDGX and 02/14/22 for C1, C2, and
BZX).
January 21, 2022 Version 2.11.37
Duplicative Order Protection Time Threshold to be sunset (effective 02/27/22).
Duplicative Order Protection Order Count will look at consecutive orders (effective
02/27/22).
February 1, 2022 Version 2.11.38
Updated Curb session effective date to 04/25/22 TBD.
February 22, 2022 Version 2.11.39
Added a new section 1.6.7.3 to detail Stop or Stop Limit Orders Drill-Through Handling
(TBD effective 03/28/22).
Noted that if both sides of a complex/spread trade are on the same order entry session,
Cboe does not guarantee that the leg executions will not be interleaved between sides.
March 7, 2022 Version 2.11.40
MaxRemovePct field to be sunset on BZX (effective 05/06/22), C1 (effective 05/08/22),
and C2/EDGX (effective 05/09/22).
March 14, 2022 Version 2.11.41
Changed effective date for updated Stop/Stop Limit Drill-Through Handling to TBD.
April 4, 2022 Version 2.11.42
Updated Curb session effective date to 04/25/22.
November 7, 2022 Version 2.11.43
Updated OrdType = 1 (Market) to indicate market and stop orders are not supported
during GTH or Curb sessions.
The maximum allowed message rate is 1 msg/sec for test products.
The length of LoginResponse will vary depending on acceptance or rejection of the
LoginRequest.
Added XSP to GTH and Curb sessions (effective 12/11/22).
November 30, 2022 Version 2.11.44
Stop/Stop Limit orders will only elect based off of RTH quotes and trades (effective
12/18/22).
January 24, 2023 Version 2.11.45
Updated Architecture and Message in Flight Settings section (BZX only) (effective
03/24/23).

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 190
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

February 27, 2023 Version 2.11.46


Updated OpenClose to indicate if the leg is limited to closing only transactions, only
Capacity = ‘M’ or ‘N’ will be permitted to submit OpenClose = ‘O’ if the order has
TimeInForce = ‘3’ (IOC) and RoutingInst = ‘B’, or the order has a RoutingInst = ‘P’.
Updated LegPositionEffect, LegPositionEffects and LegPositionEffectsExt to indicate if
the leg is limited to closing only transactions, only Capacity = ‘M’ or ‘N’ will be permitted
to submit OpenClose = ‘O’ if the order has TimeInForce = ‘3’ (IOC) and RoutingInst = ‘B’.
March 29, 2023 Version 2.11.47
An Open position cannot trade with an Open position for series limited to Closing Only
transactions, even if the inbound IOC from the aggressing market maker is sent with that
combination of tags.
April 17, 2023 Version 2.11.48
Added effective dates to Architecture and Message in Flight Settings section (effective
04/28/23 on EDGX, 05/12/23 on C2, and 5/29/23 on C1).
May 2, 2023 Version 2.11.49
Updated Bulk Quoting Port Quote/Order Behavior Matrix section.
May 15, 2023 Version 2.11.50
Added TargetMatchingUnit to the Reset Risk message (effective 06/12/23).
June 13, 2023 Version 2.11.51
Updated sections 1.6.7.2 and 1.6.7.3 to include drill-through handling enhancements
(effective 08/07/23 07/17/23 on C1).
June 15, 2023 Version 2.11.52
Updated priority treatment of no-change quotes, added new QuoteResult value of ‘O’
(Unknown quote), and noted modifications to quotes or orders will result in the same
time priority behavior (effective 10/25/23 08/16/23 on C2, and 10/30/23 08/21/23 on
BZX, C1, and EDGX).
July 20, 2023 Version 2.11.53
Added RiskResetResult = ‘M’ (invalid matching unit).
Updated OpenClose to indicate if the leg is limited to closing only transactions, only
Capacity = ‘M’ will be permitted to submit OpenClose = ‘O’ if the order has TimeInForce
= ‘3’ (IOC) and RoutingInst = ‘B’, or the order has a RoutingInst = ‘P’.
Updated LegPositionEffect, LegPositionEffects and LegPositionEffectsExt to indicate if
the leg is limited to closing only transactions, only Capacity = ‘M’ will be permitted to
submit OpenClose = ‘O’ if the order has TimeInForce = ‘3’ (IOC) and RoutingInst = ‘B’
July 28, 2023 Version 2.11.54
Clarified that Price is optional on Modify Order requests for market orders.
Added new ExDestination value of ‘M’ (MEMX) and added new ContraBroker value of
‘MEMX’ (effective 08/07/23).
Updated effective dates for priority treatment of no-change quotes, new QuoteResult
value of ‘O’ (Unknown quote), and modifications to quotes or orders that will result in
the same time priority behavior (effective 10/25/23 on C2, and 10/30/23 on BZX, C1,
and EDGX).
August 4, 2023 Version 2.11.55
Updated effective dates for drill-through handling enhancements on C1, and updated
drill-through parameter ranges (effective 08/07/23).
Updated Purge Orders to indicate that MassCancelInst must be populated and
ClearingFirm is only required if a list of configured/allow EFIDs has not been configured
on the session.

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 191
Cboe Options Exchanges
BOE Specification (Version 2.11.65)

August 15, 2023 Version 2.11.56


Updated effective date for drill-through handling enhancements on C2, BZX, and EDGX
(effective 08/25/23).
August 22, 2023 Version 2.11.57
TransactionTime in Mass Cancel Acknowledgement messages will indicate the
time the event occurred in the Cboe Matching Engine (effective 09/05/23).
October 30, 2023 Version 2.11.58
Updated the identical Purge message definition to include MatchingUnit (effective
11/13/23).
December 18, 2023 Version 2.11.59
Clarified that if OrderCapacity is not set to “M: or “N” and ClearingAccount is populated,
the order will be (by default) rejected on C1 and C2 and accepted on BZX and EDGX Only.
Updated TradeTime to FloorTradeTime.
Added new return bitfield, FloorTradeTime, which will be available as byte 19, bit 1 of
the Order Execution message (C1 only) (effective 01/16/24).
January 10, 2024 Version 2.11.60
Clarified that the “Default EquityPartyID” port attribute is applicable to C1 and EDGX
only.
Added a new “Default EquityExDestination” port attribute (effective 04/29/24
03/11/24).
February 2, 2024 Version 2.11.61
Updated section 1.6 to include latency expectations as well as Members/TPH's
responsibility to monitor the status of the messages they send to the exchange.
February 12, 2024 Version 2.11.62
Added new return bitfield, EquityExDestination, which will be available as byte 19, bit 2
of the Order Execution message (C1 and EDGX only) (effective 04/29/24 03/11/24).
March 8, 2024 Version 2.11.62
Clarified the CrossInitiator (C1 and EDGX only) description to indicate that the MPID field
is required on orders routed to destinations via NYSE Chicago using EquityExDestination
(22016).
Updated EquityExDestination port attribute and bitfield effective date to 04/29/24.
April 22, 2024 Version 2.11.63
Clarified Account (1) accepts all characters in ASCII range 33-126.
Noted a maximum of 1,295 Modify Order requests may be made to a single order
each trading day.
June 21, 2024 Version 2.11.64
Clarified that RiskResetResult value ‘<space> = Ignored; exceeds 1 reset per 100
milliseconds’ in Reset Risk Ackowlegement messages.
Added ExDestination (100) = ‘w’ (MIAX Sapphire) and ContraBroker (375) = ‘SPHR’.
July 1, 2024 Version 2.11.65
Added CrossOnBehalfOfID (FIX Tag 22028) to New Complex Order and New
Order Cross Multileg (C1 and EDGX only) (effective 07/22/24).

© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.


All Rights reserved 192

You might also like