Skip to main content
Version: latest

Integrations

NautilusTrader uses modular adapters to connect to trading venues and data providers, translating raw APIs into a unified interface and normalized domain model.

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
Coinbase InternationalCOINBASE_INTXCrypto Exchange (CEX)statusGuide
DatabentoDATABENTOData ProviderstatusGuide
dYdXDYDXCrypto Exchange (DEX)statusGuide
Interactive BrokersINTERACTIVE_BROKERSBrokerage (multi-venue)statusGuide
OKXOKXCrypto Exchange (CEX)statusGuide
PolymarketPOLYMARKETPrediction Market (DEX)statusGuide
TardisTARDISCrypto Data 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 exchange's 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 unsupported by an exchange or NautilusTrader will be logged as a warning or error when invoked.

API unification

All integrations must conform to NautilusTrader’s system API, requiring normalization and standardization:

  • Symbols should use the venue’s native symbol format unless disambiguation is required (e.g., Binance Spot vs. Binance Futures).
  • Timestamps must use UNIX epoch nanoseconds. If milliseconds are used, field/property names should explicitly end with _ms.