Exchanges#
Twenty adapters, each behind its own feature flag. Pass the lowercase name from the first column to create_trader.
| Exchange | Spot | Perps | Funding hist. | OI hist. | WS book | WS trades | WS ticker | WS orders | Passphrase | Testnet |
|---|---|---|---|---|---|---|---|---|---|---|
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 | ● | ● | ● | ● | ● | ● | ● | ● | required | yes |
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.