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.

Table 1. Login Request Message Fields
FieldOffsetLengthData TypeDescription
StartOfMessage02BinaryMust be 0xBA 0xBA.
MessageLength22BinaryNumber of bytes for the message, including this field but not including the two bytes for the StartOfMessage field.
MessageType41Binary0x37
MatchingUnit51BinaryAlways 0 for inbound (Member to Cboe) messages.
SequenceNumber64BinaryAlways 0 for session level messages.
SessionSubID104AlphanumericSession Sub ID supplied by Cboe.
Username144AlphanumericUsername supplied by Cboe.
Password1810AlphanumericPassword supplied by Cboe.
NumberOfParam Groups281BinaryA number, n (possibly 0), of parameter groups to follow.
ParamGroup1First parameter group.
ParamGroupnLast 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.

Table 2. Login Request - Unit Sequences Parameter Group
FieldOffsetLengthData TypeDescription
ParamGroupLength02BinaryNumber of bytes for the parameter group, including this field.
ParamGroupType21Binary0x80
NoUnspecified UnitReplay31Binary
  • 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)
NumberOfUnits41BinaryA number, n (possibly 0), of unit/sequence pairs to follow, one per unit from which the Member has received messages.
UnitNumber 11BinaryA unit number.
UnitSequence14BinaryLast received sequence number for the unit.
UnitNumber n1BinaryA unit number.
UnitSequencen4BinaryLast 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 Return Bitfields Per Message.

Table 3. Login Request - Return Bitfields Parameter Group
FieldOffsetLengthData TypeDescription
ParamGroupLength02BinaryNumber of bytes for the parameter group, including this field.
ParamGroupType21Binary0x81
MessageType31BinaryReturn message type for which the bitfields are being specified (e.g., 0x25 for an Order Acknowledgment message).
NumberOfReturn Bitfields41BinaryNumber of bitfields to follow.
ReturnBitfield151BinaryBitfield identifying fields to return.
ReturnBitfieldn1BinaryLast bit field.

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.

Table 4. Login Request Message Example
Field NameHexadecimalNotes
StartOfMessageBA BAStart of message bytes.
MessageLength3D 0061 bytes
MessageType37Login Request
MatchingUnit00Always 0 for inbound messages
SequenceNumber00 00 00 00Always 0 for session level messages
SessionSubID30 30 30 310001
Username54 45 53 54TEST
Password54 45 53 54 49 4E 47 00 00 00TESTING
NumberOfParam Groups033 parameter groups
ParamGroupLength0F 0015 bytes for this parameter group
ParamGroupType80 0x80 = Unit Sequences
NoUnspecified UnitReplay01True (replay only specified units)
NumberOfUnits02Two unit/sequence pairs to follow;
UnitNumber101Unit 1
UnitSequence14A BB 01 00Last received sequence of 113,482
UnitNumber 202Unit 2
UnitSequence200 00 00 00Last received sequence of 0
ParamGroupLength08 008 bytes for this parameter group
ParamGroupType810x81= Return Bitfields
MessageType250x25=Order Acknowledgment
NumberOfReturn Bitfields033 bitfields to follow
ReturnBitfield100No bitfields from byte 1
ReturnBitfield241Symbol, Capacity
ReturnBitfield305Account, ClearingAccount
ParamGroupLength0B 0011 bytes for this parameter group
ParamGroupType810x81 = Return Bitfields
MessageType2C0x2C=Order Execution
NumberOfReturn Bitfields066 bitfields to follow
ReturnBitfield100No bitfields from byte 1
ReturnBitfield241Symbol, Capacity
ReturnBitfield307Account, ClearingFirm, ClearingAccount
ReturnBitfield400No bitfields from byte 4
ReturnBitfield540BaseLiquidityIndicator
ReturnBitfield600No bitfields from byte 6
Cboe Titanium U.S. Options BOE Specification | Cboe