Skip to main content

Coinbase Exchange Trade Connector

Features

fix-coinbasexConnector Key
Instruments
FX
Request Types
SUBMITCANCELREPLACE
Order Types
MARKETLIMITSTOP_LIMIT
Time In Force
GTCIOCFOKGTD
Order ID Mapper
UUID
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.

Cancel On Disconnect

Two Cancel-On-Disconnect options are supported:

ValueDescription
SESSIONBatch cancel all open orders placed during session.
PROFILEBatch cancel all open orders for the current profile.

NB: The default value is SESSION — all active orders are cancelled upon disconnect.

Commission

Fees and AggressorIndicator are included in the Trade Report Event.

Self Trade Prevention

Tag 7928SettingsDescription
OCANCEL_RESTINGCancel resting order
NCANCEL_NEWESTCancel incoming order
BCANCEL_BOTHCancel both orders

Rate Limits and Maximums

The FIX 5 Order Entry API rate limits are:

  • 2 logons per second per API key
  • 100 requests per second

Maximums

  • Maximum connections per profile: 75 (see FIX Best Practices).
  • Maximum connections per user across all profiles: 175
  • Maximum API keys per session/connection: 1
  • Maximum profiles per user: 100
  • Maximum orders per batch message (new and cancelled): 15

Data Centers

Coinbase Exchange data centers are in the Amazon US East N.Virginia (us-east-1) region.

Documentation

https://docs.cdp.coinbase.com/exchange/fix-api/order-entry-messages/order-entry-messages5

Symbology

Currency pairs in BASE-QUOTE format, e.g. BTC-USD, ZEC-USDC.

Instruments: https://api.exchange.coinbase.com/products

Schedule

FIX5 Resets Saturdays at 1PM ET
FIX5 Order Entry and Market Data customers will be logged out every Saturday at 1PM ET (6PM UTC).

Changes are deployed every Monday and Thursday at or near 2PM EST (7PM UTC).
At that time, a logout message is sent from the server to indicate the session is ending.

Configuration

Connector settings

ParameterDefault ValueDescription
senderCompIdAPI Key
secretAPI Secret
passwordAPI Passphrase
discardOnReconnecttrueDiscard open order upon reconnect.
cancelOnDisconnectSESSIONCancel-On-Disconnect options. Valid values: PROFILE, SESSION
selfMatchPreventionInstructionCANCEL_TAKINGDefines the strategy of dealing with matching orders if SMP is triggered. Valid values: CANCEL_RESTING, CANCEL_TAKING, CANCEL_BOTH.

Supported order attributes

KeyDescription
18ExecInst(18). Pass 6 to send Post Only order.
1109TriggerPriceDirection(1109). Supported values: U - Trigger if market price goes UP to or through StopPx (default if StopPx is greater than current market price). D - Trigger if market price goes DOWN to or through StopPx (default if StopPx is less than current market price).
7928SelfMatchPreventionStrategy(7928). Defines the strategy of dealing with matching orders if SMP is triggered. Valid values: N - Cancel taker order, O - Cancel maker order, B - Cancel both.

Config sample

connectors {
COINBASEX : ${template.connector.fix.coinbasex} {
settings {
host = "<STUNNEL_ACCEPT_HOST>" # usually localhost
port = <STUNNEL_ACCEPT_PORT>

senderCompId = "<API_KEY>"
targetCompId = "Coinbase"

secret = "<API_SECRET>"
password = "<API_PASSPHRASE>"
}
}
}