Coinbase Exchange Trade Connector
Features
fix-coinbasexConnector KeyNotes
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:
| Value | Description |
|---|---|
SESSION | Batch cancel all open orders placed during session. |
PROFILE | Batch 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 7928 | Settings | Description |
|---|---|---|
O | CANCEL_RESTING | Cancel resting order |
N | CANCEL_NEWEST | Cancel incoming order |
B | CANCEL_BOTH | Cancel 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
| 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 |
| selfMatchPreventionInstruction | CANCEL_TAKING | Defines the strategy of dealing with matching orders if SMP is triggered. Valid values: CANCEL_RESTING, CANCEL_TAKING, CANCEL_BOTH. |
Supported order attributes
| Key | Description |
|---|---|
| 18 | ExecInst(18). Pass 6 to send Post Only order. |
| 1109 | TriggerPriceDirection(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). |
| 7928 | SelfMatchPreventionStrategy(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>"
}
}
}