Skip to main content
Version: latest

Integrations

NautilusTrader is modularly designed to work with adapters, enabling connectivity to trading venues and data providers by converting their raw APIs into a unified interface.

The following integrations are currently supported:

NameIDTypeStatusDocs
BetfairBETFAIRSports Betting ExchangestatusGuide
BinanceBINANCECrypto Exchange (CEX)statusGuide
Binance USBINANCECrypto Exchange (CEX)statusGuide
Binance FuturesBINANCECrypto Exchange (CEX)statusGuide
BybitBYBITCrypto Exchange (CEX)statusGuide
DatabentoDATABENTOData ProviderstatusGuide
dYdXDYDXCrypto Exchange (DEX)statusGuide
Interactive BrokersINTERACTIVE_BROKERSBrokerage (multi-venue)statusGuide
OKXOKXCrypto Exchange (CEX)statusGuide
PolymarketPOLYMARKETPrediction Market (DEX)statusGuide
TardisTARDISData ProviderstatusGuide
  • ID: The default client ID for the integrations adapter clients.
  • Type: The type of integration (often the venue type).

Status

  • building: Under construction and likely not in a usable state.
  • beta: Completed to a minimally working state and in a 'beta' testing phase.
  • stable: Stabilized feature set and API, the integration has been tested by both developers and users to a reasonable level (some bugs may still remain).

Implementation goals

The primary goal of NautilusTrader is to provide a unified trading system for use with a variety of integrations. To support the widest range of trading strategies, priority will be given to 'standard' functionality:

  • Requesting historical market data
  • Streaming live market data
  • Reconciling execution state
  • Submitting standard order types with standard execution instructions
  • Modifying existing orders (if possible on an exchange)
  • Canceling orders

The implementation of each integration aims to meet the following criteria:

  • Low-level client components should match the exchange API as closely as possible.
  • The full range of an exchanges functionality (where applicable to NautilusTrader), should eventually be supported.
  • Exchange specific data types will be added to support the functionality and return types which are reasonably expected by a user.
  • Actions which are unsupported by either the exchange or NautilusTrader, will be explicitly logged as a warning or error when a user attempts to perform said action.

API unification

All integrations must be compatible with the NautilusTrader API at the system boundary, this means there is some normalization and standardization needed.

  • All symbols will match the raw/native/local symbol for the exchange, unless there are conflicts (such as Binance using the same symbol for both Spot and Perpetual Futures markets).
  • All timestamps will be either normalized to UNIX nanoseconds, or clearly marked as UNIX milliseconds by appending _ms to param and property names.