Skip to main content

Coinbase International Trade Connector

Features

fix-coinbaseintxConnector Key
Instruments
FXFUTURE
Request Types
SUBMITCANCELREPLACE
Order Types
MARKETLIMITSTOP_LIMIT
Time In Force
GTCIOCFOK
Order ID Mapper
SEQUENCE
Order Status Request
Cancel On Disconnect
Commission
Post Only
Fast Cancel
Fast Replace

Notes

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:

ValueDescription
SESSIONBatch cancel all open orders placed during session.
PROFILEBatch cancel all open orders for the current profile.
NONENo 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 7928SettingsDescription
OCANCEL_RESTINGCancel resting order
NCANCEL_NEWESTCancel incoming order
BCANCEL_BOTHCancel 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

ParameterDefault ValueDescription
senderCompIdAPI Key
secretAPI Secret
passwordAPI Passphrase
discardOnReconnecttrueDiscard open order upon reconnect.
cancelOnDisconnectSESSIONCancel-On-Disconnect options. Valid values: PROFILE, SESSION, NONE
selfMatchPreventionInstructionCANCEL_TAKINGDefines the strategy of dealing with matching orders if SMP is triggered. Valid values: CANCEL_RESTING, CANCEL_TAKING, CANCEL_BOTH.
partiesList of the parties involved into a trading request.
parties[].partyIdThe 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[].partyRoleThe 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

KeyDescription
18ExecInst(18). Pass 6 to send Post Only order.
8000SelfMatchPreventionStrategy(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
}
]
}
}
}