ExchangeTrackerFactory (interface: IExchangeTrackerFactory) creates live data trackers that maintain a rolling, in-memory dataset fed by WebSocket streams. Three types of trackers are available:
- Kline tracker — maintains a sliding window of OHLCV candles
- Trade tracker — maintains a sliding window of recent public trades
- User data tracker — maintains real-time account state (balances, orders, positions)
IExchangeTrackerFactory through dependency injection after calling services.AddCryptoClients().
Kline tracker
CreateKlineTracker
Exchange name (e.g.
"Binance", "Bybit").The symbol to track.
Candlestick interval (e.g.
SharedKlineInterval.OneHour, SharedKlineInterval.FiveMinutes).Maximum number of candles to keep in memory. When reached, the oldest candle is evicted. Pass
null for no limit.Maximum age of candles to keep. Candles older than this are discarded. Pass
null for no time limit.Exchange-specific parameters.
IKlineTracker? — null if the exchange does not support kline tracking for the given symbol.
Trade tracker
CreateTradeTracker
Exchange name.
The symbol to track.
Maximum number of trades to keep in memory.
Maximum age of trades to retain.
Exchange-specific parameters.
ITradeTracker? — null if the exchange does not support trade tracking for the symbol.
Spot user data tracker
User data trackers require authentication. There are two modes: shared credentials (credentials were already set on the client at startup) and explicit credentials (passed at tracker creation time, useful for multi-user/multi-account scenarios).CreateUserSpotDataTracker — shared credentials (single exchange)
Exchange name.
Optional configuration for the tracker.
IUserSpotDataTracker?
CreateUserSpotDataTrackers — shared credentials (all or filtered exchanges)
Optional tracker configuration.
Optional list of exchange names to restrict to. When omitted, trackers are created for all supporting exchanges.
IUserSpotDataTracker[]
CreateUserSpotDataTracker — explicit credentials (single exchange)
Exchange name.
An arbitrary string that uniquely identifies this user/account (used for internal keying).
Credentials object containing credentials for the specified exchange.
Optional tracker configuration.
Optional environment name (e.g.
"Live", "Testnet"). Uses the exchange default when omitted.IUserSpotDataTracker?
CreateUserSpotDataTracker — explicit credentials (all or filtered exchanges)
Unique identifier for the user.
Credentials for each exchange.
Optional tracker configuration.
Per-exchange environment names.
Restrict to a subset of exchanges.
IUserSpotDataTracker[]
Futures user data tracker
CreateUserFuturesDataTracker — shared credentials (single exchange)
Exchange name.
The futures trading mode (e.g.
TradingMode.PerpetualLinear, TradingMode.PerpetualInverse).Optional tracker configuration.
Exchange-specific parameters. Some exchanges require additional parameters:
- Bitget:
"ProductType"→"UsdtFutures"or"UsdcFutures" - GateIo:
"SettleAsset"(e.g."usdt") and"UserId"(numeric) - HTX:
"MarginMode"→SharedMarginMode.IsolatedorSharedMarginMode.Cross
IUserFuturesDataTracker?
CreateUserFuturesDataTrackers — shared credentials (all or filtered exchanges)
Futures trading mode.
Optional tracker configuration.
Exchange-specific parameters.
Restrict to a subset of exchanges.
IUserFuturesDataTracker[]
CreateUserFuturesDataTracker — explicit credentials (single exchange)
Exchange name.
Futures trading mode.
Unique identifier for the user/account.
Credentials.
Optional tracker configuration.
Optional environment name.
Exchange-specific parameters.
IUserFuturesDataTracker?
CreateUserFuturesDataTracker — explicit credentials (all or filtered exchanges)
Unique identifier for the user.
Futures trading mode.
Credentials for each exchange.
Optional configuration.
Per-exchange environment names.
Restrict to a subset of exchanges.
IUserFuturesDataTracker[]
Exchange-specific tracker factories
Each exchange exposes a typed tracker factory with exchange-native tracker creation methods.| Property | Type |
|---|---|
Aster | IAsterTrackerFactory |
Binance | IBinanceTrackerFactory |
BingX | IBingXTrackerFactory |
Bitfinex | IBitfinexTrackerFactory |
Bitget | IBitgetTrackerFactory |
BitMart | IBitMartTrackerFactory |
BitMEX | IBitMEXTrackerFactory |
Bitstamp | IBitstampTrackerFactory |
BloFin | IBloFinTrackerFactory |
Bybit | IBybitTrackerFactory |
Coinbase | ICoinbaseTrackerFactory |
CoinEx | ICoinExTrackerFactory |
CoinW | ICoinWTrackerFactory |
CryptoCom | ICryptoComTrackerFactory |
DeepCoin | IDeepCoinTrackerFactory |
GateIo | IGateIoTrackerFactory |
HTX | IHTXTrackerFactory |
HyperLiquid | IHyperLiquidTrackerFactory |
Kraken | IKrakenTrackerFactory |
Kucoin | IKucoinTrackerFactory |
Mexc | IMexcTrackerFactory |
OKX | IOKXTrackerFactory |
Toobit | IToobitTrackerFactory |
Upbit | IUpbitTrackerFactory |
WhiteBit | IWhiteBitTrackerFactory |
XT | IXTTrackerFactory |
Polymarket does not have a tracker factory and is absent from this list.