Coinbase International Trade Connector
Features
fix-coinbaseintxConnector KeyNotes
Message Recovery
Resend requests are not supported.
Each new connection starts a fresh session with sequence numbers reset to 1.
API Keys
Using the same API key across multiple connector instances causes Coinbase INTX to deliver events to all sessions.
Important: Each connector instance must use a distinct API key.
Parties
A repeating group of identifiers that indicates components of the user model (e.g. portfolio) affiliated with the message. Currently a max of 1 party is supported to specify the portfolio UUID. In the future additional parties may get added. Specify portfolio UUID or client UUID. If no party is specified the message applies to the default portfolio UUID affiliated with the API key.
Cancel On Disconnect
Three Cancel-On-Disconnect options are supported:
| Value | Description |
|---|---|
SESSION | Batch cancel all open orders placed during session. |
PROFILE | Batch cancel all open orders for the current profile. |
NONE | No cancel on disconnect. |
Note: The default value is SESSION — Coinbase INTX will cancel all open orders upon disconnect.
If discardOnReconnect = true (the default), all active orders are discarded upon reconnect.
Self Trade Prevention
| Tag 7928 | Settings | Description |
|---|---|---|
O | CANCEL_RESTING | Cancel resting order |
N | CANCEL_NEWEST | Cancel incoming order |
B | CANCEL_BOTH | Cancel both orders |
Documentation
https://docs.cdp.coinbase.com/international-exchange/fix-api/fix-api-overview
Symbology
Currency pairs in BASE-QUOTE format, e.g. BTC-USDC.
Instruments: https://api.international.coinbase.com/api/v1/instruments
Configuration
Connector settings
| Parameter | Default Value | Description |
|---|---|---|
| senderCompId | API Key | |
| secret | API Secret | |
| password | API Passphrase | |
| discardOnReconnect | true | Discard open order upon reconnect. |
| cancelOnDisconnect | SESSION | Cancel-On-Disconnect options. Valid values: PROFILE, SESSION, NONE |
| selfMatchPreventionInstruction | CANCEL_TAKING | Defines the strategy of dealing with matching orders if SMP is triggered. Valid values: CANCEL_RESTING, CANCEL_TAKING, CANCEL_BOTH. |
| parties | List of the parties involved into a trading request. | |
| parties[].partyId | The unique identifier representing the party entry or portfolio that this order originates from. When PartyRole (452) = 24, set PartyID (448) equal to the UUID of the desired portfolio for this order. | |
| parties[].partyRole | The Customer Account (24) value indicates the PartyID value contains the UUID of the portfolio affiliated with the message. The Client ID (3) value indicates the PartyID value contains the UUID of a client managed by the broker (only applies to brokers). |
Supported order attributes
| Key | Description |
|---|---|
| 18 | ExecInst(18). Pass 6 to send Post Only order. |
| 8000 | SelfMatchPreventionStrategy(8000). Defines the strategy of dealing with matching orders if SMP is triggered. Valid values: N - Cancel aggressing order, O - Cancel resting order, Q - Cancel both orders. |
Config sample
connectors {
COINBASEIN : ${template.connector.fix.coinbaseintx} {
settings {
host = "<STUNNEL_ACCEPT_HOST>" # usually localhost
port = <STUNNEL_ACCEPT_PORT>
senderCompId = "<API_KEY>"
targetCompId = "CBINTLOE"
secret = "<API_SECRET>"
password = "<API_PASSPHRASE>"
parties = [
{
partyId = "<PORTFOLIO_GUID>"
partyRole = 24
}
]
}
}
}