Skip to main content

Technical Connectivity and Order Management

Technical Connectivity

The following details will be provided during technical onboarding per test and production technical connection to be setup:

  • FIX API URL and port number
  • SenderCompId

The FIX password will be setup by the Customer during the technical onboarding process.

BPX supports a TCP peer-to-peer connection type with TLS 1.3. For connection availability please see the BPX trading services documentation. The TargetCompID should be set to “BPXXTGW” as the overall BPX Operating MIC.

BPX supports the session management and test requests shared in Table 1 below.

Table 1 - Supported Session Management Message Types

Message TypeDescriptionInitiator
Logon (A)Session establishmentBoth
Logout (5)Session terminationBoth
Heartbeat (0)Session keep-aliveBoth
Test Request (1)Check counterparty connectivityBoth
Resend Request (2)Gap recoveryBoth
Sequence Reset (4)Sequence number managementBoth

The BPX MTF and Customer parties for each connection will follow standard session management FIX protocols for both regular operating hours and failure recovery. This includes maintaining in and outbound sequence numbers by both the BPX MTF and Customer per configured connection. The sequence numbers should be reset to 1 for every daily start of technical session. The start of technical session times are shared in the Trading Services Documentation.

Logon and Logout

Customers initiate the Logon message daily using the provided SenderCompID. The BPX MTF initiates a Logon message once the Logon has been validated. The BPX MTF initiated Logon message will either confirm successful validation or include a reject message in the Text(58) field.

Customers are also expected to initiate the Logout message for terminating a FIX connection either daily or when required to indicate close of a technical connection. The BPX MTF will respond by initiating a Logout response and the Customer can then terminate the connection. The Customer can initiate a Test Request to receive a Heartbeat response message initiated by the BPX MTF before starting the Logout process. However, this is not a mandatory part of the Logout process.

Heartbeats

Heartbeat messages will be sent by the BPX MTF if another message is initiated within the agreed heartbeat interval. It is expected the Customer connection initiates a Heartbeat messages following the same logic. The interval period can be set by using the HeartBtInt(108) field within the Logon message. This period should be within the range of 15 to 60 seconds. Any requested heartbeat outside of this range will result in a failed logon validation.

If the BPX MTF does not receive a Heartbeat message within the agreed interval period then it will initiate a Test Request message. If the Customer does not respond with a Heartbeat and the TestReqID(112) field corresponding to the Test Request message ID within the agreed heartbeat interval then the BPX MTF will initiate a Logout message and consider the connection terminated.

Test Requests

The Customer can initiate a Test Request message to check the health of the FIX connection that the BPX MTF will respond to by initiating a Heartbeat message. The response Heartbeat message will include the TestReqID(112) field corresponding to the Test Request message ID specified by the Customer.

Sequence Management

Customers should initiate the first Logon message for each daily session start with sequence number of 1. If this is not done, then the BPX MTF will fail session initiation validation and send the relevant reject message in the response Logon message. For this or other Logon validation failures the BPX MTF does not increment the incoming sequence for the corresponding SenderCompID. Therefore, the next Customer initiated Logon message can use the same sequence number as the previous Logon message. Once the BPX MTF responds with a validation successful Logon message then the Customer is expected to increment sequence numbers from then onwards.

If the Customer sends a message with a sequence number that is less than the inbound sequence number linked to the SenderCompID at the BPX MTF side and the PossDupFlag(43) is not set to “Y” then the BPX MTF will send a Logout message. The Logout message will contain the reason and next expected sequence number in the Text(58) field.

In the case of a failure recovery situation, the Customer or BPX MTF can initiate the Resend Request message for gap recovery. The recipient of the request will then resend the relevant messages with PossDupFlag(43) set to “Y” and use the Sequence Reset message in Gap Fill mode to skip relevant messages. For example, when skipping consecutive Heartbeat messages or expired orders. During this process, the MsgSeqNum(34) within the gap recovery messages will be ignored by the initiator of the Resend Request message.

Order Entry and Trade Confirmations

The BPX MTF FIX gateway supports the message types shared in Table 2 below for Customer initiated order entry and management or BPX MTF initiated trade updates or order cancellations.

Table 2 - Support Order Entry or Management and Trade Confirmation Message Types

Message TypeDescriptionInitiator
New Order - Single (D)Submit a new orderCustomer
Order Cancel Request (F)Cancel an existing orderCustomer
Order Cancel/Replace Request (G)Modify an existing orderCustomer
Execution Report (8)Execution notificationBPX MTF
Order Cancel Reject (9)Rejection of cancel requestBPX MTF

Please see the Trading Services Description for supported order types, time qualifiers and expected behaviour of the central limit order book (CLOB) logic that the BPX MTF either supports or follows respectively.

Order and Trade Identifiers

The BPX MTF follows FIX protocols for order and trade identifiers. As a summary, if the below logic is not followed when a Customer uses an order related identifier then the BPX MTF will send a reject Execution Report with the relevant error message:

  • ClOrdID(11): Unique order identifier across all messages linked to the SenderCompID across sessions.
  • OrigClOrdID(41): Valid original client Order ID being modified or cancelled that is not fully filled or cancelled at point of BPX MTF validation.
  • OrderID(37): Valid BPX MTF provided unique Order ID.

Order Capacity Identifiers

The OrderCapacity(528) field is required for all New Order – Single messages. Please see the BPX Trading Services Description for the allowed order capacities. Table 3 below shares a mapping between the allowed order capacities and FIX values.

Table 3 - Supported Order Capacity to FIX Value Mapping

ValueFIX DescriptionTrading Services Description
AAgencyAOTC
PPrincipalDEAL
RRiskless PrincipalMTCH

Customers using multiple capacities must implement proper compliance controls on their side. The BPX MTF order entry validations only check the order capacity is within the above accepted list of values.

Pre-Trade Controls

Please see the BPX Trading Services Description for the full details on the pre-trade controls the BPX MTF has in place. As a summary, order entry or amend validation will include but is not limited to:

  • Maximum order quantity
  • Maximum order value
  • Price collar checks against last traded or reference prices

If a validation fails then the BPX MTF will initiate a reject Execution Report with the relevant error message in the Test(58) field.

Trading Session Statuses

The BPX MTF can send Trading Session Status messages to share updates related to the status of a market. Table 4 defines the supported status changes that can be shared as part of a Trading Session Change message.

Table 4 - Support Trading Session Status Values

ValueShort DescriptionComments
1HaltedMarket is halted intraday.
2OpenMarket is open at start of day session or re-opened intraday after a halt.
3ClosedMarket is closed end of day session.

Please see the BPX Trading Services Description documentation for the details on the standard operating hours of the BPX MTF markets.