roq-hitbtc#

Important

This gateway needs sponsorship to complete certain features.

Purpose#

  • Maintain network connectivity with the HitBTC exchange

  • Route exchange updates to connected clients

  • Route client requests to the relevant exchange accounts

  • Stream all messages to an event-log

Overview#

Products

Spot

Futures

Options

Market Data

Reference Data

Market Status

Top of Book

Market by Price (L2)

Market by Order (L3)

Trade Summary

Statistics

Order Management

Create

Modify

Cancel

Cancel All

Auto Cancellation

Account Management

Positions

Funds

  • Data center located in LIM-1, OVH, Germany, Limburg

Conda#

$ mamba install \
  --channel https://roq-trading.com/conda/stable \
  roq-hitbtc
$ cp $CONDA_PREFIX/share/roq-hitbtc/config.toml $CONFIG_FILE_PATH

# Then modify $CONFIG_FILE_PATH to match your specific configuration
$ roq-hitbtc \
      --name "hitbtc" \
      --config_file "$CONFIG_FILE_PATH" \
      --client_listen_address "$UNIX_SOCKET_PATH" \
      --service_listen_address "$TCP_LISTEN_PORT" \
      --flagfile "$FLAG_FILE"

Config#

Flags#

$ roq-hitbtc --help
--exchange (hitbtc)

exchange identifier (string)

--encode_buffer_size (1048576)

encode buffer size

--decode_buffer_size (10485760)

decode buffer size

--mbp_allow_price_inversion (false)

allow price inversion?

--ws_uri (wss://api.hitbtc.com/api/2/ws)

WebSocket end-point (URI)

--ws_ping_freq (5s)

ping frequency

--ws_request_timeout (15s)

request timeout

--ws_max_subscriptions_per_stream (256)

max subscriptions per connection (count)

Environments#

$ $CONDA_PREFIX/share/roq-hitbtc/flags
# flagfile for the roq-hitbtc gateway

--rest_uri=https://api.hitbtc.com
--ws_uri=wss://api.hitbtc.com/api/2/ws
# flagfile for the roq-hitbtc gateway

--rest_uri=https://api.demo.hitbtc.com
--ws_uri=wss://api.demo.hitbtc.com/api/2/ws

Market Data#

Event

Stream

Messages

Comments

roq::ReferenceData

MarketData

getSymbols

Polling

roq::MarketStatus

Unavailable

roq::TopOfBook

MarketData

subscribeTicker, ticker

roq::MarketByPriceUpdate

MarketData

subscribeOrderbook, snapshotOrderbook, updateOrderbook

roq::MarketByOrderUpdate

Unavailable

roq::TradeSummary

MarketData

subscribeTrades, snapshotTrades, updateTrades

roq::StatisticsUpdate

MarketData

subscribeTicker, ticker

Statistics#

Order Management#

Event

Stream

Messages

Comments

roq::OrderUpdate

DropCopy

activeOrders, report

roq::TradeUpdate

DropCopy

report

Event

Stream

Messages

Comments

roq::OrderUpdate

Rest

GET /api/2/history/order

roq::TradeUpdate

Rest

GET /api/2/history/trades

Event

Stream

Messages

Comments

roq::CreateOrder

OrderEntry

newOrder

roq::ModifyOrder

OrderEntry

cancelReplaceOrder

roq::CancelOrder

OrderEntry

cancelOrder

roq::CancelAllOrders

Unavailable

Event

Stream

Messages

Comments

roq::OrderAck

OrderEntry

result, error

Order Types#

TBD

Time in Force#

TBD

Position Effect#

TBD

Execution Instructions#

TBD

Account Management#

Event

Stream

Messages

Comments

roq::PositionUpdate

roq::FundsUpdate

Event

Stream

Messages

Comments

roq::PositionUpdate

Unavailable

roq::FundsUpdate

OrderEntry

getTradingBalance

Polling

Streams#

Type

Comments

WebSocket

Primary purpose

  • support order management

Each connection

  • supports a single account

Type

Comments

WebSocket

Primary purpose

  • support account management

Each connection

  • supports a single account

Type

Comments

WebSocket

Primary purpose

  • live market data

Each connection

  • supports a slice of the symbols

Type

Comments

REST

Primary purpose

  • download order history

Each connection

  • supports a single account

Constraints#

  • Rate-limit usage is not communicated by the exchange

Comments#

The advertised FIX API does not appear to actually exist. This is the response we received from support: “At the moment, we do not grant FIX access to users”.