TraderSDKdocs

Reference

Exchanges#

Twenty adapters, each behind its own feature flag. Pass the lowercase name from the first column to create_trader.

ExchangeSpotPerpsFunding hist.OI hist.WS bookWS tradesWS tickerWS ordersPassphraseTestnet
binance Binance●●●●●●●●yes
bingx BingX●●●●●●●●yes
bitfinex Bitfinex●●??●●●●
bitget Bitget●●●●●●●●required
bitmart Bitmart●●??●●●●required
bybit Bybit●●●●●●●●yes
coinex CoinEx●●●●●●●●
deribit Deribit?●●●●●●●yes
gate Gate.io●●●●●●●●
htx HTX●●●●●●●●
hyperliquid Hyperliquid?●●●●●●●yes
kraken Kraken●●??●●●●yes
kucoin KuCoin●●??●●●●required
lbank LBank●●●●●●●●
mexc MEXC●●●●●●●●
okx OKX●●●●●●●●requiredyes
ourbit Ourbit?●––––––
phemex Phemex●●●●●●●●yes
weex WEEX?●??●●●●required
xt XT●●●●●●●●

● supported   ◐ emulated   – not supported   ? not determined

The matrix shows the adapter's own declaration for perpetual markets. ? means the adapter did not state a value. Call trader.capabilities() at runtime for the authoritative answer on your build.

Factory names#

bybit, bingx, binance, gate, okx, bitget, mexc, hyperliquid, kraken, kucoin, deribit, phemex, xt, htx, bitfinex, bitmart, coinex, lbank, weex, ourbit.

The name is lowercased for you but not trimmed. An unknown name, or an exchange whose feature is off, returns Unsupported exchange: <name>.

Credentials#

let creds = ExchangeCredentials::new("key", "secret")
    .with_passphrase("passphrase")   // only where required
    .with_testnet(true);             // only where a testnet exists
  • Passphrase required: OKX, Bitget, KuCoin, BitMart, WEEX. The factory passes it to those five and ignores it elsewhere.
  • Testnet available: Binance, Bybit, OKX, Kraken, Phemex, Deribit, BingX, Hyperliquid. Use it while you learn; see Dry run.

Python#

Only BingX and Bybit are exposed in the Python module today. See Python.

Fast entry per exchange#

How execute_fast_entry behaves differs a lot between adapters (TP/SL, leverage, request counts). The full table is in Fast entry.

Notes#

  • Symbols go in as BTCUSDT and are formatted per exchange (BTC-USDT, BTC_USDT, BTC-PERPETUAL and so on).
  • Rate limits are the exchange's. The adapters do not throttle requests for you.
  • The shared types are in Models; errors in Errors.

Edit this page on GitHub ↗