Expand description
NautilusTrader adapter for the CoinAPI Market Data API, provided by API Bricks.
This crate provides authenticated REST and WebSocket access, native venue instrument definitions, live market data, historical requests, and loaders for downloaded flat files. Order execution and account management are unsupported.
http::client::CoinApiHttpClient returns typed provider results, and
websocket::client::CoinApiWebSocketClient exposes raw market-data streams.
data::CoinApiDataClient uses explicit instrument selections and shares a finite lifetime REST
credit allowance across all REST requests, including retries. Metadata and current book snapshots
cost one credit per attempt. Historical requests can return truncated results when that allowance
runs out. CoinAPI and native adapters must load disjoint instrument sets within a node; separate
client IDs do not isolate definitions or feeds.
L2 market-by-price (MBP) and L3 market-by-order (MBO) deltas include snapshot gating and sequence gap recovery. Every book subscription shares one WebSocket book channel; L3 requires individual order IDs. Bars publish when a later period arrives, and reconnects discard retained periods to avoid incomplete bars. Historical book snapshots are unsupported.
loaders::CoinApiDataLoader loads local exports and historical REST data with retained metadata.
Optional Python bindings expose provider identity, configuration, factories, and the standalone data loader.
The official CoinAPI API reference can be found at https://www.coinapi.io/products/market-data-api/docs?ref=nautilus.
§NautilusTrader
NautilusTrader is an open-source, production-grade, Rust-native trading engine with a deterministic, event-driven architecture for multi-asset, multi-venue systems.
The system spans research, simulation, and live execution, providing research-to-live semantic parity.
§Feature Flags
Feature flags control code inclusion for Rust builds and Python bindings:
examples: Enables the crate’s example binaries.extension-module: Builds as a Python extension module.fuzz: Enables libFuzzer integration for fuzz targets.high-precision(default): Enables high-precision mode to use 128-bit value types.python: Enables Python bindings for identity, configuration, factories, and the standalone data loader through PyO3.simulation: Routes HTTP and WebSocket through deterministic transport when built withcfg(madsim).
§Integrator Attribution
REST requests and WebSocket handshakes include X-Referrer: nautilus for API Bricks usage attribution.
The fixed header contains no credential or account data.
See attribution details.
§Documentation
Modules§
- book
- Order book synchronization and recovery for CoinAPI
bookandbook_l3streams. - common
- Shared definitions for the CoinAPI market data adapter.
- config
- Configuration for the CoinAPI data client.
- data
- Live CoinAPI data client for instruments, order books, quotes, trades, OHLCV bars, and historical requests.
- factories
- Factory for creating CoinAPI data clients.
- http
- Typed CoinAPI REST requests, responses, and transport.
- loaders
- Standalone ingestion with reusable instrument definitions and provider mappings.
- websocket
- Typed CoinAPI WebSocket V1 frames, subscriptions, connection lifecycle, and domain conversion.