NautilusTrader
Integrations

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
AX ExchangeAXPerpetuals ExchangestatusGuide
BetfairBETFAIRSports Betting ExchangestatusGuide
BinanceBINANCECrypto Exchange (CEX)statusGuide
CoinbaseCOINBASECrypto Exchange (CEX)statusGuide
BitMEXBITMEXCrypto Exchange (CEX)statusGuide
BybitBYBITCrypto Exchange (CEX)statusGuide
DatabentoDATABENTOData ProviderstatusGuide
DeribitDERIBITCrypto Exchange (CEX)statusGuide
dYdXDYDXCrypto Exchange (DEX)statusGuide
HyperliquidHYPERLIQUIDCrypto Exchange (DEX)statusGuide
Interactive BrokersINTERACTIVE_BROKERSBrokerage (multi‑venue)statusGuide
KrakenKRAKENCrypto Exchange (CEX)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

  • planned: Planned for future development.
  • 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.

On this page