CryptoClients.Net AI API Quick Map

July 22, 2026 ยท View on GitHub

Use this file to route common user intents to the correct CryptoClients.Net member. If a method name, request type, or parameter is not listed here, inspect CryptoClients.Net/Interfaces/** and the specific exchange package source before generating code.

Client Roots

IntentUse
Aggregate REST callsnew ExchangeRestClient()
Aggregate WebSocket subscriptionsnew ExchangeSocketClient()
Dependency injectionservices.AddCryptoClients(options => { ... })
Global optionsGlobalExchangeOptions
Typed credentials for many exchangesnew ExchangeCredentials { Binance = ..., OKX = ... }
Runtime credentialsSetApiCredentials(exchange, DynamicCredentials)
Credential shape discoveryExchangeCredentials.GetDynamicCredentialInfo(tradingMode, exchange)
Supported exchange metadataExchanges.All, Exchanges.GetByName(exchange)
Supported exchange/platform namesExchange.All, Platforms.All

Aggregate REST Result Shapes

IntentUse
Single exchange requestTask<ExchangeWebResult<T>> MethodAsync(string exchange, Request request, ...)
Multi-exchange request, wait for allTask<ExchangeWebResult<T>[]> MethodAsync(Request request, IEnumerable<string>? exchanges = null, ...)
Multi-exchange request, process first responses firstIAsyncEnumerable<ExchangeWebResult<T>> MethodAsyncEnumerable(Request request, IEnumerable<string>? exchanges = null, ...)
Read response dataCheck result.Success first, then read result.Data
Identify source exchangeresult.Exchange
Handle failureresult.Error, result.Error?.IsTransient

Aggregate REST Market Data

User intentCryptoClients.Net member
Get spot ticker on one exchangeclient.GetSpotTickerAsync(exchange, new GetTickerRequest(symbol))
Get spot ticker on many exchangesclient.GetSpotTickerAsync(new GetTickerRequest(symbol), exchanges)
Stream spot ticker responses as completedclient.GetSpotTickerAsyncEnumerable(new GetTickerRequest(symbol), exchanges)
Get all spot tickersclient.GetSpotTickersAsync(new GetTickersRequest(...), exchanges)
Get futures tickerclient.GetFuturesTickerAsync(new GetTickerRequest(symbol), exchanges)
Get all futures tickersclient.GetFuturesTickersAsync(new GetTickersRequest(...), exchanges)
Get book tickerclient.GetBookTickersAsync(new GetBookTickerRequest(symbol), exchanges)
Get order book snapshotclient.GetOrderBookAsync(new GetOrderBookRequest(symbol), exchanges)
Get recent tradesclient.GetRecentTradesAsync(new GetRecentTradesRequest(symbol), exchanges)
Get historical tradesclient.GetTradeHistoryAsync(new GetTradeHistoryRequest(symbol), exchanges)
Get klines/candlesclient.GetKlinesAsync(new GetKlinesRequest(symbol, interval), exchanges)
Get mark price klinesclient.GetMarkPriceKlinesAsync(new GetKlinesRequest(symbol, interval), exchanges)
Get index price klinesclient.GetIndexPriceKlinesAsync(new GetKlinesRequest(symbol, interval), exchanges)
Get funding rate historyclient.GetFundingRateHistoryAsync(new GetFundingRateHistoryRequest(symbol), exchanges)
Get open interestclient.GetOpenInterestAsync(new GetOpenInterestRequest(symbol), exchanges)

Aggregate REST Symbols And Support Discovery

User intentCryptoClients.Net member
Get spot symbols on one exchangeclient.GetSpotSymbolsAsync(exchange, new GetSymbolsRequest())
Get spot symbols on many exchangesclient.GetSpotSymbolsAsync(new GetSymbolsRequest(), exchanges)
Get futures symbolsclient.GetFuturesSymbolsAsync(new GetSymbolsRequest(...), exchanges)
Reuse a fetched spot symbol catalogCall GetSpotSymbolsAsync on ISpotSymbolRestClient, then read SpotSymbolCatalog
Reuse a fetched futures symbol catalogCall GetFuturesSymbolsAsync on IFuturesSymbolRestClient, then read FuturesSymbolCatalog
Get spot symbols for a base assetclient.GetSpotSymbolsForBaseAssetAsync(baseAsset)
Get spot symbols for base asset on one exchangeclient.GetSpotSymbolsForBaseAssetAsync(exchange, baseAsset)
Get futures symbols for a base assetclient.GetFuturesSymbolsForBaseAssetAsync(baseAsset)
Get futures symbols for base asset on one exchangeclient.GetFuturesSymbolsForBaseAssetAsync(exchange, baseAsset)
Get exchanges supporting a spot symbol nameclient.GetExchangesSupportingSpotSymbolAsync(symbolName)
Get exchanges supporting a spot shared symbolclient.GetExchangesSupportingSpotSymbolAsync(symbol)
Check spot support on one exchangeclient.SupportsSpotSymbolAsync(exchange, symbol)
Get exchanges supporting a futures symbol nameclient.GetExchangesSupportingFuturesSymbolAsync(symbolName)
Get exchanges supporting a futures shared symbolclient.GetExchangesSupportingFuturesSymbolAsync(symbol)
Check futures support on one exchangeclient.SupportsFuturesSymbolAsync(exchange, symbol)
Convert shared symbol to exchange nameclient.GetSymbolName(exchange, symbol)

Aggregate REST Account, Assets, Funding, And Transfers

User intentCryptoClients.Net member
Get assetsclient.GetAssetsAsync(new GetAssetsRequest(...), exchanges)
Get one assetclient.GetAssetAsync(new GetAssetRequest(...), exchanges)
Get balancesclient.GetBalancesAsync(new GetBalancesRequest(...), exchanges)
Get depositsclient.GetDepositsAsync(new GetDepositsRequest(...), exchanges)
Get withdrawalsclient.GetWithdrawalsAsync(new GetWithdrawalsRequest(...), exchanges)
Withdraw fundsUse client.GetWithdrawClient(exchange) then the shared withdraw client method
Transfer funds between account typesclient.TransferAsync(exchange, new TransferRequest(...))
Get feesclient.GetFeesAsync(new GetFeeRequest(...), exchanges)
Start listen keysclient.StartListenKeysAsync(new StartListenKeyRequest(...), exchanges)
Keep listen keys aliveclient.KeepAliveListenKeysAsync(new KeepAliveListenKeyRequest(...), exchanges)
Stop listen keysclient.StopListenKeysAsync(new StopListenKeyRequest(...), exchanges)

Aggregate REST Orders And Positions

User intentCryptoClients.Net member
Place spot orderclient.PlaceSpotOrderAsync(exchange, new PlaceSpotOrderRequest(...))
Get spot orderclient.GetSpotOrderAsync(exchange, new GetOrderRequest(...))
Get spot order by client order idclient.GetSpotOrderByClientOrderIdAsync(exchange, new GetOrderRequest(...))
Get spot order tradesclient.GetSpotOrderTradesAsync(exchange, new GetOrderTradesRequest(...))
Cancel spot orderclient.CancelSpotOrderAsync(exchange, new CancelOrderRequest(...))
Cancel spot order by client order idclient.CancelSpotOrderByClientOrderIdAsync(exchange, new CancelOrderRequest(...))
Place spot trigger orderclient.PlaceSpotTriggerOrderAsync(exchange, new PlaceSpotTriggerOrderRequest(...))
Cancel spot trigger orderclient.CancelSpotTriggerOrderAsync(exchange, new CancelOrderRequest(...))
Get spot open ordersclient.GetSpotOpenOrdersAsync(new GetOpenOrdersRequest(...), exchanges)
Get spot closed ordersclient.GetSpotClosedOrdersAsync(new GetClosedOrdersRequest(...), exchanges)
Get spot user tradesclient.GetSpotUserTradesAsync(new GetUserTradesRequest(...), exchanges)
Place futures orderclient.PlaceFuturesOrderAsync(exchange, new PlaceFuturesOrderRequest(...))
Get futures orderclient.GetFuturesOrderAsync(exchange, new GetOrderRequest(...))
Get futures order by client order idclient.GetFuturesOrderByClientOrderIdAsync(exchange, new GetOrderRequest(...))
Get futures order tradesclient.GetFuturesOrderTradesAsync(exchange, new GetOrderTradesRequest(...))
Cancel futures orderclient.CancelFuturesOrderAsync(exchange, new CancelOrderRequest(...))
Cancel futures order by client order idclient.CancelFuturesOrderByClientOrderIdAsync(exchange, new CancelOrderRequest(...))
Close futures positionclient.ClosePositionAsync(exchange, new ClosePositionRequest(...))
Place futures trigger orderclient.PlaceFuturesTriggerOrderAsync(exchange, new PlaceFuturesTriggerOrderRequest(...))
Cancel futures trigger orderclient.CancelFuturesTriggerOrderAsync(exchange, new CancelOrderRequest(...))
Set futures TP/SLclient.SetFuturesTpSlAsync(exchange, new SetTpSlRequest(...))
Cancel futures TP/SLclient.CancelFuturesTpSlAsync(exchange, new CancelTpSlRequest(...))
Get positionsclient.GetPositionsAsync(new GetPositionsRequest(...), exchanges)
Get position historyclient.GetPositionHistoryAsync(new GetPositionHistoryRequest(...), exchanges)
Get futures open ordersclient.GetFuturesOpenOrdersAsync(new GetOpenOrdersRequest(...), exchanges)
Get futures closed ordersclient.GetFuturesClosedOrdersAsync(new GetClosedOrdersRequest(...), exchanges)
Get futures user tradesclient.GetFuturesUserTradesAsync(new GetUserTradesRequest(...), exchanges)
Get position modeclient.GetPositionModeAsync(exchange, new GetPositionModeRequest(...))
Set position modeclient.SetPositionModeAsync(exchange, new SetPositionModeRequest(...))
Get leverageclient.GetLeverageAsync(exchange, new GetLeverageRequest(...))
Set leverageclient.SetLeverageAsync(exchange, new SetLeverageRequest(...))

Shared REST Client Discovery

User intentCryptoClients.Net member
Get all shared clients for an exchangeclient.GetExchangeSharedClients(exchange, tradingMode)
Get assets clientsclient.GetAssetsClients() / client.GetAssetClient(exchange)
Get balance clientsclient.GetBalancesClients(...) / client.GetBalancesClient(...)
Get deposit clientclient.GetDepositsClient(exchange)
Get kline clientclient.GetKlineClient(tradingMode, exchange)
Get order book clientclient.GetOrderBookClient(tradingMode, exchange)
Get trade clientsclient.GetRecentTradesClient(...), client.GetTradeHistoryClient(...)
Get withdrawal clientsclient.GetWithdrawalsClient(exchange), client.GetWithdrawClient(exchange)
Get spot ticker clientclient.GetSpotTickerClient(exchange)
Get spot symbol clientclient.GetSpotSymbolClient(exchange)
Get spot order clientclient.GetSpotOrderClient(exchange)
Get spot client-order-id clientclient.GetSpotOrderClientIdClient(exchange)
Get spot trigger order clientclient.GetSpotTriggerOrderClient(exchange)
Get futures symbol clientclient.GetFuturesSymbolClient(tradingMode, exchange)
Get futures ticker clientclient.GetFuturesTickerClient(tradingMode, exchange)
Get futures order clientclient.GetFuturesOrderClient(tradingMode, exchange)
Get futures client-order-id clientclient.GetFuturesOrderClientIdClient(tradingMode, exchange)
Get futures trigger order clientclient.GetFuturesTriggerOrderClient(tradingMode, exchange)
Get futures TP/SL clientclient.GetFuturesTpSlClient(tradingMode, exchange)
Get funding rate clientclient.GetFundingRateClient(tradingMode, exchange)
Get leverage clientclient.GetLeverageClient(tradingMode, exchange)
Get position mode/history clientsclient.GetPositionModeClient(...), client.GetPositionHistoryClient(...)
Get listen key clientclient.GetListenKeyClient(tradingMode, exchange)
Get transfer clientclient.GetTransferClient(exchange, fromAccountType, toAccountType)

Aggregate WebSocket

User intentCryptoClients.Net member
Subscribe all ticker updates on one exchangesocketClient.SubscribeToAllTickerUpdatesAsync(exchange, request, handler)
Subscribe all ticker updates on many exchangessocketClient.SubscribeToAllTickerUpdatesAsync(request, handler, exchanges)
Subscribe ticker updatessocketClient.SubscribeToTickerUpdatesAsync(new SubscribeTickerRequest(symbol), handler, exchanges)
Subscribe trade updatessocketClient.SubscribeToTradeUpdatesAsync(new SubscribeTradeRequest(symbol), handler, exchanges)
Subscribe book ticker updatessocketClient.SubscribeToBookTickerUpdatesAsync(new SubscribeBookTickerRequest(symbol), handler, exchanges)
Subscribe kline updatessocketClient.SubscribeToKlineUpdatesAsync(new SubscribeKlineRequest(symbol, interval), handler, exchanges)
Subscribe order book updatessocketClient.SubscribeToOrderBookUpdatesAsync(new SubscribeOrderBookRequest(symbol), handler, exchanges)
Subscribe balance updatessocketClient.SubscribeToBalanceUpdatesAsync(new SubscribeBalancesRequest(...), handler, exchanges, listenKeys)
Subscribe spot order updatessocketClient.SubscribeToSpotOrderUpdatesAsync(new SubscribeSpotOrderRequest(...), handler, exchanges, listenKeys)
Subscribe futures order updatessocketClient.SubscribeToFuturesOrderUpdatesAsync(new SubscribeFuturesOrderRequest(...), handler, exchanges, listenKeys)
Subscribe user trade updatessocketClient.SubscribeToUserTradeUpdatesAsync(new SubscribeUserTradeRequest(...), handler, exchanges, listenKeys)
Subscribe position updatessocketClient.SubscribeToPositionUpdatesAsync(new SubscribePositionRequest(...), handler, exchanges, listenKeys)
Stop one successful aggregate subscriptionsubscription.Data.CloseAsync()
Stop aggregate socket clientsocketClient.UnsubscribeAllAsync()
Stop one direct exchange socket subscriptionsocketClient.Binance.UnsubscribeAsync(subscription.Data) or the matching direct exchange socket client

Shared Socket Client Discovery

User intentCryptoClients.Net member
Get ticker socket clientsocketClient.GetTickerClient(tradingMode, exchange)
Get all tickers socket clientsocketClient.GetTickersClient(tradingMode, exchange)
Get trade socket clientsocketClient.GetTradeClient(tradingMode, exchange)
Get book ticker socket clientsocketClient.GetBookTickerClient(tradingMode, exchange)
Get kline socket clientsocketClient.GetKlineClient(tradingMode, exchange)
Get order book socket clientsocketClient.GetOrderBookClient(tradingMode, exchange)
Get balance socket clientsocketClient.GetBalanceClient(tradingMode, exchange)
Get spot order socket clientsocketClient.GetSpotOrderClient(exchange)
Get futures order socket clientsocketClient.GetFuturesOrderClient(tradingMode, exchange)
Get user trade socket clientsocketClient.GetUserTradeClient(tradingMode, exchange)
Get position socket clientsocketClient.GetPositionClient(tradingMode, exchange)

Direct Exchange Access

User intentUse
Full Binance REST APIrestClient.Binance
Full Binance socket APIsocketClient.Binance
Full OKX REST/socket APIrestClient.OKX / socketClient.OKX
Full Bybit REST/socket APIrestClient.Bybit / socketClient.Bybit
Full Kraken REST/socket APIrestClient.Kraken / socketClient.Kraken
Full * REST/socket APIrestClient.* / socketClient.*
Any bundled exchangeCheck properties on IExchangeRestClient and IExchangeSocketClient
CoinGecko REST platformrestClient.CoinGecko
Polymarket REST/socket platformrestClient.Polymarket / socketClient.Polymarket

Direct properties expose the full API from the corresponding exchange package. Inspect that package before generating endpoint-specific code.

Order Books And Trackers

User intentUse
Create cross-exchange order bookorderBookFactory.CreateCrossExchange(symbol, minimalDepth, exchanges, exchangeParameters)
Create one exchange order bookorderBookFactory.Create(exchange, symbol, minimalDepth, exchangeParameters)
Create many individual order booksorderBookFactory.Create(symbol, minimalDepth, exchanges, exchangeParameters)
Create trade trackertrackerFactory.CreateTradeTracker(exchange, symbol, limit, period, exchangeParameters)
Create kline trackertrackerFactory.CreateKlineTracker(exchange, symbol, interval, limit, period, exchangeParameters)
Create spot user data trackertrackerFactory.CreateUserSpotDataTracker(...) / CreateUserSpotDataTrackers(...)
Create futures user data trackertrackerFactory.CreateUserFuturesDataTracker(...) / CreateUserFuturesDataTrackers(...)

Common Routing Pitfalls

Do not useUse instead
Raw HttpClient calls to exchange APIsExchangeRestClient, direct exchange clients, or shared clients
Hardcoded exchange symbols in shared callsnew SharedSymbol(tradingMode, baseAsset, quoteAsset); use SharedSymbol.UsdOrStable for cross-exchange USD/stable quote routing when USDC/USD variants are acceptable
One global success flag for multi-exchange callsCheck each ExchangeWebResult<T>.Success
.Data without .Success checkBranch on .Success first
Assumed key/secret credentialsExchangeCredentials or DynamicCredentials with GetDynamicCredentialInfo
Aggregate shared call for an exchange-specific endpointrestClient.Binance, restClient.OKX, etc.
Per-request client constructionReused singleton/client from DI
Leaving aggregate sockets openawait subscription.Data.CloseAsync() for one aggregate subscription or await socketClient.UnsubscribeAllAsync() for all aggregate subscriptions