roq-coinbase-pro#
Links#
Purpose#
Maintain network connectivity with the Coinbase PRO exchange
Route exchange updates to connected clients
Route client requests to the relevant exchange accounts
Stream all messages to an event-log
Overview#
Spot |
✓ |
Futures |
|
Options |
Reference Data |
✓ |
Market Status |
✓ |
Top of Book |
✓ |
Market by Price (L2) |
✓ |
Market by Order (L3) |
✓ |
Trade Summary |
✓ |
Statistics |
✓ |
Create |
✓ |
Modify |
|
Cancel |
✓ |
Cancel All |
✓ |
Auto Cancellation |
✓ |
Positions |
|
Funds |
✓ |
Conda#
$ mamba install \
--channel https://roq-trading.com/conda/stable \
roq-coinbase-pro
$ cp $CONDA_PREFIX/share/roq-coinbase-pro/config.toml $CONFIG_FILE_PATH
# Then modify $CONFIG_FILE_PATH to match your specific configuration
$ roq-coinbase-pro \
--name "coinbase-pro" \
--config_file "$CONFIG_FILE_PATH" \
--client_listen_address "$UNIX_SOCKET_PATH" \
--service_listen_address "$TCP_LISTEN_PORT" \
--flagfile "$FLAG_FILE"
Config#
Flags#
$ roq-coinbase-pro --help
|
The |
|
The |
|
Default is to not include the Status updates from the Web-Socket feed. These updates arrive periodically and contains a snapshot for all instruments. Parsing such updates has relatively expensive (due to the size of the message) and will therefore have a latency impact. You should enable this flag if you rely on accurate reference data updates and/or market status changes. |
|
Enables the Market by Order (L3) feed. |
Environments#
# flagfile
--fix_uri=tcp+ssl://fix.pro.coinbase.com:4198
--ws_uri=wss://ws-feed.pro.coinbase.com
--rest_uri=https://api.pro.coinbase.com
# flagfile
--fix_uri=tcp+ssl://fix-public.sandbox.pro.coinbase.com:4198
--ws_uri=wss://ws-feed-public.sandbox.pro.coinbase.com
--rest_uri=https://api-public.sandbox.pro.coinbase.com
Market Data#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Rest |
status |
||
Rest |
status |
||
MarketData |
ticker |
No quantity from exchange |
|
MarketData |
snapshot, l2update |
||
MarketData |
open, change, done |
||
MarketData |
match |
||
MarketData |
ticker |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Statistics#
Type |
Comments |
---|---|
|
|
|
|
|
Order Management#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
OrderEntry |
ExecutionReport (8) |
||
DropCopy |
Match |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Event |
Stream |
Messages |
Comments |
---|---|---|---|
OrderEntry |
NewOrderSingle (D) |
||
OrderEntry |
OrderCancelRequest (F) |
||
Not implemented |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
OrderEntry |
ExecutionReport (8), OrderCancelReject (9) |
Order Types#
Type |
Comments |
---|---|
|
Mapped to |
|
Mapped to |
|
Mapped to |
Time in Force#
Type |
Comments |
---|---|
|
Mapped to |
|
Mapped to |
|
Mapped to |
Note
A non-standard value of 'P'
(FIX) is used to indicate “Post-Only.
This value is derived from Execution Instruction (see below) and will override any other value
of Time in Force.
Position Effect#
Note
Not supported
Execution Instructions#
Type |
Comments |
---|---|
|
Mapped to the |
Account Management#
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Unavailable |
|||
Unavailable |
Event |
Stream |
Messages |
Comments |
---|---|---|---|
Unavailable |
|||
Rest |
accounts |
Streams#
Type |
Comments |
---|---|
FIX |
Primary purpose
Each connection
|
Type |
Comments |
---|---|
WebSocket |
Primary purpose
Each connection
|
Type |
Comments |
---|---|
WebSocket |
Primary purpose
Each connection
|
Type |
Comments |
---|---|
REST |
Primary purpose
|
Constraints#
Rate-limit usage is not communicated by the exchange
FIX OrderMassCancelRequest (q) is not supported and orders must therefore be canceled one by one
Comments#
WebSocket is through a third-party CDN (CloudFlare) with all the issues such a solution entails.
FIX support is minimal and only supporting very basic order management.
Fills are not available from the FIX connection and there is a probability Match messages are lost from WebSocket connection. YOU SHOULD NOT RELY ON TRADE UPDATES FOR YOUR POSITION KEEPING !!!
TradeUpdate
You should not rely on this feed for your position keeping.
FundsUpdate
Only downloaded immediately after connection has been established.