Coinbase Derivatives Exchange for brokers and market makers provides the following FIX categories:
CDE FIX API uses the FIX 4.4 protocol as a baseline.
All messages sent to/from the exchange must contain both the SenderCompID (49)
and TargetCompID (56)
fields in the Standard Header. The firm and the exchange agree on these values at the time of the firm onboarding.
A firm can have multiple connections, each with its own “CompID” (or company ID), e.g., SenderCompID
. A CompID is the concatenation of SubFirmID
(3 letters) and SessionID
(3 numbers).
Tag | Field | Firm to Exchange | Exchange to Firm |
---|---|---|---|
49 | SenderCompID | , e.g., EBR123 | Always COIND |
56 | TargetCompID | Always COIND | , e.g., EBR123 |
All application messages sent to/from the exchange must also contain both the SenderSubID (50)
and TargetSubID (57)
fields.
Tag | Field | Firm to Exchange | Exchange to Firm |
---|---|---|---|
50 | SenderSubID | ID of exchange environment: PROD or TEST | |
57 | TargetSubID | ID of destination exchange system | UUID of end trader submitting orders. |
All orders submitted to Coinbase Derivatives Exchange must have a unique ClOrdID (11)
in the message body. The exchange only enforces the uniqueness of the identifier among working orders (for example, GTC and non-triggered stops). Non-unique IDs can cause issues with reporting, clearing, and support.
Self-match prevention functionality helps market participants prevent self-trading so that orders for the same account, firm, or group of accounts do not match with each other.
Self-Match Prevention is optional and controlled with a pair of FIX tags on incoming orders:
SelfMatchPreventionID (7928): Orders from the same executing firm with the same SelfMatchPreventionID will not match. Required length of the ID is 8 Digits.
SelfMatchPreventionStrategy (8000): Defines the strategy of dealing with matching orders if self-match prevention is triggered. The exchange can either cancel the aggressor order, the resting order, or both. The exchange uses the strategy from the aggressor order to deal with self-matched orders.
Within a session, all FIX messages are identified by unique integer sequence numbers and are processed in that order. When an incoming sequence number does not match the expected one, the session must be recovered:
PossDupFlag
≠ Y
, it is considered a fatal error, and the connection is dropped by the server.The exchange resets the sequences weekly. Reset schedule is configured during initial setup. Resets may also be initiated by a firm sending a Logon message with ResetSeqNumFlag=Y
.
The Coinbase Derivatives Exchange FIX Order Management API does not distribute unsolicited reports about trade busts and corrections. The firms are expected to use the FIX Drop Copy connections if they need to receive these messages.
During initial setup, a connection may be configured to distribute Done for Day execution reports for all the GTC/GTD orders that remain open after the trading day is closed. It is also possible to configure the API to distribute the Expired execution reports for the Day orders that have expired.