NautilusTrader
Integrations

Integrations

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

The following integrations are available or planned:

NameIDTypeStatusDocs
AX ExchangeAXDerivatives ExchangestatusGuide
BetfairBETFAIRSports Betting ExchangestatusGuide
BinanceBINANCECrypto Exchange (CEX)statusGuide
CoinAPICOINAPIData ProviderstatusGuide
CoinbaseCOINBASECrypto Exchange (CEX)statusGuide
BlockchainBLOCKCHAINDeFi Data ProviderstatusGuide
BybitBYBITCrypto Exchange (CEX)statusGuide
DatabentoDATABENTOData ProviderstatusGuide
DeribitDERIBITCrypto Exchange (CEX)statusGuide
DeriveDERIVECrypto Exchange (DEX)statusGuide
dYdXDYDXCrypto Exchange (DEX)statusGuide
FinFeedFINFEEDData Providerstatus-
HyperliquidHYPERLIQUIDCrypto Exchange (DEX)statusGuide
Interactive BrokersINTERACTIVE_BROKERSBrokerage (multi-venue)statusGuide
KalshiKALSHIPrediction Market (CEX)status-
KrakenKRAKENCrypto Exchange (CEX)statusGuide
LighterLIGHTERCrypto Exchange (DEX)statusGuide
Lighter on RobinhoodLIGHTER_ROBINHOODCrypto Exchange (DEX)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).

For Lighter on Robinhood, LIGHTER_ROBINHOOD is the venue and explicit client ID to register. The shared Lighter factory keeps LIGHTER as its compatibility default.

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: Stable feature set and API. Developers and users have tested the integration to a reasonable level, but some bugs can remain.

Implementation goals

NautilusTrader aims to provide a unified trading system for a variety of integrations. To support the widest range of trading strategies, development gives priority 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 support the functionality and return types that users can reasonably expect.
  • Actions unsupported by an exchange or NautilusTrader will be logged as a warning or error when invoked.

Trace logging and credentials

TRACE logs may include raw outbound WebSocket payloads, which can contain authentication data for some venues. Use TRACE only for local debugging, and redact TRACE logs before sharing them.

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