Integration

Bybit

Trade Bybit with NautilusTrader

Stream Bybit market data and execute spot, linear, inverse, and options markets through an adapter written in Rust, with HMAC-signed REST and WebSocket access, unified-account margin modes, and full order and position reconciliation.

Centralized crypto exchange

Spot, linear, inverse, options

Data and execution

Written in Rust 🦀

Founded in 2018, Bybit is one of the largest cryptocurrency exchanges by daily trading volume and open interest across crypto assets and derivative products. Its Unified Trading Account trades spot pairs, USDT and USDC-margined linear contracts, coin-margined inverse contracts, and European options on a single margin system, reached over the v5 REST and WebSocket APIs.

NautilusTrader integrates with Bybit through nautilus-bybit, a platform adapter written in Rust with Python bindings, providing both data and execution clients across all four product types. It streams order books, quotes, trades, bars, and mark, index, funding, and option greek updates, and submits orders signed with HMAC-SHA256 in the Rust core rather than calling an external Bybit SDK. Order, fill, position, and balance updates drive reconciliation, with liquidation and auto-deleveraging fills flagged as exchange-generated.

Products

Spot, linear and inverse contracts, and options, traded through one adapter and signing path.

Spot

Native spot markets

Spot pairs traded from cash balances, or on margin with borrowing enabled per order and outstanding borrows repaid automatically once a position is closed.

Market and limit orders

Quote-quantity market orders

Opt-in margin with auto-repay

BTCUSDT-SPOT.BYBIT

Linear

USDT and USDC margined

USDT and USDC-margined perpetual swaps and delivery-settled futures, with mark, index, and funding streamed from the ticker channel.

Perpetual and delivery contracts

One-way and hedge position modes

Stop, trigger, and trailing orders

BTCUSDT-LINEAR.BYBIT

Inverse

Coin-margined

Coin-margined perpetual swaps and delivery futures settled in the base asset, sharing the order, position, and trigger path with linear contracts.

Inverse perpetual and delivery

Per-symbol leverage and margin mode

Liquidation and ADL handling

BTCUSD-INVERSE.BYBIT

Options

European, USDT-settled

European-style options settled in USDT, with greeks and implied volatility streamed from the venue and option chains built locally from per-contract data.

Greeks and IV from the venue

Order by implied volatility

Market maker protection

BTC-25DEC26-120000-C-USDT-OPTION.BYBIT

Markets

Crypto majors across spot and linear contracts, inverse coin-margined contracts on the largest assets, and options on the major underlyings.

Crypto majors · Spot and linear

BTC

Bitcoin

ETH

Ethereum

SOL

Solana

XRP

XRP

BNB

BNB

DOGE

Dogecoin

ADA

Cardano

AVAX

Avalanche

LINK

Chainlink

TRX

TRON

SUI

Sui

DOT

Polkadot

LTC

Litecoin

NEAR

Near

APT

Aptos

ARB

Arbitrum

+ More

Each major lists spot alongside linear perpetuals, e.g. BTCUSDT-SPOT (spot) and BTCUSDT-LINEAR (linear perpetual). Delivery-settled futures date the symbol and keep the -LINEAR suffix, e.g. BTCUSDT-25DEC26-LINEAR.

Inverse · Coin-margined contracts

BTC

Bitcoin

ETH

Ethereum

SOL

Solana

XRP

XRP

DOGE

Dogecoin

ADA

Cardano

LTC

Litecoin

Perpetuals and delivery futures settled in the base asset, e.g. BTCUSD-INVERSE (inverse perpetual) and BTCUSDZ26-INVERSE (December 2026 delivery).

Options · Major underlyings

BTC

Bitcoin

ETH

Ethereum

SOL

Solana

European calls and puts across strikes and expiries, settled in USDT, e.g. BTC-25DEC26-120000-C-USDT-OPTION (a December 2026 120,000-strike call).

These are a representative sample. Bybit lists hundreds more markets across spot, linear, and inverse contracts, and adds new ones continuously; the adapter discovers the live instrument set for each configured product type at startup and maps every Bybit symbol to a NautilusTrader instrument.

Data feeds

Each Bybit feed maps to a native NautilusTrader data type across the public streams.

Data feed

NautilusTrader type

Notes

Order book (L2)

OrderBookDeltas

Snapshot then deltas from the orderbook stream; depth defaults to 50 levels.

Quotes

QuoteTick

Best bid and offer from the ticker channel; spot quotes come from a depth-1 order book subscription.

Trades

TradeTick

Live public trades over WebSocket, with recent history over REST.

Bars

Bar

Kline candles across intervals with REST history; not available for options.

Mark price

MarkPriceUpdate

Mark price for linear, inverse, and option contracts.

Index price

IndexPriceUpdate

Underlying index price from the ticker channel.

Funding rate

FundingRateUpdate

Perpetual funding from the linear and inverse ticker, carrying the venue funding interval.

Option greeks

OptionGreeks

Delta, gamma, vega, and theta, plus bid, ask, and mark implied volatility.

Instruments

CurrencyPairCryptoPerpetualCryptoFutureCryptoOption

Spot pairs, perpetuals, dated futures, and options fetched per configured product type.

Status

InstrumentStatus

Trading-status transitions per instrument.

Order types

Order types supported per product type. Bybit's trigger types map to the full range of Nautilus conditional orders on spot and derivatives; options trade market and limit only.

Type

Spot

Linear

Inverse

Options

Notes

MARKET

Maps to a Bybit market order; quote-quantity market orders on spot only.

LIMIT

Standard limit order across all four product types.

STOP_MARKET

Conditional trigger to a market order; not supported for options.

STOP_LIMIT

Conditional trigger to a limit order; not supported for options.

MARKET_IF_TOUCHED

Take-profit trigger to a market order; not supported for options.

LIMIT_IF_TOUCHED

Take-profit trigger to a limit order; not supported for options.

TRAILING_STOP_MARKET

Attaches to a netted position, so it carries no client order ID on the venue.

Time in force

GTC, IOC, and FOK apply across every product type. Bybit has no native good-till-date, so GTD orders are remapped to GTC when use_gtd is enabled.

Type

Spot

Linear

Inverse

Options

Notes

GTC

Good-till-canceled; the default for resting orders.

GTD

No native good-till-date; use_gtd remaps GTD orders to GTC.

IOC

Immediate-or-cancel.

FOK

Fill-or-kill.

Data and execution clients

Data client

Public REST and WebSocket streams

Feeds: order books, quotes, trades, bars, and mark, index, funding, and option greek updates.

Products: one client covers spot, linear, inverse, and options, opening a public stream per configured product type.

Resilience: reconnecting WebSocket with snapshot-and-buffer order book recovery.

Execution client

Signed orders over the WebSocket trade API and REST

Orders: entry, in-place amend, conditional triggers, native TP/SL, plus batch submit, modify, and cancel.

Account: order, fill, position, and balance updates drive reconciliation, with liquidation and ADL fills flagged as exchange-generated.

Derivatives: one-way or hedge positions with per-symbol leverage and cross, isolated, or portfolio margin.

How the integration works

Adapter crate

nautilus-bybit, a Rust core with Python bindings.

Data client

BybitDataClient streams instruments, books, quotes, trades, bars, and option greeks.

Execution client

BybitExecutionClient handles signed orders, account queries, and reconciliation.

Signing

HMAC-SHA256 over the v5 REST and WebSocket APIs, handled in the Rust core.

Product types

Spot, linear, inverse, and option, selected by BybitProductType.

Environments

Mainnet, demo, and testnet, selected by BybitEnvironment.

Authentication

API key and secret.

Considerations

•

Public market data needs no credentials; execution needs an API key and secret.

•

Instrument IDs carry a product suffix: BTCUSDT-SPOT, BTCUSDT-LINEAR, BTCUSD-INVERSE, and BTC-25DEC26-120000-C-USDT-OPTION.

•

Load instruments before subscribing or submitting orders; subscriptions do not request missing instrument definitions.

•

Time in force is GTC, IOC, or FOK; Bybit has no native GTD, so use_gtd remaps GTD orders to GTC.

•

Hedge mode applies to USDT linear perpetuals only; every other product type runs one-way.

•

Spot positions are not tracked by the venue, so reduce-only and trailing stop orders are not supported there.

•

Options trade one-way only, reject conditional order types, and have no kline stream, so bars are unavailable.

•

Spot margin borrows repay automatically after a BUY fills, except during Bybit's 04:00-05:30 UTC blackout window.

•

Demo trading routes orders over REST because Bybit does not offer the WebSocket trade API there.

•

Orders placed over the WebSocket trade API carry the NautilusTrader broker ID in the Referer field, omitted only for post-only orders on market-maker accounts so venue rebates are preserved.

Integration guide

Read the full integration guide

The guide covers installation, account setup, configuration, symbology, order handling, environments, and worked examples for trading Bybit.

footer-logo

© 2026 Nautech Systems Pty Ltd. All rights reserved.

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.