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
Binary Order Entry
Specification
Version 2.11.67
August 28, 2024
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 2
Contents
1 Introduction .............................................................................................................................................. 6
1.1 Overview ...................................................................................................................................................... 6
1.2 Certification Requirement ............................................................................................................................ 6
1.3 Document Format ........................................................................................................................................ 6
1.4 Hours of Operation ...................................................................................................................................... 6
1.4.1 Holiday Sessions (C1 only) ........................................................................................................................ 7
1.5 Data Types .................................................................................................................................................... 7
1.6 Optional Fields and Bit fields ........................................................................................................................ 8
1.7 Protocol Features ......................................................................................................................................... 9
1.7.1 Architecture and Message in Flight Settings ............................................................................................ 9
1.7.2 Complex Instruments and Signed Prices (C1, C2, and EDGX only) ........................................................... 9
1.7.3 Done For Day Restatements .................................................................................................................... 9
1.7.4 Carried Order Restatements .................................................................................................................. 10
1.7.5 Cancellation of Carried Orders Between Trading Sessions .................................................................... 10
1.7.6 Display Indicator Features ...................................................................................................................... 11
1.7.7 Default Exchange Risk Protections ......................................................................................................... 11
1.7.8 Risk Root ................................................................................................................................................. 15
1.7.9 Market Maker Trade Notifications (C1 Only) ......................................................................................... 15
1.7.10 Cabinet and Sub-Cabinet Orders (C1 Only) ............................................................................................ 15
1.7.11 Auction Orders ....................................................................................................................................... 15
1.7.12 Port Types .............................................................................................................................................. 15
1.7.13 Floor Routing (C1 Only) .......................................................................................................................... 17
1.7.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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 3
3.2.4 Replay Complete .................................................................................................................................... 30
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 4
4.2.22 Complex Instrument Accepted (C1, C2, and EDGX Only) ....................................................................... 94
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 5
9.1 Member to Cboe ...................................................................................................................................... 168
9.2 Cboe to Member ...................................................................................................................................... 168
10 Port Attributes ........................................................................................................................................ 170
11 Support .................................................................................................................................................. 175
Revision History .............................................................................................................................................. 176
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 6
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 Certification Requirement
All customers must complete a formal certification in the appropriate Cboe Certification test environment before
production orders or quotes will be accepted by Cboe. Formal certification scripts can be found in the Cboe Customer
Web Portal. Customers may complete the formal certification using the Certification Tool app and selecting the
applicable certification script. Customers are advised to test all functionality they plan to use in production in the
Cboe Certification test environment.
1.3 Document Format
Blue highlighted sections highlight key differences between the Cboe US Options Exchanges (BZX Options Exchange
BZX only, Cboe Options Exchange “C1 only”, C2 Options Exchange C2 only”, and EDGX Options Exchange EDGX
only”).
1.4 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
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 7
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.
C1
C2
BZX
EDGX
Order
Acceptance
8:00 pm 8:15 pm ET
(SPX/VIX/XSP)
7:30 am - 9:30 am
ET
(All Products)
7:30 am - 9:30 am
ET
(All Products)
7:30 am - 9:30 am
ET
(All Products)
7:30 am - 9:30 am ET
(All Products)
GTH
8:15 pm - 9:25 am ET (SPX/VIX/XSP)
N/A
N/A
N/A
RTH
9:30 am - 4:00 pm ET
(All Products)
9:30 am - 4:00 pm
ET
(All Products)
9:30 am - 4:00 pm
ET
(All Products)
9:30 am - 4:00 pm
ET
(All Products)
9:30 am - 4:15 pm ET
(Select ETF's/ETN's and Index
Products)
9:30 am - 4:15 pm
ET
9:30 am - 4:15 pm
ET
9:30 am - 4:15 pm
ET
Curb
4:30 pm 5:00 pm ET
(SPX/VIX/XSP)
N/A
N/A
N/A
1.4.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.5 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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 8
Four bytes: 64 00 00 00 = +100
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.6 Optional Fields and Bit fields
Some messages such as New Order message and Modify Order message 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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 9
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.7 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.7.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.7.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 message.
1.7.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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 10
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.7.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.7.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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 11
1.7.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 Only)
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.7.7 Default Exchange Risk Protections
1.7.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).
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 12
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.7.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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 13
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
Effective 09/16/24:
NBBO Price
Drill-Through Amount
(All Symbols)
$0.00 $5.00
$0.05
$5.01 & Above
$0.10
1.7.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.7.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)
Fat Finger %
Default
Fat Finger Dollar-Based Limit
Default
No Value
$1.00
No Value
$1.50
No Value
$2.00
No Value
$3.00
No Value
$4.00
No Value
$6.00
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 14
8%
Not Valid
Regular Session
Fat Finger %
Default
Fat Finger Dollar-Based Limit
Default
No Value
$0.50
No Value
$0.75
No Value
$1.00
No Value
$1.50
No Value
$2.00
No Value
$3.00
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)
Fat Finger %
Default
Fat Finger Dollar-Based Limit
Default
No Value
$15.00
No Value
$15.00
No Value
$15.00
No Value
$15.00
No Value
$20.00
No Value
$20.00
No Value
$25.00
Exception Class Regular Session
Fat Finger %
Default
Fat Finger Dollar-Based Limit
Default
No Value
$1.00
No Value
$1.50
No Value
$2.00
No Value
$3.00
No Value
$4.00
No Value
$6.00
16%
Not Valid
See the Web Portal Port Controls Specification for additional details on how Members can manage fat finger settings
intraday.
1.7.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.7.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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 15
1.7.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.7.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.
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.7.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.7.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.7.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.7.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.7.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)
Limit-On-Open (LOO)
OrdType = 2 (Limit)
Price = [price]
TimeInForce = 2 (At the open)
Settlement Liquidity On Open (SLOO)
OrdType = 2 (Limit)
Price = [price]
TimeInForce = 2 (At the open)
ExecInst = r (Settlement Liquidity)
1.7.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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 16
1.7.12.1 BOE Order Ports
Standard BOE ports support simple and complex order entry but do not support the usage of Quote Update
message types and Purge Orders message types. 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.7.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.
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
Quoting Port?
Other Conditions
Quote Update
Simple
Yes
Quote Update
(short)
Simple
Yes
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
(Auction Response)
Simple
Yes
New Order Cross
(AIM or QCC)
Simple
No
New Order Cross
Multileg
Simple
No
Purge Orders
Simple/Complex
No
Reset Risk
Simple/Complex
Yes
New Complex
Instrument
Complex
Yes
Quote Update
Complex
No
New Complex
Order
Complex
Yes
Must be Post Only (RoutingInst = P).
Must have a TimeInForce value of Day
or GTD with a same day expiration on
C1, C2, and EDGX.
New Complex
Order
(COA Response)
Complex
Yes
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 17
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 message 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.
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
messages?
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Can a Market-Maker send quote
messages?
Yes
Yes
Yes
Yes
No
No
No
No
Can a non-Market-Maker send
order messages?
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Can a non-Market-Maker send
quote messages?
No
No
No
No
No
No
No
No
Can an aggressing Market-Maker
remove a resting Market-Maker
quote or order?
Yes
No
No
No
Yes
Yes
Yes
Yes
Can an aggressing Market-Maker
remove a resting non-Market-
Maker order?
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Can an aggressing non-Market-
Maker remove a resting Market-
Maker quote or order?
Yes
No
No
No
Yes
Yes
Yes
Yes
Can an aggressing non-Market-
Maker remove a resting non-
Market-Maker order?
Yes
No
No
No
Yes
Yes
Yes
Yes
1.7.12.3 BOE Purge Ports
BOE Purge Ports support a single Purge Orders message type. 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.7.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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 18
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.
Order Tags/Port Settings
Handling of the Order
Order Floor
Destination
Order
FloorRoutingInst
Port
Default
Floor
Destination
Port Default
FloorRoutingInst
Orders Only
Executed on
Floor
(i.e. complex
AON)
All Other Order
Types
E (default)
Reject: ineligible
for electronic
book
Process
electronically
D
Reject: requires a
floor destination
Reject: requires a
floor destination
X
Reject: requires a
floor destination
Reject: requires a
floor destination
W001
E (default)
Reject: ineligible
for electronic
book
Process
electronically
W001
D
Route to floor:
W001
Route to floor:
W001
W001
X
Route to floor:
W001
Process
electronically
W009
E (default)
Reject: ineligible
for electronic
book
Process
electronically
W009
W001
D
Route to floor:
W009
Route to floor:
W009
W009
X
Route to floor:
W009
Process
electronically
W009
E
Reject: ineligible
for electronic
book
Process
electronically
W009
D
Route to floor:
W009
Route to floor:
W009
W009
X
Route to floor:
W009
Process
electronically
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 19
E
Reject: ineligible
for electronic
book
Process
electronically
D
Reject: requires a
floor destination
Reject: requires a
floor destination
X
Reject: requires a
floor destination
Process
electronically
E = Electronic only D = Direct X = Route to floor if unable to process electronically
1.7.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.7.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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 20
2 Session
2.1 Message Header Fields
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 NoUnspeciedUnitReplay flag is enabled
in the Login Request message, 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 21
Assuming a Member has requested replay messages using a properly formatted Login Request message 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 5 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 messages.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 22
3 Session Messages
3.1 Member to Cboe
3.1.1 Login Request Message Fields
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
Groups
28
1
Binary
A number, n (possibly 0), of parameter groups to
follow.
ParamGroup
1
First parameter group.
ParamGroup
n
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 23
NoUnspecified
UnitReplay
3
1
Binary
Flag indicating whether to replay missed outgoing
(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.
UnitSequence
1
4
Binary
Last received sequence number for the unit.
UnitNumber
n
1
Binary
A unit number.
UnitSequence
n
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
Bitfields
4
1
Binary
Number of bitfields to follow.
ReturnBitfield
1
5
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
n
1
Binary
Last bit field.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 24
Login Request Message Example
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
Groups
03
3 parameter groups
ParamGroupLength
0F 00
15 bytes for this parameter group
ParamGroupType
80
0x80 = Unit Sequences
NoUnspecified
UnitReplay
01
True (replay only specified units)
NumberOfUnits
02
Two unit/sequence pairs to follow;
UnitNumber
1
01
Unit 1
UnitSequence
1
4A BB 01 00
Last received sequence of 113,482
UnitNumber
2
02
Unit 2
UnitSequence
2
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
Bitfields
03
3 bitfields to follow
ReturnBitfield
1
00
No bitfields from byte 1
ReturnBitfield
2
41
Symbol, Capacity
ReturnBitfield
3
05
Account, ClearingAccount
ParamGroupLength
0B 00
11 bytes for this parameter group
ParamGroupType
81
0x81 = Return Bitfields
MessageType
2C
0x2C = Order Execution
NumberOfReturn
Bitfields
06
6 bitfields to follow
ReturnBitfield
1
00
No bitfields from byte 1
ReturnBitfield
2
41
Symbol, Capacity
ReturnBitfield
3
07
Account, ClearingFirm, ClearingAccount
ReturnBitfield
4
00
No bitfields from byte 4
ReturnBitfield
5
40
BaseLiquidityIndicator
ReturnBitfield
6
00
No bitfields from byte 6
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 25
3.1.2 Logout Request Message Fields
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.
Logout Request Message Example
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 Message Fields
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.
Client Heartbeat Message Example
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 26
3.2 Cboe to Member
3.2.1 Login Response Message Fields
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 message. 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 message; however, all units will be provided in the Login Response 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
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
UnitReplay
71
1
Binary
Echoed back from the original Login Request
message.
LastReceived
SequenceNumber
72
4
Binary
Last inbound (Member to Cboe) message
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.
UnitSequence
1
4
Binary
Highest available Cboe to Member sequence
number for the unit.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 27
UnitNumber
n
1
Binary
A unit number.
UnitSequence
n
4
Binary
Highest available Cboe to Member sequence
number for the unit.
NumberOfParam
Groups
1
Binary
Echoed back from the original Login Request
message.
ParamGroup
1
Echoed back from the original Login Request
message.
ParamGroup
n
Echoed back from the original Login Request
message.
Login Response Message Example
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
UnitSequence
1
4A BB 01 00
Actual last sequence of 113,482
UnitNumber
2
02
Unit 2
UnitSequence
2
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
Groups
03
3 parameter 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
UnitSequence
1
4A BB 01 00
Last received sequence of 113,482
UnitNumber
2
02
Unit 2
UnitSequence
2
00 00 00 00
Last received sequence of 0
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 28
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
Bitfields
03
3 bitfields to follow
ReturnBitfield
1
00
No bitfields from byte 1
ReturnBitfield
2
41
Symbol, Capacity
ReturnBitfield
3
05
Account, ClearingAccount
ParamGroupLength
0C 00
12 bytes for this parameter group
ParamGroupType
81
0x81 = Return Bitfields
MessageType
2C
0x2C = Order Execution
NumberOfReturn
Bitfields
07
7 bitfields to follow
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 Message Fields
A Logout message is usually sent in response to a Logout Request message. Any queued data is transmitted, a
Logout message is sent, and Cboe will close the connection. However, a Logout message 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 message 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
SequenceNumber
71
4
Binary
Last inbound (Member to Cboe) message
sequence number processed by Cboe.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 29
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.
UnitSequence
1
4
Binary
Highest available sequence number for the unit.
UnitNumber
n
1
Binary
A unit number.
UnitSequence
n
4
Binary
Highest available sequence number for the unit.
Logout Response Message Example
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
UnitSequence
1
4A BB 01 00
Last sent sequence of 113,482
UnitNumber
2
02
Unit 2
UnitSequence
2
00 00 00 00
Last sent sequence of 0
3.2.3 Server Heartbeat Message Fields
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.
Server Heartbeat Message Example
Field Name
Hexadecimal
Notes
StartOfMessage
BA BA
Start of message bytes.
MessageLength
08 00
8 bytes
MessageType
09
Server Heartbeat
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 30
MatchingUnit
00
Always 0 for inbound messages
SequenceNumber
00 00 00 00
Always 0 for session level messages
3.2.4 Replay Complete Message Fields
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.
Replay Complete Message Example
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 31
4 Application Messages
4.1 Member to Cboe
4.1.1 New Order Message Fields
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
NewOrder
Bitfields
35
1
Binary
Bitfield identifying which bitfields are set. Field
values must be appended to the end of the
message.
NewOrderBitfield¹
36
1
Binary
Bitfield identifying fields to follow.
….
NewOrderBitfield
1
Binary
Last bitfield.
Optional fields. . .
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 32
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.
New Order Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
00 00 00 00 00 00
DEFG
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 Message Fields (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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 33
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
NewOrderCross
Bitfields
44
1
Binary
Bitfield identifying which bitfields are set
NewOrderCross
Bitfield¹
45
1
Binary
Bitfield identifying fields to follow.
….
NewOrderCross
Bitfield
1
Binary
Last 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
no more than 11.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 34
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
(Optional)
16
Text
See List of Optional Fields.
CMTANumber
(Optional)
4
Binary
See List of Optional Fields.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 35
ClearingAccount
(Optional)
4
Text
See List of Optional Fields.
ClearingOptional
Data(Optional)
16
Text
See List of Optional Fields.
FrequentTraderID
(Optional)
6
Text
See List of Optional Fields.
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.
New Order Cross Message Example
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
63 65 70 74 42 75 79 00 00 00
NZ1V7BJ_AcceptBuy
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
Bitfields
02
Two bitfields to follow
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
65 6E 63 79 00 00 00 00 00 00
QL7SZ7C_agency
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
6E 74 72 61 31 00 00 00 00 00
QL9K8UV_contra1
Capacity
46
F = Firm
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 36
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
6E 74 72 61 32 00 00 00 00 00
QL9T5YD_contra2
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 Message Fields (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 message request. The message is similar to a New
Order message 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 message response, not the order supplied in
the New Complex Instrument message 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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 37
OrderQty
31
4
Binary
Corresponds to OrderQty (38) in Cboe FIX.
Order quantity. System limit is 999,999 contracts.
NumberOf
NewComplexOrder
Bitfields
35
1
Binary
Bitfield identifying which bitfields are set. Field
values must be appended to the end of the
message.
NewComplexOrder
Bitfield¹
36
1
Binary
Bitfield identifying fields to follow.
….
NewComplexOrder
Bitfield
1
Binary
Last 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.
New Complex Order Message Example
Field Name
Hexadecimal
Notes
StartOfMessage
BA BA
Start of message bytes.
MessageLength
4D 00
77 bytes
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 38
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
00 00 00 00 00 00
DEFG
4.1.4 New Order Cross Multileg Message Fields (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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 39
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
NewOrderCrossMultileg
Bitfields
44
1
Bit Field
Bitfield identifying which bitfields are set.
NewOrderCrossMultileg
Bitfield¹
45
1
Bit Field
Bitfield identifying fields to follow.
….
NewOrderCrossMultileg
Bitfield
1
Bit Field
Last 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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 40
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
(Optional)
16
Text
See List of Optional Fields.
CMTANumber
(Optional)
4
Binary
See List of Optional Fields.
ClearingAccount
(Optional)
4
Text
See List of Optional Fields.
ClearingOptionalData
(Optional)
16
Text
See List of Optional Fields.
EquityPartyId
(Optional)
4
Alpha
See List of Optional Fields.
EquityLegShortSell
(Optional)
1
Alpha
See List of Optional Fields.
FrequentTraderID
(Optional)
6
Text
See List of Optional Fields.
LegPositionEffectsExt
(Optional)
16
Alpha
See List of Optional Fields.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 41
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
New Order Cross Multileg Message Example
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
63 65 70 74 42 75 79 00 00 00
NZ1V7BJ_AcceptBuy
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
Multileg Bitfields
05
Five bitfields to follow
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
65 6E 63 79 00 00 00 00 00 00
QL7SZ7C_agency
Capacity
43
C = Customer
GiveUpFirmID
44 45 46 47
DEFG
LegPositionEffects
20 20 20 20 20 20 20 20 20 20
20 20
Not used when there are more than
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
43 4F 43 4F 43 4F
COCOCOCOCOCOCOCO Instrument
has 16 legs, alternating Close and
Open legs
Side
32
2 = Sell
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 42
AllocQty
28 00 00 00
40 contracts
ClOrdID
51 4C 39 4B 38 55 56 5F 63 6F
6E 74 72 61 31 00 00 00 00 00
QL9K8UV_contra1
Capacity
46
F = Firm
GiveUpFirmID
41 42 43 44
ABCD
LegPositionEffects
20 20 20 20 20 20 20 20 20 20
20 20
Not used when there are more than
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
4F 4F 4F 4F 4F 4F
OOOOOOOOOOOOOOOO -
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
6E 74 72 61 32 00 00 00 00 00
QL9T5YD_contra2
Capacity
46
F = Firm
GiveUpFirmID
41 42 43 44
ABCD
LegPositionEffects
20 20 20 20 20 20 20 20 20 20
20 20
Not used when there are more than
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
43 43 43 43 43 43
CCCCCCCCCCCCCCCC - Instrument has
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 Message Fields
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 43
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
CancelOrder
Bitfields
30
1
Binary
Bitfield identifying bitfields which are set. May be 0.
Field values must be appended to the end of the
message.
CancelOrder
Bitfield¹
31
1
Binary
Bitfield identifying fields to follow. Only present if
NumberOfCancelOrderBitfields is non-zero.
CancelOrder
Bitfield
1
Binary
Last bitfield.
Optional fields. . .
Cancel Order Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
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.
Mass Cancel Order Message Example
Field Name
Hexadecimal
Notes
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 44
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
00 00 00 00 00 00 00 00 00 00
(empty)
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
00 00 00 00 00 00 00 00 00 00
ABC123
MassCancelInst
46 53 4C 42 00 00 00 00 00 00
00 00 00 00 00 00
F = Cancel orders matching
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 Message Fields
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 message should not be issued until the Order Acknowledgement message for the previous
New Order or Order Modified message for the previous Modify Order message has been received. The BOE
handler will reject a new Modify Order message 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 45
The OrderQty and Price fields in the optional field block must be present on all Modify Order message requests.
Messages sent without OrderQty or Price fields will be rejected. Price is optional for market orders.
A maximum of 1,295 Modify Order message 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
message 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
ModifyOrder
Bitfields
50
1
Binary
Bitfield identifying bitfields which are set. May be
0. Field values must be appended to the end of the
message.
ModifyOrder Bitfield
1
51
1
Binary
Bitfield identifying fields to follow.
ModifyOrder Bitfield
1
Binary
Last bitfield.
Optional fields. . .
Modify Order Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC124
OrigClOrdID
41 42 43 31 32 33 00 00 00 00
00 00 00 00 00 00 00 00 00 00
ABC123
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 46
4.1.7 Quote Update Message Fields
Request to enter or update one or more quotes. Quote Update message 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 message 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 message 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 47
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 message.
PostingInstruction
80
1
Text
P = Post Only (do not remove liquidity)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 48
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
(C1 only)
81
1
Text
R = Regular Trading Hours (RTH) 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.
Quote Update Message Example
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
00 00 00 00 00 00
ABC123
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
00 00 00 00 00 00
DEFGABCD
CustomGroupID
C8 00
200
Capacity
4D
M = Market Maker
Reserved
00 00 00 00 00 00 00 00 00 00
00 00 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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 49
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
00 00
Reserved
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
00 00
Reserved
4.1.8 Quote Update (Short) Message Fields
A shorter version of Quote Update messages 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) message 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 messages 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 messages. Set to 0 if functionality not
needed.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 50
Capacity
36
1
Alpha
Corresponds to OrderCapacity (47) in Cboe FIX.
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 message.
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
(C1 only)
49
1
Text
R = Regular Trading Hours (RTH) 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
Binary Price
Limit 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.
Quote Update Message Example
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 51
SequenceNumber
64 00 00 00
Sequence number 100
QuoteUpdateID
41 42 43 31 32 33 00 00 00 00
00 00 00 00 00 00
ABC123
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 Message Fields
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 message 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 message requests can be submitted to the system.
Requests are restricted to ten (10) messages per second per port.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 52
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
PurgeOrders
Bitfields
11
1
Binary
Bitfield identifying bitfields which are set. May be 0.
Field values must be appended to the end of the
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. . .
Purge Orders Message with CustomGroupID and Lockout Example
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
00 00 00 00 00 00
F = Cancel orders matching clearing firm
TEST
S = Single ack
L = Lockout both CustomGroupIDs
B = Cancel simple and complex
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 53
MassCancelID
41 42 43 31 32 33 00 00 00 00
00 00 00 00 00 00 00 00 00 00
ABC123
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.
Purge Orders Message with Product Level Filter and no Lockout Example
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
00 00 00 00 00 00
F = Cancel orders matching clearing firm
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
00 00 00 00 00 00 00 00 00 00
ABC123
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 Message Fields
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 54
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.
Reset Risk Message Example
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
00 00 00 00 00 00
ABC123
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
Reset Risk Message Targeting a Matching Unit Example
Field Name
Hexadecimal
Notes
StartOfMessage
BA BA
Start of message bytes.
MessageLength
30 00
48 bytes
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 55
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
00 00 00 00 00 00
ABC123
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 Message Fields (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
NewComplex
InstrumentBitfields
30
1
Binary
Bitfield identifying which bitfields are set. Field
values must be appended to the end of the
message.
NewComplex
InstrumentBitfield¹
31
1
Binary
Bitfield identifying fields to follow.
….
NewComplex
InstrumentBitfield
1
Binary
Last bitfield.
NoLegs
1
Binary
Corresponds to NoLegs (555) in Cboe FIX.
Indicates the number of repeating groups to fol-
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 56
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
(Optional)
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
(Optional)
4
Date
Corresponds to LegMaturityDate (611) in Cboe FIX.
Required if LegSymbol is in OSI format.
LegStrikePrice
(Optional)
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 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.
New Complex Instrument Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
NumberOfNewComplex
InstrumentBitfields
01
One bitfield to follow
NewComplex
InstrumentBitfield1
0F
LegCFICode, LegMaturityDate,
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 57
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 Message Fields (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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 58
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 59
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
Add Floor Trade Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 60
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
00 00 00 00 00 00
Reserved
4.1.13 Floor Trade Confirmation Message Fields (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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 61
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
Floor Trade Confirmation Message Example
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
00 00 00 00 00 00 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
TransctionTime
00 5C DB E2 27 12 B4 15
1,563,894,933,123,456,000
PriceType
32
2 = Price per unit
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 62
Reserved
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00
Reserved
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 message or with a
Delete Floor Trade Acknowledgement message 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 63
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
Delete Floor Trade Message Example
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
00 00 00 00 00 00 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
Buy
Reserved
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Reserved
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 64
4.2 Cboe to Member
4.2.1 Order Acknowledgment Message Fields
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.
Order Acknowledgment Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
OrderID
05 10 1E B7 5E 39 2F 02
171WC1000005 (base 36)
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
Bitfields
47
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
48
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 65
ReservedInternal
00
Ignore
NumberOfReturn
Bitfields
03
Three bitfields to follow
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
Minimal Order Acknowledgment Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
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 Message Fields (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 message (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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 66
Cross Order Acknowledgment Message Example
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
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
Bitfields
47
1
Binary
Number of bitfields to follow.
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
(Optional)
1
Alphanumeric
See List of Optional Fields.
AllocQty
(Optional)
4
Binary
See List of Optional Fields.
Capacity
(Optional)
1
Alpha
See List of Optional Fields.
OpenClose
(Optional)
1
Alphanumeric
See List of Optional Fields.
GiveUpFirmID
(Optional)
4
Alpha
See List of Optional Fields.
Account
(Optional)
16
Text
See List of Optional Fields.
CMTANumber
(Optional)
4
Binary
See List of Optional Fields.
ClearingAccount
(Optional)
4
Text
See List of Optional Fields.
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 67
CrossID
4E 5A 31 56 37 42 4A 5F 41 63
63 65 70 74 42 75 79 00 00 00
NZ1V7BJ_AcceptBuy
AuctionId
01 C0 91 A2 94 AB 78 04
2G4GYK000001 (base 36)
ReservedInternal
00
Ignore
NumberOfReturn
Bitfields
02
Two bitfields to follow
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
65 6E 63 79 00 00 00 00 00 00
NZ1V7GN_agency
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
6E 74 72 61 31 00 00 00 00 00
NZ1V7KF_contra1
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
6E 74 72 61 32 00 00 00 00 00
NZ1V7NH_contra2
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 Message Fields
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 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
0x51
MatchingUnit
5
1
Binary
Unsequenced application message. MatchingUnit
will be set to 0.Unsequenced application message.
MatchingUnit will be set to 0.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 68
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 69
Quote Update Acknowledgment Message Example
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
00 00 00 00 00 00
ABC123
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 Message Fields
Order Rejected messages are sent in response to a New Order message 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.
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
Indicator
1
Text
N = Normal
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 70
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
Bitfields
100
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
101
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Order Rejected Message Example
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
Bitfields
04
Four bitfields to follow
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 71
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 Message Fields (C1 and EDGX Only)
Cross Order Rejected messages are sent in response to a New Order Cross and New Order Cross Multileg
messages 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
Bitfields
100
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
101
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 72
Cross Order Rejected Message Example
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
Bitfields
02
Two bitfields to follow
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 Message Fields
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 73
Quote Update Rejected Message Example
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
00 00 00 00 00 00 00
Reserved
4.2.7 Order Modified Message Fields
Order Modified messages are sent in response to a Modify Request message 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
Bitfields
47
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
48
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 74
Order Modified Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
OrderID
05 10 1E B7 5E 39 2F 02
171WC1000005 (base 36)
ReservedInternal
00
Ignore
NumberOfReturn
Bitfields
05
Five bitfields to follow
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 Message Fields
Order Restated messages are sent to inform the Member that an order has been asynchronously modified
for some reason without an explicit Modify Order message 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 75
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
Bitfields
48
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
49
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Order Restated Message for a Reserve (Iceberg) Reload Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
OrderID
05 10 1E B7 5E 39 2F 02
171WC1000005 (base 36)
RestatementReason
4C
L = Reload
ReservedInternal
00
Ignore
NumberOfReturn
Bitfields
06
Six 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
02
LeavesQty
ReturnBitfield6
01
SecondaryOrderID
LeavesQty
64 00 00 00
100 contracts
SecondaryOrderID
0A 10 1E B7 5E 39 2F 02
171WC100000A (base 36)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 76
4.2.9 Quote Restated Message Fields
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.
Quote Restated Message Example
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
00 00 00 00 00 00
ABC123
OrderID
05 10 1E B7 5E 39 2F 02
171WC1000005 (base 36)
LeavesQty
14 00 00 00
20 contracts
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 77
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 Message Fields
User Modify Rejected messages are sent in response to a Modify Order message 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
Reason
38
1
Text
Reason for a modify 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
Bitfields
100
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
101
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
User Modify Rejected Message Example
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 78
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 Message Fields
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
Text
Reason for the order cancellation.
See Order Reason Codes for a list of possible
reasons.
ReservedInternal
39
1
Binary
Reserved for Cboe internal use.
NumberOfReturn
Bitfields
40
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
41
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Order Cancelled Message Example
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 79
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 Message Fields
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
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
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 80
Quote Cancelled Message Example
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
00 00 00 00 00 00
ABC123
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 Message Fields (C1 and EDGX Only)
A New Order Cross message 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.
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
The cross order which was cancelled.
CancelReason
38
1
Text
Reason for the order cancellation.
See Order Reason Codes for a list of possible
reasons.
ReservedInternal
39
1
Binary
Reserved for Cboe internal use.
NumberOfReturn
Bitfields
40
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
41
1
Binary
Bitfield identifying fields to return.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 81
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
Copied from original cross order.
OrderID
8
Binary
The order id of the cross order that was
cancelled.
Side
(Optional)
1
Alphanumeric
See List of Optional Fields.
AllocQty
(Optional)
4
Binary
See List of Optional Fields.
Capacity
(Optional)
1
Alpha
See List of Optional Fields.
OpenClose
(Optional)
1
Alphanumeric
See List of Optional Fields.
GiveUpFirmID
(Optional)
4
Alpha
See List of Optional Fields.
Account
(Optional)
16
Text
See List of Optional Fields.
CMTANumber
(Optional)
4
Binary
See List of Optional Fields.
ClearingAccount
(Optional)
4
Text
See List of Optional Fields.
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.
Cross Order Cancelled Message Example
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
65 6E 63 79 00 00 00 00 00 00
NZ1V7GN_agency
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
6E 74 72 61 31 00 00 00 00 00
NZ1V7KF_contra1
OrderID
03 C0 91 A2 94 AB 78 04
2G4GYK000003 (base 36)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 82
Capacity
46
F = Firm
ClOrderID
4E 5A 31 56 37 4E 48 5F 63 6F
6E 74 72 61 32 00 00 00 00 00
NZ1V7NH_contra2
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 Message Fields
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
Bitfields
100
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
101
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Cancel Rejected Message Example
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 83
Text
54 4F 4F 20 4C 41 54 45 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 00 00
TOO LATE
ReservedInternal
00
Ignore
NumberOfReturn
00
No optional fields
Bitfields
4.2.15 Order Execution Message Fields
An Order Execution message 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 84
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
Indicator
62
1
Alphanumeric
Indicates whether the trade added or removed
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 85
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
Bitfields
69
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
70
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields…
Order Execution Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
Bitfields
03
Three bitfields to follow
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 86
4.2.16 Quote Execution Message Fields
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
Indicator
82
1
Alpha
Indicates whether the trade added or removed
liquidity.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 87
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.
Quote Execution Message Example
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
00 00 00 00 00 00
ABC123
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 Message Fields
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 messages 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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 88
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
Indicator
55
1
Alphanumeric
Indicates whether the trade added or removed
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
Bitfields
93
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
94
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Trade Cancel or Correct Message Example
Field Name
Hexadecimal
Notes
StartOfMessage
BA BA
Start of message bytes.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 89
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
Bitfields
04
Four bitfields to follow
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 Message Fields
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 90
Text
19
60
Text
Human readable text with more information about
the reject reason.
ReservedInternal
79
1
Binary
Reserved for Cboe internal use.
NumberOfReturn
Bitfields
80
1
Binary
Number of bitfields to follow.
ReturnBitfield
1
81
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
n
1
Binary
Last bitfield.
Optional fields. . .
Purge Rejected Message Example
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
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
ADMIN
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
00 00 00 00 00 00 00 00 00 00
TEST
4.2.19 Reset Risk Acknowledgment Message Fields
Response to a Reset Risk message request.
Field
Offset
Length
Data Type
Description
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 91
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.
Risk Reset Acknowledgment Message Example
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
00 00 00 00 00 00
ABC123
RiskResetResult
00
Y = Success
4.2.20 Mass Cancel Acknowledgment Message Fields
A Mass Cancel Acknowledgment message 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, 2
nd
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 92
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 messages. 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, 2
nd
character =
I'.
This field corresponds to MatchingUnit (25017) in
Cboe FIX.
Mass Cancel Acknowledgment Message Example
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 Message Fields
A Purge Notification message 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 93
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
lds
55
1
Binary
Number of bitfields to follow.
ReturnBitfield
56
1
Binary
Bitfield identifying fields to return.
Optional fields. . .
Purge Notification Message Example
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
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 94
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 Message Fields (C1, C2, and EDGX Only)
The Complex Instrument Accepted message 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
ReturnBitfields
52
1
Binary
Number of bitfields to follow.
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 95
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.
Complex Instrument Accepted Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
Bitfields
0D
13 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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 96
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
Minimal Complex Instrument Accepted Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
Bitfields
00
No bitfields follow
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 97
4.2.23 Complex Instrument Rejected Message Fields (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
Bitfields
104
1
Binary
Number of bitfields to follow.
ReturnBitfield¹
105
1
Binary
Bitfield identifying fields to return.
ReturnBitfield
1
Binary
Last bitfield.
Optional fields. . .
Complex Instrument Rejected Message Example
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 98
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
Bitfields
00
No bitfields follow
4.2.24 Floor Trade Notification Message Fields (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 message; 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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 99
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
Floor Trade Notification Message Example
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 100
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
00 00 00 00 00
Reserved
4.2.25 Add Floor Trade Rejected Message Fields (C1 Only)
The Add Floor Trade Rejected message is used to indicate that a requested Add Floor Trade message
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 101
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.
Add Floor Trade Rejected Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
00 00 00 00 00 00
Reserved
RejectText
41 3A 20 46 6C 6F 6F 72 54 72
61 64 65 72 41 63 72 6F 6E 79
6D 3D 41 41 41 20 64 6F 65 73
20 6E 6F 74 20 68 61 76 65 20
A:FloorTraderAcronym=AAA does not
have a floor permit
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 102
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 Message Fields (C1 Only)
The Floor Trade Confirmation Rejected message is used to indicate that a requested Floor Trade
Confirmation message 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.
Floor Trade Confirmation Rejected Message Example
Field Name
Hexadecimal
Notes
StartOfMessage
BA BA
Start of message bytes.
MessageLength
8D 00
141 bytes
MessageType
5E
Floor Trade Confirmation
Rejected
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 103
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
00 00 00 00 00 00 00 00 00 00
ABC123
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
00 00 00 00 00
Reserved
RejectText
41 3A 20 45 78 65 63 49 64 3A
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
A: ExecId: ExecutionId empty
4.2.27 Delete Floor Trade Rejected Message Fields (C1 Only)
The Delete Floor Trade Rejected message is used to indicate that a requested Delete Floor Trade
message 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 104
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
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.
Delete Floor Trade Rejected Message Example
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
00 00 00 00 00 00
Reserved
RejectText
55 6E 6B 6E 6F 77 6E 20 73 79
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
Unknown symbol
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 105
4.2.28 Delete Floor Trade Acknowledgement Message Fields (C1 Only)
A Delete Floor Trade Acknowledgment message 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
Delete Floor Trade Acknowledgement Message Example
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
00 00 00 00 00 00 00 00 00 00
ABC123
ExecID
01 F0 B7 D9 71 21 00 00
D19800001 (base 36)
Reserved
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
Reserved
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 106
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 107
5.1 New Order
Byte
Bit
Field
Byte
Bit
Field
1
1
ClearingFirm
6
1
DisplayRange
2
ClearingAccount
2
StopPx
4
Price
4
RoutStrategy
8
ExecInst
8
RouteDeliveryMethod
16
OrdType
16
ExDestination
32
TimeInForce
32
EchoText
64
MinQty
64
AuctionId
128
MaxFloor
128
RoutingFirmID
2
1
Symbol
R
7
1
AlgorithmicIndicator
2
SymbolSfx
2
CustomGroupId
4
Currency
4
ClientQualifiedRole
8
IdSource
8
InvestorQualifiedRole
16
SecurityId
16
ExecutorQualifiedRole
32
SecurityExchange
32
CtiCode
64
Capacity
R
64
ManualOrderIndicator
128
RoutingInst
128
OperatorId
3
1
Account
8
1
(Reserved)
2
DisplayIndicator
2
(Reserved)
4
(Reserved)
4
ClearingOptionalData
8
DiscretionAmount
8
ClientIDAttr
16
PegDifference
16
FrequentTraderID
32
PreventMatch
32
Compression
64
LocateReqd
64
FloorDestination
128
ExpireTime
128
FloorRoutingInst
4
1
MaturityDate
9
1
OrderOrigin
2
StrikePrice
2
ORS
4
PutOrCall
4
PriceType
8
RiskReset
8
(Reserved)
16
OpenClose
16
(Reserved)
32
CMTANumber
32
(Reserved)
64
TargetPartyID
64
CrossTradeFlag
128
(Reserved)
128
(Reserved)
5
1
SessionEligibility
10
1
Held
2
AttributedQuote
2
LocateBroker
4
BookingType
4
(Reserved)
8
ExtExecInst
8
(Reserved)
16
ClientID
16
(Reserved)
32
InvestorID
32
(Reserved)
64
ExecutorID
64
(Reserved)
128
OrderOrigination
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 108
5.2 New Order Cross (C1 and EDGX Only)
Byte
Bit
Field
Byte
Bit
Field
1
1
Symbol
R
3
1
ClientIDAttr
2
MaturityDate
2
EquityTradePrice
4
StrikePrice
4
EquityTradeSize
8
PutOrCall
8
EquityTradeVenue
16
ExecInst
16
EquityTransactTime
32
AttributedQuote
32
EquityBuyClearingFirm
64
TargetPartyID
64
EquitySellClearingFirm
128
PreventMatch
128
SessionEligibility
2
1
AutoMatch
4
1
Compression
2
AutoMatchPrice
2
ORS
4
LastPriority
4
FrequentTraderID
8
Account
8
(Reserved)
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
1
ClearingFIrm
4
1
ClientIDAttr
7
1
(Reserved)
2
ClearingAccount
2
FrequentTraderID
2
(Reserved)
4
Price
4
SessionEligibility
4
(Reserved)
8
OrdType
8
MaxFloor
8
(Reserved)
16
TimeInForce
16
DisplayRange
16
(Reserved)
32
Symbol
32
ComboOrder
32
(Reserved)
64
Capacity
64
Compression
64
(Reserved)
128
RoutingInst
128
EquityExDestination
128
Held
2
1
Account
5
1
EquityLegShortSell
8
1
(Reserved)
2
PreventMatch
2
FloorDestination
2
CrossInitiator
4
ExpireTime
4
FloorRoutingInst
4
CrossOnBehalfOfID
8
CMTANumber
8
MultiClassSprd
8
(Reserved)
16
TargetPartyID
16
OrderOrigin
16
(Reserved)
32
AttributedQuote
32
ORS
32
(Reserved)
64
EchoText
64
PriceType
64
(Reserved)
128
AuctionId
128
StrategyID
128
(Reserved)
3
1
RoutingFirmID
6
1
(Reserved)
2
DrillThruProtection
2
ExecInst
4
RiskReset
4
TiedHedge
8
CustomGroupId
8
(Reserved)
16
LegSide
16
(Reserved)
32
EquityPartyId
32
(Reserved)
64
(Reserved)
64
(Reserved)
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 109
5.4 New Order Cross Multileg (C1 and EDGX Only)
Byte
Bit
Field
Byte
Bit
Field
1
1
Symbol
R
4
1
EquityPartyId
2
(Reserved)
2
EquityLegShortSell
4
(Reserved)
4
Reserved
8
(Reserved)
8
Reserved
16
ExecInst
16
DrillThruProtection
32
AttributedQuote
32
PriceType
64
TargetPartyID
64
EquityExDestination
128
PreventMatch
128
Compression
2
1
AutoMatch
5
1
ORS
2
AutoMatchPrice
2
FrequentTraderID
4
LastPriority
4
CrossInitiator
8
Account
8
LegPositionEffectsExt
16
CMTANumber
16
CrossOnBehalfOfID
32
ClearingAccount
32
(Reserved)
64
RoutingFirmID
64
(Reserved)
128
ClearingOptionalData
128
(Reserved)
3
1
ClientIDAttr
2
EquityTradePrice
4
EquityTradeSize
8
EquityTradeVenue
16
EquityTransactTime
32
EquityBuyClearingFirm
64
EquitySellClearingFirm
128
SessionEligibility
5.5 Cancel Order
Byte
Bit
Field
1
1
ClearingFirm
2
MassCancelLockout
4
MassCancel
8
RiskRoot
16
MassCancelID
32
RoutingFirmID
64
ManualOrderIndicator
128
OperatorId
2
1
MassCancelInst
2
Symbol
4
SymbolSfx
8
SendTime
R
16
(Reserved)
32
(Reserved)
64
(Reserved)
128
(Reserved)
ClearingFirm is required for service bureau ports.
SendTime is required for all Cancel Order messages.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 110
5.6 Modify Order
Byte
Bit
Field
1
1
ClearingFirm
2
(Reserved)
4
OrderQty
R
8
Price
R
16
OrdType
32
CancelOrigOnReject
64
ExecInst
128
Side
2
1
MaxFloor
2
StopPx
4
RoutingFirmID
8
ManualOrderIndicator
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 message 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
1
ClearingFirm
2
MassCancelLockout
4
MassCancelInst
8
RiskRoot
16
MassCancelID
32
RoutingFirmID
64
ManualOrderIndicator
128
OperatorId
2
1
Symbol
2
SymbolSfx
4
(Reserved)
8
(Reserved)
16
(Reserved)
32
(Reserved)
64
SendTime
R
128
MatchingUnit
ClearingFirm is required for service bureau ports.
SendTime is requiredfor all Purge Orders messages.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 111
5.8 New Complex Instrument (C1, C2, and EDGX Only)
Byte
Bit
Field
1
1
LegCFICode
2
LegMaturityDate
4
LegStrikePrice
8
ClearingFirm
16
(Reserved)
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 112
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 113
6.1 Order Acknowledgment
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 114
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 115
6.2 Cross Order Acknowledgment (C1 and EDGX only)
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdId
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 116
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 117
6.3 Order Rejected
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 118
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 119
6.4 Cross Order Rejected (C1 and EDGX Only)
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 120
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 121
6.5 Order Modified
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 122
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 123
6.6 Order Restated
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 124
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 125
6.7 User Modify Rejected
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 126
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 127
6.8 Order Cancelled
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 128
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 129
6.9 Cross Order Cancelled (C1 and EDGX Only)
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 130
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 131
6.10 Cancel Rejected
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 132
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 133
6.11 Order Execution
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 134
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 135
6.12 Trade Cancel or Correct
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 136
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 137
6.13 Purge Rejected
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 138
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 139
6.14 Purge Notification
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 140
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 141
6.15 Complex Instrument Accepted (C1, C2 and EDGX Only)
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 142
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 143
6.16 Complex Instrument Rejected (C1, C2, and EDGX Only )
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
1
1
Side
7
1
SubLiquidityIndicator
13
1
CumQty
2
PegDifference
2
TradeReportTypeReturn
2
DayOrderQty
4
Price
4
TradePublishIndReturn
4
DayCumQty
8
ExecInst
8
Text
8
AvgPx
16
OrdType
16
Bid
16
DayAvgPx
32
TimeInForce
32
Offer
32
PendingStatus
64
MinQty
64
LargeSize
64
DrillThruProtection
128
(Reserved)
128
LastMkt
128
MultilegReportingType
2
1
Symbol
8
1
FeeCode
14
1
LegCFICode
2
SymbolSfx
2
EchoText
2
LegMaturityDate
4
Currency
4
StopPx
4
LegStrikePrice
8
IdSource
8
RoutingInst
8
RoomId
16
SecurityId
16
RoutStrategy
16
SecondaryExecId
32
SecurityExchange
32
RouteDeliveryMethod
32
UserRequestID
64
Capacity
64
ExDestination
64
SISUsername
128
ContraTrader
128
TradeReportRefID
128
UserStatus
3
1
Account
9
1
MarketingFeeCode
15
1
TradeReportingIndicator
2
ClearingFirm
2
TargetPartyID
2
EquityPartyId
4
ClearingAccount
4
AuctionId
4
EquityNBBOProtect
8
DisplayIndicator
8
OrderCategory
8
MassCancelId
16
MaxFloor
16
LiquidityProvision
16
TradePublishInd
32
DiscretionAmount
32
CmtaNumber
32
ReportTime
64
OrderQty
64
CrossType
64
LegSymbolSfx
128
PreventMatch
128
CrossPrioritization
128
ClientIDAttr
4
1
MaturityDate
10
1
CrossId
16
1
FrequentTraderID
2
StrikePrice
2
AllocQty
2
SessionEligibility
4
PutOrCall
4
GiveUpFirmID
4
ComboOrder
8
OpenClose
8
RoutingFirmID
8
Compression
16
ClOrdIdBatch
16
WaiverType
16
FloorDestination
32
CorrectedSize
32
CrossExclusionIndicator
32
FloorRoutingInst
64
PartyID
64
PriceFormation
64
MultiClassSprd
128
AccessFee
128
ClientQualifiedRole
128
OrderOrigin
5
1
OrigClOrdID
11
1
ClientID
17
1
PriceType
2
LeavesQty
2
InvestorID
2
StrategyID
4
LastShares
4
ExecutorID
4
TradingSessionId
8
LastPx
8
OrderOrigination
8
TradeThroughAlertType
16
DisplayPrice
16
Algo
16
SenderLocationID
32
WorkingPrice
32
DeferralReason
32
FloorTraderAcronym
64
BaseLiquidityIndicator
64
InvestorQualifiedRole
64
ExecLegCFICode
128
ExpireTime
128
ExecutorQualifiedRole
128
CustOrderHandlingInst
6
1
SecondaryOrderID
12
1
CtiCode
18
1
(Reserved)
2
CCP
2
ManualOrderIndicator
2
CrossInitiator
4
ContraCapacity
4
OperatorId
4
Subreason
8
AttributedQuote
8
TradeDate
8
CrossTradeFlag
16
ExtExecInst
16
ClearingPrice
16
(Reserved)
32
BulkOrderIds
32
ClearingSize
32
Held
64
BulkRejectReasons
64
ClearingSymbol
64
LocateBroker
128
PartyRole
128
ClearingOptionalData
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 144
Byte
Bit
Field
Byte
Bit
Field
Byte
Bit
Field
19
1
FloorTradeTime
2
EquityExDestination
4
CrossOnBehalfOfID
8
(Reserved)
16
IntraFirmTradeInd
32
(Reserved)
64
(Reserved)
128
(Reserved)
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 145
7 List of Optional Fields
The following are descriptions of optional fields which may be sent or received.
Field
Length
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
(C1 and EDGX only)
4
Binary
Corresponds to AllocQty (80) in Cboe FIX.
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
message, 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
(C1, C2, and EDGX only)
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.
AutoMatch
(C1 and EDGX only)
1
Alphanumeric
Corresponds to AutoMatch (9040) in Cboe FIX.
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 146
Field
Length
Data Type
Description
AutoMatchPrice
(C1 and EDGX only)
8
Binary Price
Corresponds to AutoMatchPrice (9044) in Cboe FIX.
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 147
Field
Length
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 Land 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
(C1 only)
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
Compression
(C1 only)
1
Alpha
Corresponds to Compression (22006) in Cboe FIX.
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 148
Field
Length
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
Indicator
(C1 and EDGX only)
1
Alpha
Corresponds to CrossExclusionIndicator (6438) in Cboe FIX.
N = Contracts were executed in auction against Contra party
or against a resting order when auction was initiated
Y = Contracts were executed in auction against another party.
CrossID
(C1 and EDGX only)
20
Text
Corresponds to CrossID (548) in Cboe FIX.
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
(C1 and EDGX only)
4
Alpha
Corresponds to CrossInitiator (22026) in Cboe FIX.
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
(C1 and EDGX only)
4
Alpha
Optional identifier of the initiating customer on orders routed
to destinations via NYSE Chicago using EquityExDestination
(22016). Populate with the order initiator’s MPID or any other
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
(C1 and EDGX only)
1
Alphanumeric
Corresponds to CrossPrioritization (550) in Cboe FIX.
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 149
Field
Length
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 messages
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 150
Field
Length
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
(C1, C2, and EDGX only)
8
Binary Price
Corresponds to DrillThruProtection (6253) in Cboe FIX.
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
(C1 and EDGX only)
4
Text
Corresponds to EquityBuyClearingFirm (22014) in Cboe FIX.
Clearing firm on buy side of the equity trade associated with a
QCC trade.
Valid when CrossType = ‘2’.
EquityExDestination
(C1 and EDGX only)
1
Alphanumeric
Corresponds to EquityExDestination (22016) in Cboe FIX.
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
(C1 and EDGX only)
1
Alphanumeric
Corresponds to EquityLegShortSell (22624) in Cboe FIX.
5 = Sell Short (for stock leg)
6 = Sell Short Exempt (for stock leg)
EquityPartyId
(C1 and EDGX only)
4
Alpha
Corresponds to EquityPartyId (22008) in Cboe FIX.
MPID used to clear the equity leg being cleared via the
Exchange.
EquitySellClearingFirm
(C1 and EDGX only)
4
Text
Corresponds to EquitySellClearingFirm (22015) in Cboe FIX.
Clearing firm on sell side of the equity trade associated with a
QCC trade.
Valid when CrossType = ‘2’.
EquityTradePrice
(C1 and EDGX only)
8
Binary Price
Corresponds to EquityTradePrice (22011) in Cboe FIX.
Price at which the equity associated with a QCC trade.
Valid when CrossType = ‘2’.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 151
Field
Length
Data Type
Description
EquityTradeSize
(C1 and EDGX only)
4
Binary
Corresponds to EquityTradeSize (22012) in Cboe FIX.
Number of shares executed in the equity associated with a QCC
trade.
Valid when CrossType = ‘2’.
EquityTradeVenue
(C1 and EDGX only)
1
Text
Corresponds to EquityTradeVenue (22013) in Cboe FIX.
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 152
Field
Length
Data Type
Description
EquityTransactTime
(C1 and EDGX only)
8
DateTime
Corresponds to EquityTransactTime (22060) in Cboe FIX.
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 Liquidity
1
(C1 only)
G = All or None (AON) (C1 and EDGX only)
s = Sweep
2
(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 messages 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 153
Field
Length
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
(C1 only)
4
Text
Corresponds to FloorDestination (22100) in Cboe FIX.
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
(C1 only)
1
Alphanumeric
Corresponds to FloorRoutingInst (22303) in Cboe FIX.
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
(C1 only)
6
Text
Corresponds to FrequentTraderId (21097) in CFE FIX.
Identifies the frequent trader program in which the order is
participating.
GiveUpFirmID
(C1 and EDGX only)
4
Alpha
Corresponds to GiveupFirmID (9946) in Cboe FIX.
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
(C1 only)
1
Alpha
Corresponds to Held (20012) in Cboe FIX.
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
(C1 and EDGX only)
1
Alphanumeric
Corresponds to LastPriority (9849) in Cboe FIX.
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 154
Field
Length
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
(C1, C2, and EDGX only)
6
Alphanumeric
Corresponds to LegCFICode (608) in Cboe FIX.
CFI Code for leg.
OP = Options Put
OC = Options Call
E = Equity (C1 and EDGX only)
LegMaturityDate
(C1, C2, and EDGX only)
4
Date
Corresponds to LegMaturityDate (611) in Cboe FIX.
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
(C1, C2, and EDGX only)
8
Binary Price
Corresponds to LegStrikePrice (612) in Cboe FIX.
Option strike price. System maximum is 999,999.99. Must be
non-negative.
Required if LegSymbol is in OSI format.
MarketingFeeCode
(C1 and EDGX only)
2
Alphanumeric
Corresponds to MarketingFeeCode (5937) in Cboe FIX.
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 message functionality and
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 155
Field
Length
Data Type
Description
optionally 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.
1
st
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 message will be rejected. If F
specified and the ClearingFirm field is provided but is
blank (NULL), the Mass Cancel or Purge Orders
message will be treated like A, and no filtering by
clearing firm relationship is performed.
2
nd
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 message 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 message 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 message 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 message;
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 156
Field
Length
Data Type
Description
MassCancelId (7695) must be specified, or the Purge
Order will be rejected .
3
rd
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
message 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.
4
th
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
5
th
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 157
Field
Length
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
(C1 only)
1
Alpha
Indicates an option is part of a multi-class spread.
N = (Default) No
Y = Yes
MultilegReportingType
(C1, EDGX and C2 only)
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
3 = Entire multi-leg instrument package
NoOfSecurities
(C1, C2, and EDGX only)
4
Binary
Corresponds to NoOfSecurities (8641) in Cboe FIX.
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
(C1 only)
3
Alphanumeric
Corresponds to OrderOrigin (9465) in Cboe FIX.
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 158
Field
Length
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
(C1 only)
1
Alpha
Corresponds to ORS (22003) in Cboe FIX.
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:
1
st
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
.
2
nd
character - Unique ID Level:
F = Prevent Match at Firm(Member) Level
M = Prevent Match at EFID Leve
l
3
rd
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).
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 159
Field
Length
Data Type
Description
On a New Order Cross message, 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 message, 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
(C1 only)
1
Alphanumeric
Corresponds to PriceType (423) in Cboe FIX.
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
(C1, C2, and EDGX only)
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 OpenClose fields on
a New Complex Order message 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:
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 160
Field
Length
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 message 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 161
Field
Length
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.
1
st
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
(Complex)
(C1, C2, and EDGX only)
4
Text
Corresponds to RoutingInst (9303) in Cboe FIX.
1
st
character:
B = Book Only (will remove from local book), allowed to
interact with both single-leg and other complex orders.
D = Complex Book Only, allowed to interact with other
complex orders only
3
.
P = Post Only (adds liquidity only)
2
nd
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
DIRC
5
= 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 162
Field
Length
Data Type
Description
SecondaryExecID
(C1, C2, and EDGX only)
8
Binary
Indicates whether a fill or partial fill is a complex instrument fill
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
(C1 only)
1
Alphanumeric
Corresponds to SenderLocationID (142) in Cboe FIX.
F = Floor
<blank> = (or not present) for electronic execution.
SessionEligibility
(C1 only)
1
Alpha
Corresponds to SessionEligibility (22017) in Cboe FIX.
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
(C1 only)
1
Alphanumeric
Corresponds to StrategyID (22002) in Cboe FIX.
Used to declare when a strategy is used.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 163
Field
Length
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
(C1 and EDGX only)
4
Alpha
Corresponds to TargetPartyID (1462) in Cboe FIX.
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 message, this field is only applicable
to the Agency order.
TiedHedge
(C1 only)
1
Alpha
Corresponds to TiedHedge (22018) in Cboe FIX.
Order is a tied hedge.
N = (Default) No
Y = Yes
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 164
Field
Length
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
(C1 only)
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
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 165
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 166
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 167
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 168
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
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 169
Quote Update Rejected
Application
0x58
No
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 170
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
Override *
^
No
Overrides the exception that requires both the resting
and inbound order to be marked as “Decrement”.
Allow Sponsored Participant MTP
Control *
^
No
Allow Sponsored Participant to override port default
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
ID(s)
*
All EFIDS
Executing Firm ID(s) allowed for trading on the port.
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
EDGX Only)
None (C1 and
C2 Only)
Cancels open orders upon receipt of a Regulatory Halt.
All = Cancel Day and GTC/GTD orders
Day = Cancel only Day orders
None = Disabled
Cancel on Reject
+
No
Cancels an order upon a modify reject.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 171
Attribute
Default
Description
Cancel Open Orders on DROP
Port Disconnect *
None
Only applicable if “Reject Orders on DROP Port
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
171efinitionden at order level)
*This setting may only be changed after executing
Attribution Addendum to Exchange User Agreement
(EDGX and BZX only).
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 172
Attribute
Default
Description
Default EquityExDestination
(C1 and EDGX only)
C
Default EquityExDestination to be used if none is
specified on inbound messages.
Default EquityPartyID
(C1 and EDGX only)
None
Default EquityPartyID to be used if none is specified
on inbound messages.
Default Executing Firm ID
None
Default Executing Firm ID to use if none is sent on a
New Order or New Complex Order message.
Default FloorDestination
(C1 only)
None
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.
4 characters or less (ASCII 33-126).
Default FloorRoutingInst*
(C1 only)
E
D = Direct. Do not attempt to process electronically
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
S (BZX only)
P (EDGX/C2
only)
Default price sliding behavior. See DisplayIndicator
for details.
Default Routing Instruction
+
9303=RS
9350=RTI
9400=SWPA
Specifies a default value for routing. Fields can be
overridden at the order level. The defaults are
RoutingInst = RS, RouteDeliveryMethod = RTI, and
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
Action
$
1
Action taken when Duplicative Order Protection
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
Order Count Threshold
$
None
Number of consecutive orders with the same
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 173
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
Trade Notifications (C1 only)
No
Enables Market Maker Floor Trade Notifications for
specific Market Maker acronyms on a port.
Fat Finger Protection *
$
None
(BZX/EDGX
only)
See Web Portal
Port Controls
Specification
for defaults (C2
only)
Orders entered through the NBBO by a specified
percentage or dollar based limit price tolerance will be
rejected. Limits may be different for different price
ranges and price ranges may vary across markets.
Please see the Web Portal Port Controls Specification
for complete details.
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
Notification Symbology
(C1 only)
Cboe
Specifies the symbology used on Market Maker Floor
Trade Notifications.
Cboe = Six character Cboe Symbol ID
OSI = OSI Symbology (PutOrCall, StrikePrice, and
MaturityDate will be returned)
Market Maker Reject if Cancel on
Disconnect disabled
No
Rejection of Market Maker or Away-Market Maker
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
Order Handling (C1 only)
None
Controls whether Day (TimeInForce (59) = 0) orders
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 174
Attribute
Default
Description
Port Order Rate Threshold
5,000 msgs/s
1 msg/sec for
test products.
The maximum allowed message rate on the session.
When the first non-session level message is received,
a one second window begins, during which no more
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
Disconnect *
No
If all Standard FIX DROP ports associated with an
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
Timeout (seconds) *
30 seconds
Only applicable if “Reject Orders on DROP Port
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 175
11 Support
Please email questions or comments regarding this specification to trad[email protected].
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 176
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 177
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 178
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”.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 179
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 180
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 ‘Lreason 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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 181
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 4
th
character is applicable to both C2 and
EDGX. Added detail for 5
th
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 182
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 183
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 184
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 185
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 186
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).
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 187
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'.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 188
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).
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 189
January 14, 2021
Version 2.11.14
Clarified description of 2
nd
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).
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 190
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 Acceptedto QuoteResult field.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 191
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).
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 192
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.
Cboe Options Exchanges
BOE Specification (Version 2.11.67)
© 2024 Cboe Global Markets, Inc. or one or more of its affiliates.
All Rights reserved 193
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 EquityPartyIDport 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).
July 22, 2024
Version 2.11.66
Added new Section 1.2 Certification Requirement.
Effective 08/26/24, GTH will be extended until 9:25 a.m. ET (C1 only).
August 28, 2024
Version 2.11.67
Updated drill-through amounts (effective 09/16/24).