Integration
Stream Binance market data and execute spot, USDT-margined, and coin-margined futures markets through an adapter available in Python and Rust, with Ed25519 or HMAC-signed REST and WebSocket access, one-way and hedge-mode positions, and full order and position reconciliation.
Centralized crypto exchange
Spot, USD-M and COIN-M futures
Data and execution
Written in Rust 🦀
Founded in 2017, Binance is one of the largest centralized cryptocurrency exchanges by daily trading volume and open interest across spot and derivative products. It lists thousands of spot pairs, USDT and BUSD-margined perpetual and delivery futures, and coin-margined contracts, reached over REST and WebSocket APIs with deep liquidity across crypto majors.
NautilusTrader provides the Binance integration in both Python and Rust. The Rust adapter, nautilus-binance, covers all three product types and adds first-class funding rates, instrument-status polling, SBE spot market data, and transparent Link and Trade order attribution. Both adapters stream order books, quotes, trades, bars, and mark, index, and funding updates, and submit orders signed with Ed25519 or HMAC-SHA256 keys. Order, fill, position, and balance updates drive reconciliation across one-way and hedge-mode futures accounts.
Spot, USDT-margined futures, and coin-margined futures, each traded through its own client and a shared signing path.
Spot
Thousands of pairs
Spot pairs across crypto majors and long-tail assets, including Binance US, over SBE or public JSON market data streams.
Market and limit orders
Quote-quantity market orders
Spot OCO and iceberg orders
BTCUSDT.BINANCE
USDT-margined futures
Linear perps and delivery
USDT and BUSD-margined linear perpetuals and dated delivery contracts, with mark, index, and funding streamed from the venue.
Perpetual and delivery contracts
One-way and hedge position modes
Stop, trigger, and trailing orders
BTCUSDT-PERP.BINANCE
Coin-margined futures
Inverse perps and delivery
Coin-margined inverse perpetuals and delivery contracts settled in the base asset, sharing the futures order and position path.
Inverse perpetual and delivery
Per-symbol leverage and margin type
Liquidation and ADL handling
BTCUSD_PERP.BINANCE
Crypto majors across spot and linear futures, with inverse coin-margined contracts on the largest assets.
Crypto majors · Thousands of markets
BTC
Bitcoin
ETH
Ethereum
SOL
Solana
XRP
XRP
BNB
BNB
DOGE
Dogecoin
ADA
Cardano
AVAX
Avalanche
LINK
Chainlink
TRX
TRON
TON
Toncoin
SUI
Sui
DOT
Polkadot
LTC
Litecoin
NEAR
Near
APT
Aptos
ARB
Arbitrum
+ More
Each major lists spot and USDT-margined futures, e.g. BTCUSDT (spot), BTCUSDT-PERP (linear perpetual), and BTCUSDT_251226 (dated future).
Coin-margined · Inverse contracts
BTC
Bitcoin
ETH
Ethereum
SOL
Solana
XRP
XRP
BNB
BNB
DOGE
Dogecoin
LINK
Chainlink
LTC
Litecoin
Inverse perpetuals and delivery contracts settled in the base asset, e.g. BTCUSD_PERP (inverse perpetual) and BTCUSD_251226 (delivery).
These are a representative sample. Binance lists thousands more markets across spot, USDT-margined futures, and coin-margined futures, and adds new ones continuously; the adapter discovers the live instrument set for each configured account type at startup and maps every Binance symbol to a NautilusTrader instrument.
Spot and futures products
Spot (including Binance US), USDT-margined futures, and coin-margined futures, each configured as its own data or execution client by account type.
Ed25519, HMAC, or RSA keys
Ed25519 (recommended) and HMAC-SHA256 sign both data and execution requests, with RSA on data clients, auto-detected from the secret format over the REST and WebSocket APIs.
Data and execution
One adapter covers both market data and order execution, with order, fill, position, and balance reconciliation.
Hedge and one-way modes
Futures accounts run in one-way or hedge mode, with long and short position IDs and per-symbol leverage and margin type.
Link and Trade attribution
Every order from the Rust adapter carries the NautilusTrader integration ID through Binance's Link and Trade program, encoded to fit the venue's client-ID limit.
Live, demo, and testnet
Select the environment with one config flag across live, demo, and legacy testnet, each with its own credentials and endpoints.
Each Binance feed maps to a native NautilusTrader data type across spot and futures streams.
Data feed
NautilusTrader type
Notes
Order book (L2)
OrderBookDeltasSnapshot then diff-depth deltas; SBE at 25ms on spot, unthrottled on futures.
Order book depth
OrderBookDepth10Top-of-book partial snapshots maintained from the venue depth stream.
Quotes
QuoteTickBest bid and offer from the bestBidAsk (SBE) or bookTicker stream.
Trades
TradeTickLive public trades over WebSocket, raw or aggregated; futures stream aggregated trades.
Bars
BarKline candles across intervals, with extra volume metrics on BinanceBar and REST history.
Mark price
MarkPriceUpdateFutures mark price from the mark-price stream.
Index price
IndexPriceUpdateFutures underlying index price.
Funding rate
FundingRateUpdateFirst-class perpetual funding in the Rust adapter, with REST history.
Instruments
CurrencyPairCryptoPerpetualCryptoFutureSpot pairs, perpetuals, and dated futures fetched per configured account type.
Status
InstrumentStatusTrading-status transitions from periodic exchangeInfo polling in the Rust data client.
Order types supported per product group. Binance expresses stops and triggers as algo orders on futures; spot trades market, limit, and take-profit-limit.
Type
Spot
USD-M futures
COIN-M futures
Notes
Spot
USD-M futures
COIN-M futures
Maps to a Binance market order; quote-quantity market orders on spot only.
Spot
USD-M futures
COIN-M futures
Stop-limit on spot and futures; futures route as an algo order.
Spot
USD-M futures
COIN-M futures
Take-profit trigger to a market order; futures only.
Spot
USD-M futures
COIN-M futures
Take-profit trigger to a limit order on spot and futures.
Spot
USD-M futures
COIN-M futures
Callback-rate trailing stop using an activation price; futures only.
All four time-in-force options apply across products. GTD is native on futures; on spot it is converted to GTC with a warning.
Type
Spot
USD-M futures
COIN-M futures
Notes
Spot
USD-M futures
COIN-M futures
Good-till-date; native on futures, converted to GTC with a warning on spot.
The execution instructions and account operations traders rely on.
Post-only
Maker-only limit orders using LIMIT_MAKER on spot and the GTX time-in-force on futures, rejected if they would cross the book.
Reduce-only and close-position
Position-reducing flag on futures orders, plus server-resolved close-position on stop triggers; disabled in hedge mode.
Order modification
Amend price and quantity on resting limit orders in place, without a cancel-and-replace round trip.
Iceberg orders
Large orders split into visible portions on spot and futures, hiding the resting remainder.
Spot OCO
One-cancels-other pairs submitted through the spot orderList/oco endpoint as a linked order list.
Price match (BBO)
Futures limit orders delegate price selection to the exchange with OPPONENT and QUEUE price-match modes.
Data client
Public REST and WebSocket streams
Feeds: order books, depth, quotes, trades, bars, and mark, index, and funding for futures.
Spot transport: SBE streams signed with Ed25519, or public JSON streams with no credentials, selected per client.
Resilience: reconnecting WebSocket with snapshot-and-buffer order book recovery.
Execution client
Signed orders over the WebSocket trading API and REST
Orders: entry, in-place amend, algo orders for stops and triggers, plus iceberg and price-match instructions.
Account: order, fill, position, and balance updates drive reconciliation, including liquidation and ADL events.
Futures: one-way or hedge positions with per-symbol leverage and margin type.
Adapter
Data clients
BinanceSpotDataClient and BinanceFuturesDataClient stream instruments, books, quotes, trades, and bars.Execution clients
BinanceSpotExecutionClient and BinanceFuturesExecutionClient handle signed orders, account queries, and reconciliation.Signing
Product types
BinanceAccountType.Environments
BinanceEnvironment.Authentication
Considerations
Public JSON market data needs no credentials; SBE spot streams and all execution need API keys.
Each client instance handles one product type; run spot and futures as separate clients with distinct IDs in the same node.
Margin accounts (cross and isolated) are not implemented; full margin support is planned for v2.
Conditional orders (stop, MIT, LIT, trailing) route through Binance algo endpoints on futures, not spot.
Perpetual symbols take a -PERP suffix (BTCUSDT-PERP); dated futures append the expiry (BTCUSDT_251226); coin-margined contracts keep the native BTCUSD_PERP form.
Time in force is GTC, GTD, IOC, or FOK; GTD converts to GTC on spot with a warning.
Ed25519 keys are recommended and will become the only supported type in a future version; HMAC and RSA are deprecated.
Every order from the Rust adapter carries the NautilusTrader integration ID through Binance's Link and Trade program for transparent attribution.
Starting points for the Binance adapter.
Integration guide
Read the full integration guide
The guide covers installation, account setup, key types, configuration, order handling, environments, and worked examples for trading Binance.
NautilusTraderâ„¢ is a product of Nautech Systems Pty Ltd (ABN 88 609 589 237). Nautech Systems provides algorithmic trading software only. We do not operate as a broker, dealer, or exchange, nor offer financial advisory services. Users are solely responsible for compliance with applicable laws and regulations. Subject to non-excludable consumer guarantees, we make no warranties and accept no liability for trading losses or regulatory violations arising from use of the software. Read full disclaimer.
We use essential cookies and, with your consent, optional analytics cookies, as described in our Privacy Policy. Manage your Cookie Preferences.