CoinEx.Net AI API Quick Map

June 29, 2026 ยท View on GitHub

Use this file to route common user intents to the correct CoinEx.Net client member. If a method name or parameter is not listed here, inspect CoinEx.Net/Interfaces/Clients/** before generating code.

Client Roots

IntentUse
REST callsnew CoinExRestClient()
WebSocket streamsnew CoinExSocketClient()
API key authenticationoptions.ApiCredentials = new CoinExCredentials("key", "secret")
Live environmentCoinExEnvironment.Live
Custom environmentCoinExEnvironment.CreateCustom(name, restAddress, socketAddress)
Dependency injectionservices.AddCoinEx(options => { ... })
Current spot REST APIclient.SpotApiV2
Futures REST APIclient.FuturesApi

Spot V2 REST

User intentCoinEx.Net member
Get server timeclient.SpotApiV2.ExchangeData.GetServerTimeAsync()
Get spot symbolsclient.SpotApiV2.ExchangeData.GetSymbolsAsync()
Get listed assetsclient.SpotApiV2.ExchangeData.GetAssetsAsync()
Get one or more spot tickersclient.SpotApiV2.ExchangeData.GetTickersAsync(new[] { "BTCUSDT" })
Get all spot tickersclient.SpotApiV2.ExchangeData.GetTickersAsync()
Get spot order bookclient.SpotApiV2.ExchangeData.GetOrderBookAsync("BTCUSDT", 20, mergeLevel: "0")
Get recent spot tradesclient.SpotApiV2.ExchangeData.GetTradeHistoryAsync("BTCUSDT")
Get spot klines/candlesclient.SpotApiV2.ExchangeData.GetKlinesAsync("BTCUSDT", KlineInterval.OneMinute)
Get spot index pricesclient.SpotApiV2.ExchangeData.GetIndexPricesAsync(new[] { "BTCUSDT" })
Get spot balancesclient.SpotApiV2.Account.GetBalancesAsync()
Get margin balancesclient.SpotApiV2.Account.GetMarginBalancesAsync()
Get financial balancesclient.SpotApiV2.Account.GetFinancialBalancesAsync()
Get credit accountclient.SpotApiV2.Account.GetCreditAccountAsync()
Get trade feesclient.SpotApiV2.Account.GetTradingFeesAsync("BTCUSDT", AccountType.Spot)
Update CET discount settingclient.SpotApiV2.Account.SetAccountConfigAsync(cetDiscountEnabled)
Borrow margin assetclient.SpotApiV2.Account.MarginBorrowAsync("BTCUSDT", "USDT", quantity, autoRenew)
Repay margin loanclient.SpotApiV2.Account.MarginRepayAsync("BTCUSDT", "USDT", quantity, borrowId)
Get borrow historyclient.SpotApiV2.Account.GetBorrowHistoryAsync(...)
Get borrow limitclient.SpotApiV2.Account.GetBorrowLimitAsync("BTCUSDT", "USDT")
Get deposit addressclient.SpotApiV2.Account.GetDepositAddressAsync("USDT", "TRC20")
Renew deposit addressclient.SpotApiV2.Account.RenewDepositAddressAsync("USDT", "TRC20")
Get deposit historyclient.SpotApiV2.Account.GetDepositHistoryAsync(...)
Withdraw assetclient.SpotApiV2.Account.WithdrawAsync(...)
Cancel withdrawalclient.SpotApiV2.Account.CancelWithdrawalAsync(withdrawalId)
Get withdrawal historyclient.SpotApiV2.Account.GetWithdrawalHistoryAsync(...)
Get deposit/withdraw configclient.SpotApiV2.Account.GetDepositWithdrawalConfigAsync("USDT")
Get all deposit/withdraw configsclient.SpotApiV2.Account.GetAllDepositWithdrawalConfigsAsync()
Transfer between accountsclient.SpotApiV2.Account.TransferAsync("USDT", AccountType.Spot, AccountType.Futures, quantity)
Get transfer historyclient.SpotApiV2.Account.GetTransfersAsync("USDT", AccountType.Futures)
Add AMM liquidityclient.SpotApiV2.Account.AddAutoMarketMakerLiquidityAsync(...)
Remove AMM liquidityclient.SpotApiV2.Account.RemoveAutoMarketMakerLiquidityAsync(symbol)
Get transaction historyclient.SpotApiV2.Account.GetTransactionHistoryAsync(transactionType, ...)
Place spot orderclient.SpotApiV2.Trading.PlaceOrderAsync("BTCUSDT", AccountType.Spot, OrderSide.Buy, OrderTypeV2.Limit, quantity, price)
Place margin orderclient.SpotApiV2.Trading.PlaceOrderAsync("BTCUSDT", AccountType.Margin, ...)
Place spot stop orderclient.SpotApiV2.Trading.PlaceStopOrderAsync(...)
Place multiple spot ordersclient.SpotApiV2.Trading.PlaceMultipleOrdersAsync(requests)
Query spot orderclient.SpotApiV2.Trading.GetOrderAsync("BTCUSDT", orderId)
Get open spot ordersclient.SpotApiV2.Trading.GetOpenOrdersAsync(AccountType.Spot, symbol: "BTCUSDT")
Get closed spot ordersclient.SpotApiV2.Trading.GetClosedOrdersAsync(AccountType.Spot, symbol: "BTCUSDT")
Get open stop ordersclient.SpotApiV2.Trading.GetOpenStopOrdersAsync(AccountType.Spot, symbol: "BTCUSDT")
Get closed stop ordersclient.SpotApiV2.Trading.GetClosedStopOrdersAsync(AccountType.Spot, symbol: "BTCUSDT")
Edit spot orderclient.SpotApiV2.Trading.EditOrderAsync("BTCUSDT", AccountType.Spot, orderId, quantity, price)
Edit spot stop orderclient.SpotApiV2.Trading.EditStopOrderAsync(...)
Cancel all spot ordersclient.SpotApiV2.Trading.CancelAllOrdersAsync("BTCUSDT", AccountType.Spot)
Cancel spot orderclient.SpotApiV2.Trading.CancelOrderAsync("BTCUSDT", AccountType.Spot, orderId)
Cancel multiple spot ordersclient.SpotApiV2.Trading.CancelOrdersAsync("BTCUSDT", orderIds)
Cancel spot order by client idclient.SpotApiV2.Trading.CancelOrdersByClientOrderIdAsync("BTCUSDT", AccountType.Spot, clientOrderId)
Get user tradesclient.SpotApiV2.Trading.GetUserTradesAsync("BTCUSDT", AccountType.Spot)
Get order tradesclient.SpotApiV2.Trading.GetOrderTradesAsync("BTCUSDT", AccountType.Spot, orderId)

Futures REST

User intentCoinEx.Net member
Get futures server timeclient.FuturesApi.ExchangeData.GetServerTimeAsync()
Get futures symbolsclient.FuturesApi.ExchangeData.GetSymbolsAsync(new[] { "ETHUSDT" })
Get futures tickersclient.FuturesApi.ExchangeData.GetTickersAsync(new[] { "ETHUSDT" })
Get all futures tickersclient.FuturesApi.ExchangeData.GetTickersAsync()
Get futures order bookclient.FuturesApi.ExchangeData.GetOrderBookAsync("ETHUSDT", 20, mergeLevel: "0")
Get futures tradesclient.FuturesApi.ExchangeData.GetTradeHistoryAsync("ETHUSDT")
Get futures klinesclient.FuturesApi.ExchangeData.GetKlinesAsync("ETHUSDT", KlineInterval.OneMinute)
Get futures index pricesclient.FuturesApi.ExchangeData.GetIndexPricesAsync(new[] { "ETHUSDT" })
Get futures funding ratesclient.FuturesApi.ExchangeData.GetFundingRatesAsync(new[] { "ETHUSDT" })
Get futures funding historyclient.FuturesApi.ExchangeData.GetFundingRateHistoryAsync("ETHUSDT")
Get premium index historyclient.FuturesApi.ExchangeData.GetPremiumIndexPriceHistoryAsync("ETHUSDT")
Get futures position levelsclient.FuturesApi.ExchangeData.GetPositionLevelsAsync(new[] { "ETHUSDT" })
Get liquidation historyclient.FuturesApi.ExchangeData.GetLiquidationHistoryAsync("ETHUSDT")
Get basis historyclient.FuturesApi.ExchangeData.GetBasisHistoryAsync("ETHUSDT")
Get futures balancesclient.FuturesApi.Account.GetBalancesAsync()
Get futures trade feesclient.FuturesApi.Account.GetTradingFeesAsync("ETHUSDT")
Set futures leverageclient.FuturesApi.Account.SetLeverageAsync("ETHUSDT", MarginMode.Cross, 5)
Place futures orderclient.FuturesApi.Trading.PlaceOrderAsync("ETHUSDT", OrderSide.Buy, OrderTypeV2.Market, quantity)
Place futures stop orderclient.FuturesApi.Trading.PlaceStopOrderAsync(...)
Place multiple futures ordersclient.FuturesApi.Trading.PlaceMultipleOrdersAsync(requests)
Query futures orderclient.FuturesApi.Trading.GetOrderAsync("ETHUSDT", orderId)
Get open futures ordersclient.FuturesApi.Trading.GetOpenOrdersAsync(symbol: "ETHUSDT")
Get closed futures ordersclient.FuturesApi.Trading.GetClosedOrdersAsync(symbol: "ETHUSDT")
Get open futures stop ordersclient.FuturesApi.Trading.GetOpenStopOrdersAsync(symbol: "ETHUSDT")
Get closed futures stop ordersclient.FuturesApi.Trading.GetClosedStopOrdersAsync(symbol: "ETHUSDT")
Edit futures orderclient.FuturesApi.Trading.EditOrderAsync("ETHUSDT", orderId, quantity, price)
Cancel all futures ordersclient.FuturesApi.Trading.CancelAllOrdersAsync("ETHUSDT")
Cancel futures orderclient.FuturesApi.Trading.CancelOrderAsync("ETHUSDT", orderId)
Cancel futures order by client idclient.FuturesApi.Trading.CancelOrderByClientOrderIdAsync("ETHUSDT", clientOrderId)
Get futures user tradesclient.FuturesApi.Trading.GetUserTradesAsync("ETHUSDT")
Get futures order tradesclient.FuturesApi.Trading.GetOrderTradesAsync("ETHUSDT", orderId)
Get open positionsclient.FuturesApi.Trading.GetPositionsAsync("ETHUSDT")
Get position historyclient.FuturesApi.Trading.GetPositionHistoryAsync("ETHUSDT")
Close positionclient.FuturesApi.Trading.ClosePositionAsync("ETHUSDT", OrderTypeV2.Market, quantity: quantity)
Adjust position marginclient.FuturesApi.Trading.AdjustPositionMarginAsync("ETHUSDT", quantity)
Set stop lossclient.FuturesApi.Trading.SetStopLossAsync("ETHUSDT", PriceType.LastPrice, stopLossPrice)
Edit stop lossclient.FuturesApi.Trading.EditStopLossAsync("ETHUSDT", stopLossOrderId, ...)
Cancel stop lossclient.FuturesApi.Trading.CancelStopLossAsync("ETHUSDT", stopLossOrderId)
Set take profitclient.FuturesApi.Trading.SetTakeProfitAsync("ETHUSDT", PriceType.LastPrice, takeProfitPrice)
Edit take profitclient.FuturesApi.Trading.EditTakeProfitAsync("ETHUSDT", takeProfitOrderId, ...)
Cancel take profitclient.FuturesApi.Trading.CancelTakeProfitAsync("ETHUSDT", takeProfitOrderId)
Get position margin historyclient.FuturesApi.Trading.GetMarginHistoryAsync("ETHUSDT", positionId)
Get position funding historyclient.FuturesApi.Trading.GetFundingRateHistoryAsync("ETHUSDT", positionId)
Get ADL historyclient.FuturesApi.Trading.GetAutoDeleverageHistoryAsync("ETHUSDT", positionId)
Get settlement historyclient.FuturesApi.Trading.GetAutoSettlementHistoryAsync("ETHUSDT", positionId)

Spot WebSocket

User intentCoinEx.Net member
Subscribe system noticessocketClient.SpotApiV2.SubscribeToSystemNoticeUpdatesAsync(handler)
Subscribe spot ticker updatessocketClient.SpotApiV2.SubscribeToTickerUpdatesAsync(new[] { "BTCUSDT" }, handler)
Subscribe all spot ticker updatessocketClient.SpotApiV2.SubscribeToTickerUpdatesAsync(handler)
Subscribe spot order booksocketClient.SpotApiV2.SubscribeToOrderBookUpdatesAsync("BTCUSDT", 20, "0", fullBookUpdates: true, handler)
Subscribe spot tradessocketClient.SpotApiV2.SubscribeToTradeUpdatesAsync("BTCUSDT", handler)
Subscribe all spot tradessocketClient.SpotApiV2.SubscribeToTradeUpdatesAsync(handler)
Subscribe spot index pricesocketClient.SpotApiV2.SubscribeToIndexPriceUpdatesAsync("BTCUSDT", handler)
Subscribe spot book price / BBOsocketClient.SpotApiV2.SubscribeToBookPriceUpdatesAsync("BTCUSDT", handler)
Subscribe spot order updatessocketClient.SpotApiV2.SubscribeToOrderUpdatesAsync(handler)
Subscribe spot stop order updatessocketClient.SpotApiV2.SubscribeToStopOrderUpdatesAsync(handler)
Subscribe spot user tradessocketClient.SpotApiV2.SubscribeToUserTradeUpdatesAsync(handler)
Subscribe spot balance updatessocketClient.SpotApiV2.SubscribeToBalanceUpdatesAsync(handler)

Futures WebSocket

User intentCoinEx.Net member
Subscribe futures ticker updatessocketClient.FuturesApi.SubscribeToTickerUpdatesAsync(new[] { "ETHUSDT" }, handler)
Subscribe all futures ticker updatessocketClient.FuturesApi.SubscribeToTickerUpdatesAsync(handler)
Subscribe futures order booksocketClient.FuturesApi.SubscribeToOrderBookUpdatesAsync("ETHUSDT", 20, "0", fullBookUpdates: true, handler)
Subscribe futures tradessocketClient.FuturesApi.SubscribeToTradeUpdatesAsync("ETHUSDT", handler)
Subscribe futures index pricesocketClient.FuturesApi.SubscribeToIndexPriceUpdatesAsync("ETHUSDT", handler)
Subscribe futures book price / BBOsocketClient.FuturesApi.SubscribeToBookPriceUpdatesAsync("ETHUSDT", handler)
Subscribe futures premium indexsocketClient.FuturesApi.SubscribeToPremiumIndexUpdatesAsync("ETHUSDT", handler)
Subscribe futures order updatessocketClient.FuturesApi.SubscribeToOrderUpdatesAsync(handler)
Subscribe futures stop order updatessocketClient.FuturesApi.SubscribeToStopOrderUpdatesAsync(handler)
Subscribe futures user tradessocketClient.FuturesApi.SubscribeToUserTradeUpdatesAsync(handler)
Subscribe futures balance updatessocketClient.FuturesApi.SubscribeToBalanceUpdatesAsync(handler)
Subscribe futures position updatessocketClient.FuturesApi.SubscribeToPositionUpdatesAsync(handler)

SharedApis

User intentCoinEx.Net member or interface
Shared spot REST clientnew CoinExRestClient().SpotApiV2.SharedClient
Shared futures REST clientnew CoinExRestClient().FuturesApi.SharedClient
Shared spot socket clientnew CoinExSocketClient().SpotApiV2.SharedClient
Shared futures socket clientnew CoinExSocketClient().FuturesApi.SharedClient
Discover shared capabilitiesclient.SpotApiV2.SharedClient.Discover() / client.FuturesApi.SharedClient.Discover()
Shared spot ticker RESTISpotTickerRestClient.GetSpotTickerAsync(new GetTickerRequest(symbol))
Shared futures ticker RESTIFuturesTickerRestClient.GetFuturesTickerAsync(new GetTickerRequest(symbol))
Shared spot order RESTISpotOrderRestClient.PlaceSpotOrderAsync(...)
Shared futures order RESTIFuturesOrderRestClient.PlaceFuturesOrderAsync(...)
Shared balance RESTIBalanceRestClient.GetBalancesAsync(...)
Shared position RESTIPositionRestClient.GetPositionsAsync(...)
Shared ticker socketITickerSocketClient.SubscribeToTickerUpdatesAsync(...)
Shared order book socketIOrderBookSocketClient.SubscribeToOrderBookUpdatesAsync(...)

Shared REST calls return HttpResult<T> / HttpResult. Shared socket subscriptions return WebSocketResult<UpdateSubscription>. Shared non-I/O symbol/cache helpers such as symbol support checks return ExchangeCallResult<T>.

For shared socket subscriptions, keep the concrete socket client and unsubscribe with await socketClient.UnsubscribeAsync(subscription.Data).

Result Handling

SituationPattern
REST success checkif (!result.Success) { Console.WriteLine(result.Error); return; }
Socket subscription success checkWebSocketResult<UpdateSubscription> sub = await ...; if (!sub.Success) { Console.WriteLine(sub.Error); return; }
Read REST dataRead result.Data only after result.Success
Shared helper dataRead ExchangeCallResult<T>.Data only after result.Success
Retry decisionRetry only when result.Error?.IsTransient == true
CancellationPass ct: cancellationToken

Common Routing Pitfalls

Do not useUse instead
CoinExClientCoinExRestClient
ApiCredentialsCoinExCredentials
SpotApi for current examplesSpotApiV2
SpotApiV2.ExchangeData.GetTickerAsync(...)SpotApiV2.ExchangeData.GetTickersAsync(new[] { symbol })
SpotOrderType / FuturesOrderTypeOrderTypeV2
Binance timeInForce parameterCoinEx OrderTypeV2.Limit, ImmediateOrCancel, FillOrKill, PostOnly
Binance USD-M / COIN-M branchesFuturesApi
FuturesApi.Account.GetPositionsAsync(...)FuturesApi.Trading.GetPositionsAsync(...)
.Data without .Success checkCheck .Success first
ITickerSocketClient.UnsubscribeAsync(...)Keep the concrete socket client and call socketClient.UnsubscribeAsync(subscription.Data)