ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date...

85
Version: 1.0 Last modified: 11/29/2019 Message Specification ENTRYPOINT: SBE MESSAGE SPEC Version: 4.1 Last modified: 03/04/2020

Transcript of ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date...

Page 1: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

Version: 1.0

Last modified: 11/29/2019

Message Specification

ENTRYPOINT: SBE MESSAGE SPEC

Version: 4.1

Last modified: 03/04/2020

Page 2: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 2

EntryPoint Message Specification SBE Version 4.1

CONTACTS

• Services Development Department (GDS): handles all enquiries for connectivity setup and general exchange supported services.

o [email protected] o +55 11 2565-5081

• Certification and Testing Center: performs certification of all software solutions applying for EntryPoint connectivity.

o [email protected] o +55 11 2565-5029

• Trading Support Department (GSN): provides real time connectivity monitoring and troubleshooting.

o [email protected] o +55 11 2565-5021

Page 3: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 3

EntryPoint Message Specification SBE Version 4.1

Index

Simple Binary Encoding ......................................................................................................................................................................................... 6

Datatypes 6

Enumerations ......................................................................................................................................................................................................... 7

1. Session Level Messages ................................................................................................................................................................. 10

1.1. Negotiate ................................................................................................................................................................................. 10

1.2. NegotiateReject ....................................................................................................................................................................... 11

1.3. NegotiationResponse .............................................................................................................................................................. 13

1.4. Establish .................................................................................................................................................................................. 14

1.5. EstablishmentAck .................................................................................................................................................................... 15

1.6. EstablishmentReject ................................................................................................................................................................ 16

1.7. Terminate ................................................................................................................................................................................ 17

1.8. FinishedSending ...................................................................................................................................................................... 18

1.9. FinishedReceiving ................................................................................................................................................................... 19

1.10. NotApplied ............................................................................................................................................................................... 19

1.11. RetransmitRequest .................................................................................................................................................................. 20

1.12. Retransmission ........................................................................................................................................................................ 20

1.1. RetransmitReject ..................................................................................................................................................................... 21

1.2. Sequence ................................................................................................................................................................................ 21

2. Application Level Messages ............................................................................................................................................................ 22

2.1. Message Directions ................................................................................................................................................................. 22

2.2. BusinessMessageReject ......................................................................................................................................................... 24

2.3. NewOrderSingle ...................................................................................................................................................................... 25

2.4. ExecutionReport – New Order/Restated ................................................................................................................................ 27

2.5. ExecutionReport – Modify ...................................................................................................................................................... 30

2.6. ExecutionReport – Cancel ...................................................................................................................................................... 33

2.7. ExecutionReport – Trade/Trade Bust ..................................................................................................................................... 36

Page 4: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 4

EntryPoint Message Specification SBE Version 4.1

2.8. ExecutionReport – Reject ....................................................................................................................................................... 40

2.9. ExecutionReport – Forward .................................................................................................................................................... 42

2.10. OrderCancelReplaceRequest ................................................................................................................................................. 46

2.11. OrderCancelRequest ............................................................................................................................................................... 49

2.12. SimpleNewOrder ..................................................................................................................................................................... 50

2.13. SimpleModifyOrder .................................................................................................................................................................. 51

2.14. NewOrderCross ....................................................................................................................................................................... 53

2.15. SecurityDefinitionRequest ....................................................................................................................................................... 55

2.16. SecurityDefinition ..................................................................................................................................................................... 56

2.17. QuoteRequest ......................................................................................................................................................................... 58

2.18. QuoteStatusReport .................................................................................................................................................................. 62

2.19. Quote ....................................................................................................................................................................................... 64

2.20. QuoteCancel ............................................................................................................................................................................ 66

2.21. QuoteRequestReject ............................................................................................................................................................... 67

2.22. PositionMaintenanceCancelRequest ...................................................................................................................................... 69

2.23. PositionMaintenanceRequest .................................................................................................................................................. 70

2.24. PositionMaintenanceReport .................................................................................................................................................... 73

2.25. AllocationInstrucion ................................................................................................................................................................. 78

2.26. AllocationReport ...................................................................................................................................................................... 81

2.27. OrderMassActionRequest ....................................................................................................................................................... 83

2.28. OrderMassActionReport .......................................................................................................................................................... 84

Page 5: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 5

EntryPoint Message Specification SBE Version 4.1

Change Log

Date Version Description Author

November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF, EP,

RC

December 20, 2019 2.0 - Added New Application Level Messages.

- 2.12 RC, AYSF

January 31, 2020 3.0 - Added Session Level Messages. RC, AYSF

February 28, 2020 4.0 - Offset, length, SimpleNewOrderSingle RC, AYSF

April 3, 2020 4.1

- SimpleNewOrderSingle changed or message name to SimpleNewOrder

- SimpleReplaceOrder changed or message name to SimpleModifyOrder

- Changed size for tag SecurityIDSource and SecurityIDExchange

- Added new scenarios in Message Instructions

- Added tag 372 (RefMsgType)in Execution Report - Reject message

- Changed tag 44(Price) for size unit32

- Changed tag 35502 (EnteringTrader) for size 5

RC,AYSF

Page 6: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 6

EntryPoint Message Specification SBE Version 4.1

Simple Binary Encoding

EntryPoint Simple Binary Encoding (SBE) is based on the version 1.0 of the FIX SBE in Little Endian byte order. FIX SBE targets high performance trading systems. It is optimized for low latency of encoding and decoding while keeping bandwidth utilization reasonably small. For compatibility, it is intended to represent all FIX semantics.

The encoding standard is complimentary to other FIX standards for session protocol and application level behavior.

Datatypes

Type Description

uint8 8 bit Unsigned Little Endian

uint16 16 bit Unsigned Little Endian

uint32 32 bit Unsigned Little Endian

uint64 64 bit Unsigned Little Endian

Boolean True or False

char 8 bit ASCII character

char (xx) Fixed length string padded on the right with spaces in UTF-8 format. (Used only Credentials and Memo fields).

price Signed Little Endian 64 Bit with Price Scale of 3. For example: 1230 = $1.23

UTCTimestampNanos UTC Timestamps are sent in number of nanoseconds since Unix epoch synced to a master clock to microsecond accuracy

LocalMktDate Local date (as opposed to UTC), expressed in number of days since Unix epoch (uint16)

GroupSizeEncoding This name may be overridden by setting the dimensionType attribute of an element.

percentage (-4) A field representing a percentage. Fixed rated for forward

Variable Length Data Must be paired with a Length field before the content

Enum A finite set of values. Error and message type identifiers are enumerated by symbolic name in this specification. See next section.

DeltaInMillis Interval time expressed in milliseconds

Page 7: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 7

EntryPoint Message Specification SBE Version 4.1

Enumerations

Enum type Type Value domain TimeUnit uint8 0 – SECOND

3 – MILLISECOND 6 – MICROSECOND 9 – NANOSECOND

FlowType uint8 0 – NONE 1 – RECOVERABLE 2 – UNSEQUENCED 3 – IDEMPOTENT

NegotiationRejectCode uint8 0 – UNSPECIFIED: Any other reason that the server cannot negotiate a session 1 – CREDENTIALS: failed authentication because identity is not recognized, or the user is not authorized to use a particular service 2 – FLOWTYPE NOT SUPPORTED: server does not support requested client flow type 3 – DUPLICATE ID: SessionID or SessionVerID is non-unique New domains maybe added in the future.

EstablishRejectCode uint8 0 – UNSPECIFIED: Any other reason that the server cannot establish a session 1 – CREDENTIALS: failed authentication because identity is not recognized, or the user is not authorized to use a particular service 2 – UNNEGOTIATED: Establish request was not preceded by a Negotiation or session was finalized, requiring renegotiation 3 – ALREADY ESTABLISHED: EstablishmentAck was already sent. Establish was redundant 4 – SESSION BLOCKED: user is not authorized to establish connection 5 – KEEPALIVE INTERVAL: KeepAlive interval value is out of accepted range New domains maybe added in the future.

TerminationCode uint8 0 – UNSPECIFIED 1 – FINISHED 2 – RE-REQUEST OUT OF BOUNDS 3 – RE-REQUEST IN PROGRESS New domains maybe added in the future.

RetransmitRejectCode uint8 0 – OUT OF RANGE: NextSeqNo + Count is beyond the range of sequence numbers 1 – INVALID SESSION: The specified SessionID is unknown or is not authorized for the requester to access

Page 8: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 8

EntryPoint Message Specification SBE Version 4.1

2 – REQUEST LIMIT EXCEEDED: The message count exceeds a local rule for maximum retransmission size

New domains maybe added in the future.

CancelOnDisconnectType uint8 0 – DO NOT CANCEL ON DISCONNECT OR TERMINATE 1 – CANCEL ON DISCONNECT ONLY 2 – CANCEL ON TERMINATE ONLY 3 – CANCEL ON DISCONNECT OR TERMINATE

Side char 1 – BUY 2 – SELL

TimeInForce char 0 – DAY 1 – GOOD TILL CANCEL 3 – IMMEDIATE OR CANCEL 4 – FILL OR KILL 6 – GOOD TILL DATE 7 – AT THE CLOSE A – GOOD FOR AUCTION

OrdType char 1 – MARKET 2 – LIMIT 3 – STOP LOSS 4 – STOP LIMIT K – MARKET WITH LEFTOVER AS LIMIT

RoutingInstruction uint8 0 – NO ADDITIONAL INSTRUCTION 1 – RETAIL LIQUIDITY TAKER 2 – WAIVED PRIORITY

ExecType char 0 – NEW 4 – CANCELED 5 – RELACE 8 – REJECTED C – EXPIRED D – RESTATED F – TRADE H – TRADE CANCEL

OrdStatus char 0 – NEW 1 – PARTIALLY FILLED 2 – FILLED 4 – CANCELED 5 – REPLACED 8 – REJECTED C – EXPIRED

Page 9: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 9

EntryPoint Message Specification SBE Version 4.1

Z – PREVIOUS FINAL STATE

ExecRestatementReason uint8 8 – MARKET OPTION 100 – CANCEL ON HARD DISCONNECTION 101 – CANCEL ON TERMINATE 102 – CANCEL ON DISCONNECT AND TERMINATE 103 – SELF TRADING PREVENTION 200 – MARKET MAKER PROTECTION 201 – RISK MANAGEMENT CANCELLATION 202 – ORDER MASS ACTION FROM CLIENT REQUEST

MultiLegReportingType char 1 – SINGLE SECURITY 2 – INDIVIDUAL LEG OF MULTILEG SECURITY 3 – MULTILEG SECURITY

OrderCategory char B – RESULT OF OPTIONS EXERCISE C – RESULT OF ASSIGNMENT FROM OPTIONS EXERCISE D – RESULT OF SCHEDULED OPTIONS EXERCISE

AccountType uint8 38 – REMOVE ACCOUNT INFORMATION 39 – REGULAR ACCOUNT

SettlType char 0 – BUYERS DISCRETION 8 – SELLERS DISCRETION X – MUTUAL

SecurityResponseType uint8 1 – ACCEPT SECURITY PROPOSAL AS IS 5 – REJECT SECURITY PROPOSAL

MassActionType uint8 1 – SUSPEND ORDERS 2 – RELEASE ORDERS FROM SUSPENSION 3 – CANCEL ORDERS

MassActionResponse uint8 0 – REJECTED 1 – ACCEPTED

MassActionRejectReason uint8 0 – MASS ACTION NOT SUPPORTED 8 – INVALID OR UNKNOWN MARKET SEGMENT 99 – OTHER

MassActionScope uint8 6 – ALL ORDERS FOR A TRADING SESSION 20 – ALL ORDERS FOR DEFINED ORDER TAG ID

Page 10: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 10

EntryPoint Message Specification SBE Version 4.1

1. Session Level Messages

EntryPoint Binary uses the FIX Performance (FIXP) protocol to establish and manage bi-directional sessions. Per the FIXP protocol, a

FIX session is defined as a bi-directional stream of ordered messages between two parties within a continuous sequence number

series. More details FIXP.

1.1. Negotiate

Tag Tag name Req'd Data Type Size Comment

35 MessageType Y MessageType Enum 0 Constant field = Negotiate

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y uint64 8 Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionID. Need to be incremented each time Negotiate message is sent to gateway.

35520 Timestamp Y UTCTimestampNanos 8 Time of request

Sent in number of days since Unix epoch.

35501 EnteringFirm Y uint32 4 Identifies the broker firm that will enter orders.

35516 ClientFlow Y FlowType Enum 0 Type of flow from client to server. It is a constant value = Idempotent.

35517 OnBehalfFirm N uint32 4 Identifies the broker firm who executes their orders on behalf.

35503 SenderLocation Y char 10 Identifies the original location for routing orders.

35512 Credentials Y Variable Length Data Up to 128

Credentials to identify the client. Created in CAU system.

Page 11: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 11

EntryPoint Message Specification SBE Version 4.1

35513 ClientIP Y Variable Length Data Up to 15

Identifies the IP address declared for audit.

35514 ClientAppName Y Variable Length Data Up to 30

Identifies the name declared for audit.

35515 ClientAppVersion Y Variable Length Data Up to 12

Identifies the version for audit.

1.2. NegotiateReject

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = NegotiateReject

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y uint64 8 Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway.

35521 RequestTimestamp Y UTCTimestampNanos 8 Matches Negotiate timestamp.

35501 EnteringFirm Y uint32 4 Identifies the broker firm that will enter orders.

35522 Code Y NegotiationRejectCode Enum 1 Identifies the code of negotiation reject.

35516 ClientFlow N FlowType Enum o Type of flow from client to server. It is a constant value = idempotent.

Page 12: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 12

EntryPoint Message Specification SBE Version 4.1

35523 Reason N Variable Length Data Up to 250

Reject reason details.

Page 13: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 13

EntryPoint Message Specification SBE Version 4.1

1.3. NegotiationResponse

Tag Tag Name Req'd Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = NegotiateResponse

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y UUID (uint64) 8 Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionID. Need to be incremented each time Negotiate message is sent to gateway.

35521 RequestTimestamp Y UTCTimestampNanos 8 Matches Negotiate timestamp.

35501 EnteringFirm Y uint32 4 Identifies the broker firm that will enter orders.

35524 ServerFlow N FlowType Enum 0 Type of flow from client to server. It is a constant value = recoverable.

35516 ClientFlow N FlowType Enum 0 Type of flow from client to server. It is a constant value = idempotent.

Page 14: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 14

EntryPoint Message Specification SBE Version 4.1

1.4. Establish

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = Establish

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y uint64 8 Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway.

35520 Timestamp Y UTCTimestampNanos 8 Time of request

35525 KeepAliveInterval Y DeltaInMillis 8 Longest time in milliseconds the initiator should remain silent before sending Keepalive message

35526 NextSeqNo Y uint64 8 The next application sequence number to be produced by the client.

35002 CancelOnDisconnectType N uint8 1 Criteria used to initiate CoD by the Gateway. If this tag is not present (value = 0) then CoD will not be enabled.

35003 CoDTimeoutWindow N DeltaInMillis 8 Gateway will not trigger CoD if the customer reconnects within the timeout window (milliseconds) which starts when the triggering event is detected. Value = 0 then CoD will not be enabled.

35512 Credentials Y Variable Length Data Up to 128

Optional credentials to identify the client

Page 15: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 15

EntryPoint Message Specification SBE Version 4.1

1.5. EstablishmentAck

Tag Tag name Req'd Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = EstablishAck

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y uint64 8 Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway.

35521 RequestTimestamp Y UTCTimestampNanos 8 Must match Establish timestamp

35525 KeepAliveInterval Y DeltaInMillis 8 Longest time in milliseconds the acceptor should wait before sending Keepalive message

35526 NextSeqNo Y uint64 8 For re-establishment of a recoverable flow only, the next application sequence number to be produced by the server to the client. At the start of a session, it is 1 (one).

35527 LastIncomingSeqNo N uint64 8 Indicates the application sequence number of the last application message received by the server from the client. At the start of a session, it is absent (value = 0).

Page 16: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 16

EntryPoint Message Specification SBE Version 4.1

1.6. EstablishmentReject

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = EstablishReject

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y uint64 8

Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionID. Need to be incremented each time Negotiate message is sent to gateway.

35521 RequestTimestamp Y UTCTimestampNanos 8 Must match Establish timestamp

35522 Code Y EstablishmentRejectCode

Enum 1 Establishment Reject Code

35523 Reason N Variable Length Data Up to

250 Reject reason details

Page 17: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 17

EntryPoint Message Specification SBE Version 4.1

1.7. Terminate

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = Terminate

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y uint64 8

Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway.

35522 Code Y TerminationCode

Enum 1 Identifies the code of termination.

35523 Reason N Variable Length Data Up to 250

Reject reason details

Page 18: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 18

EntryPoint Message Specification SBE Version 4.1

1.8. FinishedSending

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = FinishedSending

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y uint64 8 Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway.

35528 LastSeqNo N uint64 8 Must be populated for an idempotent or recoverable flow.

Page 19: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 19

EntryPoint Message Specification SBE Version 4.1

1.9. FinishedReceiving

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = FinishedReceiving

35518 SessionID Y char 10 Counterparty identification of gateway in the connection assigned by B3.

35519 SessionVerID Y uint64 8 Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionID. Need to be incremented each time Negotiate message is sent to gateway.

1.10. NotApplied

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = NotApplied

35529 FromSeqNo Y uint64 8 The first applied sequence number

35530 Count Y uint32 4 How many messages haven´t been applied

Page 20: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 20

EntryPoint Message Specification SBE Version 4.1

1.11. RetransmitRequest

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = RetransmitRequest

35518 SessionID Y char 10 Session Identifier

35520 Timestamp Y UTCTimestampNanos 8 Timestamp used as an unique identified of the request

35529 FromSeqNo Y uint64 8 Sequence number of the first message requested

35530 Count Y uint32 4 Count of messages requested

1.12. Retransmission

Tag Tag name Req´d DataType Size Description

35 MessageType Y MessageType Enum 0 Constant field = Retransmission

35518 SessionID Y char 10 Session Identifier

35521 RequestTimestamp Y UTCTimestampNanos 8 Value from RetransmitRequest timestamp field. Used to match responses to requests.

35526 NextSeqNo Y uint64 8 Sequence number of the next message to be retransmitted

35530 Count Y uint32 4 Count of messages to be retransmitted in a batch

Page 21: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 21

EntryPoint Message Specification SBE Version 4.1

1.1. RetransmitReject

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = RetransmissionReject

35518 SessionID Y char 10 Session Identifier

35521 RequestTimestamp Y UTCTimestampNanos 8 Value from RetransmitRequest timestamp field. Used to match responses to requests.

35522 Code Y RetransmitRejectCode Enum 1 Identifies the code of reject retransmission.

1.2. Sequence

Tag Tag name Req´d Data Type Size Description

35 MessageType Y MessageType Enum 0 Constant field = Sequence

35526 NextSeqNo Y uint64 8 Sequence number of the next message to be retransmitted

Page 22: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 22

EntryPoint Message Specification SBE Version 4.1

2. Application Level Messages

2.1. Message Directions

Application Message From B3 to Client From Client to B3

BusinessMessageReject ✓

NewOrderSingle ✓

ExecutionReport - New Order ✓

ExecutionReport - Modify ✓

ExecutionReport - Cancel ✓

ExecutionReport - Trade ✓

ExecutionReport - Trade Bust ✓

ExecutionReport - Reject ✓

ExecutionReport - Forward ✓

OrderCancelReplaceRequest ✓

OrderCancelRequest ✓

SimpleNewOrder ✓

SimpleModifyOrder ✓

NewOrderCross ✓

SecurityDefinitionRequest ✓

SecurityDefinition ✓

QuoteRequest ✓

QuoteStatusReport ✓

Page 23: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 23

EntryPoint Message Specification SBE Version 4.1

Quote ✓

QuoteCancel ✓

QuoteRequestReject ✓

PositionMaintenanceCancelRequest ✓

PositionMaintenanceRequest ✓

PositionMaintenanceReport ✓

AllocationInstruction ✓

AllocationReport ✓

OrderMassActionRequest ✓

OrderMassActionReport ✓

Page 24: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 24

EntryPoint Message Specification SBE Version 4.1

2.2. BusinessMessageReject

Tag Tag name Req´d Data Type Size Comment

35 MessageType Y MessageType Enum 0 Constant field = BusinessMessageReject

380 BusinessRejectReason Y uint32 4 Code to identify the reason of the rejection. Please refer to the error codes document for domain information.

45 RefSeqNum Y uint64 8 MsgSeqNum of rejected message.

372 RefMsgType Y MessageType Enum 1 The MsgType of the FIXP message being referenced.

379 BusinessRejectRefID Y uint64 8

The value of the business-level “ID” (ClOrdID) field on the message bei ng referenced. Required unless the corresponding ID field was not specified.

58 Text Y Variable Length

Data Up to 250

Message to explain reason for rejection, if available.

5149 Memo N Variable Length

Data Up to

40 Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 25: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 25

EntryPoint Message Specification SBE Version 4.1

2.3. NewOrderSingle

Tag Tag name Req´d Data Type Size Comment

35 MessageType Y MessageType Enum 0 Constant field = NewOrderSingle

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

44 Price N price 4 Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP).

99 StopPx N price 4 The stop price of a stop limit order (Conditionally required if OrdType = 4).

1 Account N uint32 4 Account mnemonic.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

35507 Custodian N uint32 4 Identifies the custodian.

35508 CustodyAccount N uint32 4 Identifies the custody account.

35509 CustodyAllocationType N uint32 4 Identifies the custody portfolio.

35504 InvestorID N uint32 4 Unique identifier of customer.

38 OrderQty Y uint32 4 Quantity ordered.

Page 26: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 26

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment

110 MinQty N uint32 4 Minimum quantity of an order to be executed. “Default if not specified is 0.”

111 MaxFloor N uint32 4

Maximum number of shares or contracts within an order to be shown on the match engine at any given time. “Default if not specified is 0.”

1300 MarketSegmentID Y uint8 1 Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise.

54 Side Y Side Enum 1 Side of order.

40 OrdType Y OrdType Enum 1 Order type.

59 TimeInForce Y TimeInForce Enum 1 Specifies how long the order remains in effect.

9773 MMProtectionReset N Boolean 1

Resets Market Protections. When Market Protections are triggered, the Exchange will not accept new orders for that product group without tag MMProtectionReset: True = Reset Market Maker Protection; False = Do nothing related to Market Maker Protection

35487 RoutingInstruction N RoutingInstruction

Enum 1 Indicates additional order instruction.

35505 OrdTagID Y uint8 1 Identifies the order tag identification.

35510 DeskID N Variable Length Data Up to 20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to 40 Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 27: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 27

EntryPoint Message Specification SBE Version 4.1

2.4. ExecutionReport – New Order/Restated

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = ExecutionReport_New

17 ExecID Y uint64 8

Unique identifier of execution message as assigned by the exchange – unique per instrument.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

37 OrderID Y uint64 8

Unique identifier for Order as assigned by the exchange. Uniqueness is guaranteed within a single trading day/instrument.

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

150 ExecType Y ExecType Enum 1

Describes the action that triggered this specific Execution Report - see the OrdStatus (39) tag for the current order status (e.g, Partially Filled).

Valid values: 0 - New 4 - Canceled C - Expired D - Restated

39 OrdStatus Y OrdStatus Enum 1 Order status.

Valid values: 0 - New 1 - Partially Filled 2 - Filled 4 - Canceled

Page 28: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 28

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

5 - Replaced 8 - Rejected C - Expired Z - Previous Final State

198 SecondaryOrderID N uint64 8

Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.

636 WorkingIndicator N Boolean 1

Indicates if an order has been triggered and is available for trading. Used with Stop (Limit, with protection) orders and the At the Close validity.

378 ExecRestatementReason N ExecRestatementReason

Enum 1

Indicates reason of restatement, if available.

Valid values: 8 - Market Option 100 - Cancel On Hard Disconnection 101 - Cancel On Logout 102 - Cancel On Disconnect And Logout 103 - Self Trading Prevention 105 – Cancel From Firmsoft 200 - Market Maker Protection 201 - RiskManagement Cancellation 202 – Order Mass Action

Page 29: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 29

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

From Client Request

35001 ProtectionPrice N price 4

Conditionally returned on execution reports for Market and Stop Protect orders. This contains the final protection price limit at which any unmatched quantity will rest on the book.

75 TradeDate N LocalMktDate 2

Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch.

442 MultiLegReportingType N MultiLegReportingType

Enum 1

Used to indicate what an Execution Report represents. Default value is 1 (Single Security).

Valid values: 1 - Single Security 2 - Individual Leg Of A Multi Leg Security 3 - Multi Leg Security

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 30: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 30

EntryPoint Message Specification SBE Version 4.1

2.5. ExecutionReport – Modify

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType

Y MessageType Enum 0 Constant field = ExecutionReport_Modify

17 ExecID Y uint64 8

Unique identifier of execution message as assigned by the exchange – unique per instrument.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

37 OrderID Y uint64 8

Unique identifier for Order as assigned by the exchange. Uniqueness is guaranteed within a single trading day/instrument.

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

Page 31: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 31

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

39 OrdStatus Y OrdStatus Enum 1 Order status.

Valid values: 0 - New 1 - Partially Filled 2 - Filled 4 - Canceled 5 - Replaced 8 - Rejected C - Expired Z - Previous Final State

198 SecondaryOrderID N uint64 8

Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.

35506 ExecutingTrader N char 5 Identifies the trader who is executing an order.

35001 ProtectionPrice N price 4

Conditionally returned on execution reports for Market and Stop Protect orders. This contains the final protection price limit at which any unmatched quantity will rest on the book.

75 TradeDate N LocalMktDate 2

Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch.

442 MultiLegReportingType N MultiLegReportingType

Enum 1

Used to indicate what an Execution Report represents. Default value is 1 (Single Security).

Valid values: 1 - Single Security 2 - Individual Leg Of A Multi Leg Security 3 - Multi Leg Security

Page 32: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 32

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 33: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 33

EntryPoint Message Specification SBE Version 4.1

2.6. ExecutionReport – Cancel

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = ExecutionReport_Cancel

17 ExecID Y uint64 8

Unique identifier of execution message as assigned by the exchange – unique per instrument.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

37 OrderID Y uint64 8

Unique identifier for Order as assigned by the exchange. Uniqueness is guaranteed within a single trading day/instrument.

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

39 OrdStatus Y OrdStatus Enum 1 Order status.

Valid values: 0 - New 1 - Partially Filled 2 - Filled 4 - Canceled 5 - Replaced 8 - Rejected

Page 34: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 34

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

C - Expired Z - Previous Final State

198 SecondaryOrderID N uint64 8

Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.

35506 ExecutingTrader N char 5 Identifies the trader who is executing an order.

378 ExecRestatementReason N ExecRestatementReason

Enum 1

Indicates reason of restatement, if available.

Valid values: 8 - Market Option 100 - Cancel On Hard Disconnection 101 - Cancel On Logout 102 - Cancel On Disconnect And Logout 103 - Self Trading Prevention 105 – Cancel From Firmsoft 200 - Market Maker Protection 201 - RiskManagement Cancellation 202 – Order Mass Action From Client Request

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

Page 35: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 35

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 36: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 36

EntryPoint Message Specification SBE Version 4.1

2.7. ExecutionReport – Trade/Trade Bust

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = ExecutionReport_Trade

17 ExecID Y uint64 8

Unique identifier of execution message as assigned by the exchange – unique per instrument.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

37 OrderID Y uint64 8

Unique identifier for Order as assigned by the exchange. Uniqueness is guaranteed within a single trading day/instrument.

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

Page 37: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 37

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

39 OrdStatus Y OrdStatus Enum 1 Order status.

Valid values: 0 - New 1 - Partially Filled 2 - Filled 4 - Canceled 5 - Replaced 8 - Rejected C - Expired Z - Previous Final State

198 SecondaryOrderID N uint64 8

Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.

527 SecondaryExecID N uint64 8

Unique identifier present in all messages associated with a spread transaction. This value allows linking spread summary fill notice, leg fill notices, and leg trade cancellation execution report messages generated from a spread transaction.

375 ContraBroker N uint32 4 Identifies contra broker.

31 LastPx N price 4 Price of this (last) fill.

32 LastQty N uint32 4 Quantity of shares bought/sold on this (last) fill.

151 LeavesQty N uint32 4 Amount of shares open for further execution, or unexecuted. LeavesQty = OrderQty - CumQty.

Page 38: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 38

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

14 CumQty N uint32 4 Total number of shares or contracts filled.

Valid values: 1 - Single Security 2 - Individual Leg Of A Multi Leg Security 3 - Multi Leg Security

75 TradeDate N LocalMktDate 2

Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch.

1057 AggressorIndicator N Boolean 1 Used to identify whether the order initiator is an aggressor or not in the trade.

Valid values: Y - Order Initiator Is Agressor N - Order Initiator Is Passive

6032 UniqueTradeID N uint32 4

Contains the unique identifier for this trade, per instrument + trading date, as assigned by the exchange.

548 CrossID N uint64 8 ID of electronically submitted cross order by the institution (if in response to a cross order).

19 ExecRefID N uint64 8 Optionally sent when reporting a trade bust. Contains the identifier of the busted trade.

442 MultiLegReportingType N MultiLegReportingType

Enum 1

Used to indicate what an Execution Report represents. Default value is 1 (Single Security).

Valid values: 1 - Single Security 2 - Individual Leg Of A Multi Leg Security

Page 39: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 39

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

3 - Multi Leg Security

393 TotNoRelatedSym N uint8 1

Contains the number of Leg Fill Notice messages sent with the spread summary. This field is sent only in the Trade Execution Reports for the Spread Summary - Fill Notice.

1115 OrderCategory N OrderCategory Enum 1 Defines the type of interest behind a trade i.e. why a trade occurred.

Valid values: B - Result Of Options Exercise C - Result Of Assignment From An Options Exercise D - Result of Automatic Options Exercise

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 40: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 40

EntryPoint Message Specification SBE Version 4.1

2.8. ExecutionReport – Reject

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = ExecutionReport_Reject

17 ExecID Y uint64 8 Unique identifier of execution message as assigned by the exchange – unique per instrument.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

37 OrderID Y uint64 8 Unique identifier for Order as assigned by the exchange. Uniqueness is guaranteed within a single trading day/instrument.

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

Page 41: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 41

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

39 OrdStatus Y OrdStatus Enum 1 Order status. Valid values: 0 - New 1 - Partially Filled 2 - Filled 4 - Canceled 5 - Replaced 8 - Rejected C - Expired Z - Previous Final State

198 SecondaryOrderID N uint64 8 Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.

103 OrdRejReason N uint32 4 Code to identify reason for order rejection. Please refer to the error codes document for domain information.

372 RefMsgType N uint8 1 Identifies the reason of rejection

Valid values: 3 - Reject

58 Text N Variable Length Data Up to 250

Free format text string.

35510 DeskID N Variable Length Data Up to 20

Identifies the trading desk.

5149 Memo N Variable Length Data Up to 40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 42: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 42

EntryPoint Message Specification SBE Version 4.1

2.9. ExecutionReport – Forward

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = ExecutionReport_Forward

17 ExecID Y uint64 8 Unique identifier of execution message as assigned by the exchange – unique per instrument.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

37 OrderID Y uint64 8 Unique identifier for Order as assigned by the exchange. Uniqueness is guaranteed within a single trading day/instrument.

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

Page 43: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 43

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

39 OrdStatus Y OrdStatus Enum 1 Order status. Valid values: 0 - New 1 - Partially Filled 2 - Filled 4 - Canceled 5 - Replaced 8 - Rejected C - Expired Z - Previous Final State

19 ExecRefID N uint64 8 Optionally sent when reporting a trade bust. Contains the identifier of the busted trade.

198 SecondaryOrderID N uint64 8 Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders.

527 SecondaryExecID N uint64 8 Unique identifier present in all messages associated with a spread transaction. This value allows linking spread summary fill notice, leg fill notices, and leg trade cancellation execution report messages generated from a spread transaction.

375 ContraBroker N uint32 4 Identifies contra broker.

548 CrossID N uint64 8 ID of electronically submitted cross order by the institution (if in response to a cross order).

Page 44: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 44

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

63 SettlType N SettlType Enum 1 Indicates who in the contract has control over evoking settlement.

Valid values: 0 - Buyers Discretion 8 - Sellers Discretion X – Mutual

5497 DaysToSettlement N uint16 2 Deadline for completing the forward deal. For Common, Dollar and Index contracts must be between 16 and 999. And maximum of 90 days for Flexible.

5706 FixedRate N percentage (-4) int32 4 Interest rate of the forward trade. Expressed in decimal form. For example, 1% is expressed and sent as 0.01. One basis point is represented as 0.0001.

32 LastQty N uint32 4 Quantity of shares bought/sold on this (last) fill.

31 LastPx N price 4 Price of this (last) fill.

151 LeavesQty N uint32 4 Amount of shares open for further execution, or unexecuted. LeavesQty = OrderQty - CumQty.

14 CumQty N uint32 4 Total number of shares or contracts filled.

75 TradeDate N LocalMktDate 2 Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch.

Page 45: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 45

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

1057 AggressorIndicator N Boolean 1 Used to identify whether the order initiator is an aggressor or not in the trade:

True – Order Initiator is aggressor

False – Order Initiator is passive

6032 UniqueTradeID N uint32 4 Contains the unique identifier for this trade, per instrument + trading date, as assigned by the exchange. Conditionally required if

= F (Trade).

35531 ContraFirm Y uint32 4 Broker identifier as assigned by B3 used to indicate the counterparty brokerage firm in a Forward deal. Required for forward deals, N/A for other securities

35510 DeskID N Variable Length Data Up to 20

Identifies the trading desk.

5149 Memo N Variable Length Data Up to 40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 46: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 46

EntryPoint Message Specification SBE Version 4.1

2.10. OrderCancelReplaceRequest

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = OrderCancelReplaceRequest

41 OrigClOrdID Y uint64 8 ClOrdID which should be replaced.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

44 Price N price 4

Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP).

99 StopPx N price 4 The stop price of a stop limit order (Conditionally required if OrdType = 4).

1 Account N uint32 4 Account mnemonic.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

35506 ExecutingTrader N char 5 Identifies the trader who is executing an order.

432 ExpireDate N LocalMktDate 2

Required only if TimeInForce (Tag 59) = Good Till Date (GTD). Only expiration date can be set. Orders expire at the end of the trading session.

35507 Custodian N uint32 4 Identifies the custodian.

35508 CustodyAccount N uint32 4 Identifies the custody account.

Page 47: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 47

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

35509 CustodyAllocationType N uint32 4 Identifies the custody portfolio.

35504 InvestorId N uint32 4 Unique identifier of customer.

38 OrderQty Y uint32 4 Quantity ordered.

110 MinQty N uint32 4 Minimum quantity of an order to be executed.

111 MaxFloor N uint32 4

Maximum number of shares or contracts within an order to be shown on the match engine at any given time.

1300 MarketSegmentId Y uint8 1

Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise.

54 Side Y Side Enum 1 Side of order. 1 - Buy 2 - Sell

40 OrdType Y OrdType Enum 1 Order type.

1 - Market 2 - Limit 3 - Stop Loss 4 - Stop Limit K - Market With Leftover As Limit W – RLP

59 TimeInForce N TimeInForce Enum 1 Specifies how long the order remains in effect.

0 - Day 1 - Good Till Cancel 3 - Immediate Or Cancel 4 - Fill Or Kill 6 - Good Till Date 7 - At The Close A - Good For Auction

Page 48: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 48

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

9773 MMProtectionReset N Boolean 1

Resets the Market Maker Protection. When Market Maker Protection is triggered, the Exchange will not accept new orders or modification of existing orders for that product group without tag MMProtectionReset: True = Reset Market Maker Protection; False = Do nothing related to Market Maker Protection

35487 RoutingInstruction N RoutingInstruction

Enum 1 Indicates additional order instruction

1 - Retail Liquidity Taker 2 - Waived Priority (RLP Analysis)

581 AccountType N AccountType Enum 1 Type of Account associated with an order.

38 - Remove Account Information 39 - Regular Account

35505 OrdTagID Y uint8 1 Identifies the order tag identification.

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 49: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 49

EntryPoint Message Specification SBE Version 4.1

2.11. OrderCancelRequest

Tag Tag name Req´d Data Type Size Comment

35 MessageType Y MessageType Enum 0 Constant field = OrderCancelRequest

41 OrigClOrdID Y uint64 8 ClOrdID which should be replaced.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

35506 ExecutingTrader N char 5 Identifies the trader who is executing an order.

1300 MarketSegmentID Y uint8 1 Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise.

Page 50: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 50

EntryPoint Message Specification SBE Version 4.1

2.12. SimpleNewOrder

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = SimpleNewOrder

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

44 Price Y price 4 Price per share or contract.

1 Account N uint32 4 Account mnemonic.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

35504 InvestorID N uint32 4 Unique identifier of customer.

38 OrderQty Y uint32 4 Quantity ordered.

54 Side Y Side Enum 1 Side of order. 1 - Buy 2 - Sell

40 OrdType N OrdType Enum 1 Order type. Valid values: 2 - Limit

Page 51: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 51

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

59 TimeInForce Y TimeInForce Enum 1

Specifies how long the order remains in effect. Value = 6 (Good till date) is not accepted for this message

0 - Day 3 - Immediate Or Cancel 4 - Fill Or Kill

35505 OrdTagID Y uint8 1 Identifies the order tag identification.

1300 MarketSegmentId Y uint8 1 Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise.

2.13. SimpleModifyOrder

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = SimpleReplaceOrder

41 OrigClOrdID Y uint64 8 ClOrdID which should be replaced.

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource N char 0 Constant value = 8 – Exchange Symbol

Page 52: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 52

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

207 SecurityExchange N char 0 Market to which the symbol belongs. Constant value = “BVMF”

44 Price Y price 4 Price per share or contract.

38 OrderQty Y uint32 4 Quantity ordered.

1300 MarketSegmentId Y uint8 1

Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

35506 ExecutingTrader N char 5 Identifies the trader who is executing an order.

Page 53: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 53

EntryPoint Message Specification SBE Version 4.1

2.14. NewOrderCross

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = NewOrderCross

548 CrossID Y uint64 8 Identifier for a cross order. Must be unique during a given trading day.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48) belongs. Constant value = “BVMF”

44 Price Y price 4

Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP).

38 OrderQty Y uint32 4 Quantity ordered.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

1300 MarketSegmentID Y uint8 1

Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise.

552 NoSides Y groupSizeEncoding Number of Side (54) repeating group instances. Must be always 2 (both sides)

➔ Side Y Side Enum 1 Side of order. Valid values: 1 - Buy 2 - Sell

➔ ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

Page 54: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 54

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

➔ Account N uint32 4 Account mnemonic.

Page 55: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 55

EntryPoint Message Specification SBE Version 4.1

2.15. SecurityDefinitionRequest

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = SecurityDefinitionRequest

320 SecurityReqID Y uint64 8 Unique ID of a Security Definition Request.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

1300 MarketSegmentID Y uint8 1

Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise.

0 - 255

555 NoLegs Y groupSizeEncoding

Number of InstrumentLeg repeating group instances.

➔ 602 LegSecurityID Y uint64 8

Multileg instrument's individual security’s SecurityID. See SecurityID (48) field for description.

➔ 603 LegSecurityIDSource N uint8 0

Multileg instrument's individual security’s SecurityIDSource. See SecurityIDSource (22) field for description. Constant value = 8 – Exchange Symbol

Page 56: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 56

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

➔ 616 LegSecurityExchange N char 0 Exchange code the leg security belongs to. Constant value = “BVMF”

➔ 623 LegRatioQty Y uint32

The ratio of quantity for this individual leg relative to the entire multileg security.

➔ 624 LegSide Y Side Enum 1

The side of this individual leg (multileg security). See Side (54) field for description and values.

Valid values: 1 - Buy 2 - Sell

2.16. SecurityDefinition

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum

0 Constant field = SecurityDefinition

320 SecurityReqID Y uint64 8 Unique ID of a Security Definition Request.

322 SecurityResponseID Y uint64 8 Unique ID of a Security Definition message.

323 SecurityResponseType Y char 1 Type of Security Definition message response.

Valid values: 1 - Accept Security Proposal As Is 5 - Reject Security Proposal

Page 57: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 57

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48) belongs. Constant value = “BVMF”

55 Symbol Y char 20 B3 requires that this field is properly set. It contains the human readable form of the SecurityID tag, available in the Security List message in Market Data feed.

7534 SecurityStrategyType Y char 3 Indicates the type of Strategy created. This field is not sent on rejects.

58 Text N Variable Length Data

Up to 250

Free format text string.

Page 58: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 58

EntryPoint Message Specification SBE Version 4.1

2.17. QuoteRequest

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = QuoteRequest

131 QuoteReqID Y uint64 8

Unique identifier for quote request populated by the client system.

117 QuoteID YN uint64 8

Unique identifier for quote. It is an ID generated by matching engine.

1171 PrivateQuote Y Boolean 0

Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only. (constant)

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48)

Page 59: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 59

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

belongs. Constant value = “BVMF”

38 OrderQty Y uint32 4 Quantity ordered.

63 SettlType Y SettlType Enum 1

Indicates who in the contract has control over evoking settlement.

Valid values: 0 - Buyers Discretion 8 - Sellers Discretion X – Mutual

5497 DaysToSettlement Y uint16 2

Deadline for completing the forward deal. For Common, Dollar and Index contracts must be between 16 and 999. And maximum of 90 days for Flexible.

5706 FixedRate Y percentage (-4) int32 4

Describes the interest to be paid by the forward buyer and received by the forward seller, in proportion to the agreed days to settlement. Expressed in decimal form. For example, 1% is expressed and sent as 0.01. One basis point is represented as 0.0001.

Page 60: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 60

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

44 Price Y price 4 Price per share or contract.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

35511 NoSides Y NumInGroup 0

➔ 54 Side Y Side Enum 1 Side of order. Valid values: 1 - Buy 2 – Sell

➔ 1 Account N uint32 4 Account mnemonic.

6032 UniqueTradeID N uint32 4

Used in Forward + Registered Cash (TVR) to indicate the cash security previously bought. Not provided in the message sent to counter party.

35004 ExecuteUnderlyingTrade N char 1

Specifies if a simultaneous trade of the underlying is to be performed. Required to indicate Termo Vista and Termo Vista Registered.

Valid values: 0 - No Underlying Trade 1 - Underlying Opposing Trade

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

Page 61: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 61

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 62: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 62

EntryPoint Message Specification SBE Version 4.1

2.18. QuoteStatusReport

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = QuoteStatusReport

131 QuoteReqID Y uint64 8 Unique identifier for quote request populated by the client system.

117 QuoteID Y uint64 8 Unique identifier for quote. It is an ID generated by matching engine.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48) belongs. Constant value = “BVMF”

44 Price Y price 4

Price per share or contract. Conditionally required if the order type requires a price (not market orders).

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

Page 63: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 63

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

297 QuoteStatus Y char 1 Identifies the status of the quote acknowledgement.

Valid values: 0 - Accepted 5 - Rejected 7 - Expired 9 - Quote Not Found 10 - Pending 11 - Pass 17 - Canceled

300 QuoteRejectReason N uint32 4 Reason Quote was rejected.

58 Text N Variable Length Data Up to 250

Free format text string.

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 64: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 64

EntryPoint Message Specification SBE Version 4.1

2.19. Quote

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = Quote

131 QuoteReqID Y uint64 8

Unique identifier for quote request populated by the client system.

117 QuoteID, Y uint64 8

Unique identifier for quote. It is an ID generated by matching engine.

1171 PrivateQuote Y Boolean 1

Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48)

Page 65: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 65

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

belongs. Constant value = “BVMF”

1 Account Y uint32 4 Account mnemonic.

60 TransactTime Y UTCTimestampNanos 8

Time of execution/order creation; expressed in UTC.

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 66: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 66

EntryPoint Message Specification SBE Version 4.1

2.20. QuoteCancel

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType

Enum 0 Constant field = QuoteCancel

131 QuoteReqID Y uint64 8 Unique identifier for quote request populated by the client system.

117 QuoteID Y uint64 8 Unique identifier for quote. It is an ID generated by matching engine.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48) belongs. Constant value = “BVMF”

35510 DeskID N Variable

Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable

Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 67: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 67

EntryPoint Message Specification SBE Version 4.1

2.21. QuoteRequestReject

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = QuoteRequestReject

131 QuoteReqID Y uint64 8 Unique identifier for quote request populated by the client system.

117 QuoteID Y uint64 8

Unique identifier for quote. It is an ID generated by matching engine.

1171 PrivateQuote Y boolean 0

Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48) belongs. Constant value = “BVMF”

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

Page 68: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 68

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

658 QuoteRequestRejectReason N uint32 4 Reason Quote was rejected.

58 Text N Variable Length Data Up to 250

Free format text string.

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 69: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 69

EntryPoint Message Specification SBE Version 4.1

2.22. PositionMaintenanceCancelRequest

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = PositionMaintenanceCancelRequest

710 PosReqID Y uint64 8 Unique identifier for the position maintenance request.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48) belongs. Constant value = “BVMF”

713 OrigPosReqRefID N uint64 8 Reference to the PosReqID (710) of a previous maintenance request that is being canceled.

714 PosMaintRptRefID N uint64 8 Reference to a PosMaintRptID (721) from a previous Position Maintenance Report that is being canceled.

35510 DeskID N Variable Length Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 70: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 70

EntryPoint Message Specification SBE Version 4.1

2.23. PositionMaintenanceRequest

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType

Enum 0

Constant field = PositionMaintenanceRequest

710 PosReqID Y uint64 8 Unique identifier for the position maintenance request.

709 PosTransType Y char 3 Identifies the type of position transaction.

Valid values: 1 - Exercise 102 - Scheduled Options Exercise 103 – Snapshot – Holder 104 – Snapshot – Issuer 105 – Automatic Exercise 106 – Do Not Automatic Exercise

715 ClearingBusinessDate Y LocalMktDate 2

The 'Clearing Business Date' referred to by this request. It must be set with the current date.

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

1 Account Y uint32 4 Account mnemonic.

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List

Page 71: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 71

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0

Market to which security ID (tag 48) belongs. Constant value = “BVMF”

702 NoPositions Y NumInGroup Number of position entries.

➔ 703 PosType Y char 3 Used to identify the type of quantity.

Valid values: TQ - Transaction Quantity SOD - Start Of Day Qty EX - Option Exercise Qty BQ - Blocked Qty UC - Uncovered Qty CV - Covered Qty

➔ 704 LongQty Y uint32 4 Long Quantity.

719 ContraryInstructionIndicator N Boolean 0

Used to indicate when a contrary instruction for exercise or abandonment is being submitted : The exercise should not happen to an ITM position or it should happen to an ATM or OTM position, always using the values of tags 709-

Page 72: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 72

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

PosTransType and 712-PosMaintAction to determine which operation will take place. Should not be submitted when false. Valid value: Y = true

834 ThresholdAmount N uint32 4

Used to indicate the minimum acceptable offset between the Strike Price and the Market Price.

35510 DeskID N Variable Length

Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length

Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 73: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 73

EntryPoint Message Specification SBE Version 4.1

2.24. PositionMaintenanceReport

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType

Enum 0

Constant field = PositionMaintenanceReport

721 PosMaintRptID Y uint64 8 Unique identifier for this position report

709 PosTransType Y Char 3 Identifies the type of position transaction.

Valid values: 1 - Exercise 101 - Auto Blocking Of Short Option Position 102 - Scheduled Options Exercise 103 – Snapshot – Holder 104 – Snapshot – Issuer 105 – Automatic Exercise 106 – Do Not Automatic Exercise

710 PosReqID Y uint64 8

Unique identifier for the position maintenance request.

713 OrigPosReqRefID Y uint64 8

Reference to the PosReqID (710) of a previous maintenance request that is being canceled.

Page 74: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 74

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

722 PosMaintStatus Y char 1 Status of Position Maintenance Request.

Valid values: 0 - Accepted 2 - Rejected 3 - Completed 9 - Not Executed

723 PosMaintResult Y uint32 4

Identifies reason for rejection. Required when PosMaintStatus = 2.

715 ClearingBusinessDate Y LocalMktDate 2

The 'Clearing Business Date' referred to by this request. It must be set with the current date.

35502 EnteringTrader Y char 5

Identifies the trader who is inserting an order.

1003 TradeID Y uint32 4

The unique ID assigned to the trade entity once it is received or matched by the exchange or central counterparty.

1 Account Y uint32 4 Account mnemonic.

Page 75: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 75

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

581 AccountType Y AccountType

Enum 2

Type of Account associated with an order. Absence of this Tag causes Account to be interpreted as Regular Account.

Valid values: 38 - Remove Account Information 39 - Regular Account

48 SecurityID Y uint64 8

Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0

Market to which security ID (tag 48) belongs. Constant value = “BVMF”

60 TransactTime Y UTCTimestampNa

nos 8

Time of execution/order creation; expressed in UTC.

702 NoPositions Y NumInGroup Number of position entries.

Page 76: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 76

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

➔ 703 PosType Y char 3 Used to identify the type of quantity.

Valid values: TQ - Transaction Quantity SOD - Start Of Day Qty EX - Option Exercise Qty BQ - Blocked Qty UC - Uncovered Qty CV - Covered Qty

➔ 704 LongQty N uint32 4 Long Quantity.

➔ 705 ShortQty N uint32 4 Short Quantity.

719 ContraryInstructionIndicator N Boolean 0

Used to indicate when a contrary instruction for exercise or abandonment is being submitted : The exercise should not happen to an ITM position or it should happen to an ATM or OTM position, always using the values of tags 709-PosTransType and 712-PosMaintAction to determine which operation will take place. Should not be submitted when false.

Page 77: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 77

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

Valid value: Y = true

834 ThresholdAmount N price 4

Used to indicate the minimum acceptable offset between the Strike Price and the Market Price.

58 Text N Variable Length

Datatext 250

Free format text string.

35510 DeskID N Variable Length

Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length

Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 78: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 78

EntryPoint Message Specification SBE Version 4.1

2.25. AllocationInstrucion

Tag Tag name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType

Enum 0

Constant field = AllocationInstruction

70 AllocID Y uint64 8 Unique identifier for this allocation instruction message.

71 AllocTransType Y char 1 Identifies allocation transaction type.

Valid values: 0 - New 2 - Cancel

626 AllocType Y char 0 Describes the specific type or purpose of an Allocation message. (constant)

Valid values: 8 - Request To Intermediary

857 AllocNoOrdersType Y char 0

Indicates how the orders being booked and allocated by an Allocation Instruction. (constant)

Valid values: 0 - Not Specified

54 Side Y side 1 Side of order. Valid values: 1 - Buy 2 - Sell

124 NoExecs Y groupSizeEncoding 0 No of execution repeating group entries to follow.

➔ 1003 TradeID Y uint32 4

The unique ID assigned to the trade entity once it is received or matched by the exchange or central counterparty.

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List

Page 79: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 79

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48) belongs. Constant value = “BVMF”

53 Quantity Y uint64 8 Overall/total quantity (e.g. number of shares).

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

75 TradeDate Y LocalMktDate 2

Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch.

78 NoAllocs Y groupSizeEncoding 0

Number of repeating groups for pre-trade allocation. If present, should be always 1, since allocation can be done only for a single client.

➔ 79 AllocAccount Y uint32 4

Sub-account mnemonic. Required if NoAllocs > 0. Must be first field in repeating group.

➔ 80 AllocQty Y uint32 4 Quantity allocated to specific sub-account.

➔ 467 IndividualAllocID Y uint64 8 Unique identifier for a specific NoAllocs (78)

Page 80: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 80

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data Type Size Comment Enumeration

repeating group instance (e.g. for an AllocAccount).

35510 DeskID N Variable Length

Data Up to

20 Identifies the trading desk.

5149 Memo N Variable Length

Data Up to

40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 81: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 81

EntryPoint Message Specification SBE Version 4.1

2.26. AllocationReport

Tag Tag name Req´d Data type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = AllocationReport

755 AllocReportID Y uint64 8 Unique identifier for this message.

70 AllocID Y uint64 8 Unique identifier for this allocation instruction message.

71 AllocTransType Y char 1 Identifies allocation transaction type.

Valid values: 0 - New 2 - Cancel

794 AllocReportType Y char 1 Describes the specific type or purpose of an Allocation Report message. (contant)

Valid values: 8 - Request To Intermediary

87 AllocStatus Y char 1 Identifies status of allocation.

Valid values: 0 - Accepted 5 - Rejected By Intermediary

88 AllocRejCode Y uint64 8 Identifies reason for rejection.

857 AllocNoOrdersType Y char 1 Indicates how the orders being booked and allocated by an Allocation Instruction.

Valid values: 0 - Not Specified

54 Side Y char 1 Side of order. Valid values: 1 - Buy 2 - Sell

48 SecurityID Y uint64 8 Security ID as defined by B3. For the SecurityID list, see the Security List message in Market Data feed.

22 SecurityIDSource Y char 0 Constant value = 8 – Exchange Symbol

207 SecurityExchange Y char 0 Market to which security ID (tag 48) belongs. Constant value = “BVMF”

53 Quantity Y uint64 8 Overall/total quantity (e.g. number of shares).

Page 82: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 82

EntryPoint Message Specification SBE Version 4.1

Tag Tag name Req´d Data type Size Comment Enumeration

35502 EnteringTrader Y char 5 Identifies the trader who is inserting an order.

75 TradeDate Y LocalMktDate 2

Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch.

60 TransactTime Y UTCTimestampNanos 8 Time of execution/order creation; expressed in UTC.

58 Text N Variable Length Data Up to 250 Free format text string.

35510 DeskID N Variable Length Data Up to 20 Identifies the trading desk.

5149 Memo N Variable Length Data Up to 40

Free format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.

Page 83: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 83

EntryPoint Message Specification SBE Version 4.1

2.27. OrderMassActionRequest

Tag Tag Name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = OrderMassActionRequest

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

1300 MarketSegmentID Y uint8 1

Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise.

0 - 255

1373 MassActionType Y MassActionType Enum 1 Specifies the type of action requested.

Valid values: 3 – Cancel orders

1374 MassActionScope Y MassActionScope Enum 1

Specifies the scope of the action. All Day & MOC orders will be cancelled. GTC, GTD & MOA orders will not be cancelled.

Valid values: 6 – All Orders for a Trading Session.

378 ExecRestatementReason Y ExecRestatementReason

Enum 1

Used to communicate event type which triggers the Order Mass Action Request.

Valid values: 202 - Mass Cancel from Client Request

Page 84: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 84

EntryPoint Message Specification SBE Version 4.1

2.28. OrderMassActionReport

Tag Name Req´d Data Type Size Comment Enumeration

35 MessageType Y MessageType Enum 0 Constant field = OrderMassActionReport

11 ClOrdID Y uint64 8 Unique identifier of the order as assigned by the market participant.

1369 MassActionReportID Y uint64 8 Unique ID of Order Mass Action Report as assigned by the matching engine,

1373 MassActionType Y MassActionType Enum 1 Specifies the type of action requested.

Valid values: 3 – Cancel orders

1374 MassActionScope Y MassActionScope Enum 1

Specifies the scope of the action. All Day & MOC orders will be cancelled. GTC, GTD & MOA orders will not be cancelled.

Valid values: 6 – All Orders for a Trading Session.

1375 MassActionResponse Y MassActionResponse

Enum 1

Specifies the action taken by matching engine when it receives the Order Mass Action Request.

Valid values: 0 – Rejected 1 – Accepted

1376 MassActionRejectReason Y MassActionRejectReason

Enum 1

Reason Order Mass Action Request was rejected

Valid values: 0 - Mass Action Not Supported 8 - Invalid or Unknown Market Segment 99 - Other

378 ExecRestatementReason Y ExecRestatementReason

Enum 1

Used to communicate event type which triggers the Order Mass Action Request.

Valid values: 100-Cancel on Connection Loss 101-Cancel on Logout 102 - Cancel on Disconnect and Logout 202 - Order Mass

Page 85: ENTRYPOINT: SBE MESSAGE SPEC · EntryPoint Message Specification SBE Version 4.1 Change Log Date Version Description Author November 29, 2019 1.0 - Initial version2.1 e 2.11 AYSF,

© B3 85

EntryPoint Message Specification SBE Version 4.1

Action From Client Request

60 TransactTime Y UTCTimestampNanos 8 Time of request acknowledge; expressed in UTC.

58 Text N Variable Length Data Up to 250

Message to explain reason for reject