ccxt-csharp
CCXT cryptocurrency exchange library for C# and .NET developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in .NET projects. Use when working with crypto exchanges in C# applications, trading systems, or financial software. Supports .NET Standard 2.0+.
DeepseekModel
Curated skill
Quality Excellent · 90
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=ccxt-ccxt-claude-skills-ccxt-csharp-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name ccxt-csharp description CCXT cryptocurrency exchange library for C# and .NET developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in .NET projects. Use when working with crypto exchanges in C# applications, trading systems, or financial software. Supports .NET Standard 2.0+. CCXT for C# A comprehensive guide to using CCXT in C# and .NET projects for cryptocurrency exchange integration. Installation Via NuGet Package Manager dotnet add package CCXT.NET Or via Visual Studio: Right-click project → Manage NuGet Packages Search for "CCXT.NET" Click Install Requirements .NET Standard 2.0 or higher .NET Core 2.0+ / .NET 5+ / .NET Framework 4.6.1+ Quick Start REST API using ccxt; var exchange = new Binance(); await exchange.LoadMarkets(); var ticker = await exchange.FetchTicker( "BTC/USDT" ); Console.WriteLine(ticker); WebSocket API - Real-time Updates using ccxt.pro; var exchange = new Binance(); while ( true ) { var ticker = await exchange.WatchTicker( "BTC/USDT" ); Console.WriteLine(ticker.Last); // Live updates! } await exchange.Close(); REST vs WebSocket Feature REST API WebSocket API Use for One-time queries, placing orders Real-time monitoring, live price feeds Import using ccxt; using ccxt.pro; Methods Fetch* (FetchTicker, FetchOrderBook) Watch* (WatchTicker, WatchOrderBook) Speed Slower (HTTP request/response) Faster (persistent connection) Rate limits Strict (1-2 req/sec) More lenient (continuous stream) Best for Trading, account management Price monitoring, arbitrage detection Method naming: C# uses PascalCase - FetchTicker not fetchTicker , WatchTicker not watchTicker Creating Exchange Instance REST API using ccxt; // Public API (no authentication) var exchange = new Binance { EnableRateLimit = true // Recommended! }; // Private API (with authentication) var exchange = new Binance { ApiKey = "YOUR_API_KEY" , Secret = "YOUR_SECRET" , EnableRateLimit = true }; WebSocket API using ccxt.pro; // Public WebSocket var exchange = new Binance(); // Private WebSocket (with authentication) var exchange = new Binance { ApiKey = "YOUR_API_KEY" , Secret = "YOUR_SECRET" }; // Always close when done await exchange.Close(); Common REST Operations Loading Markets // Load all available trading pairs await exchange.LoadMarkets(); // Access market information var btcMarket = exchange.Market( "BTC/USDT" ); Console.WriteLine(btcMarket.Limits.Amount.Min); // Minimum order amount Fetching Ticker // Single ticker var ticker = await exchange.FetchTicker( "BTC/USDT" ); Console.WriteLine(ticker.Last); // Last price Console.WriteLine(ticker.Bid); // Best bid Console.WriteLine(ticker.Ask); // Best ask Console.WriteLine(ticker.Volume); // 24h volume // Multiple tickers (if supported) var tickers = await exchange.FetchTickers( new [] { "BTC/USDT" , "ETH/USDT" }); Fetching Order Book // Full orderbook var orderbook = await exchange.FetchOrderBook( "BTC/USDT" ); Console.WriteLine(orderbook.Bids[ 0 ]); // [price, amount] Console.WriteLine(orderbook.Asks[ 0 ]); // [price, amount] // Limited depth var orderbook = await exchange.FetchOrderBook( "BTC/USDT" , 5 ); // Top 5 levels Creating Orders Limit Order // Buy limit order var order = await exchange.CreateLimitBuyOrder( "BTC/USDT" , 0.01 , 50000 ); Console.WriteLine(order.Id); // Sell limit order var order = await exchange.CreateLimitSellOrder( "BTC/USDT" , 0.01 , 60000 ); // Generic limit order var order = await exchange.CreateOrder( "BTC/USDT" , "limit" , "buy" , 0.01 , 50000 ); Market Order // Buy market order var order = await exchange.CreateMarketBuyOrder( "BTC/USDT" , 0.01 ); // Sell market order var order = await exchange.CreateMarketSellOrder( "BTC/USDT" , 0.01 ); // Generic market order var order = await exchange.CreateOrder( "BTC/USDT" , "market" , "sell" , 0.01 ); Fetching Balance var balance = await exchange.FetchBalance(); Console.WriteLine(balance[ "BTC" ].Free); // Available balance Console.WriteLine(balance[ "BTC" ].Used); // Balance in orders Console.WriteLine(balance[ "BTC" ].Total); // Total balance Fetching Orders // Open orders var openOrders = await exchange.FetchOpenOrders( "BTC/USDT" ); // Closed orders var closedOrders = await exchange.FetchClosedOrders( "BTC/USDT" ); // All orders (open + closed) var allOrders = await exchange.FetchOrders( "BTC/USDT" ); // Single order by ID var order = await exchange.FetchOrder(orderId, "BTC/USDT" ); Fetching Trades // Recent public trades var trades = await exchange.FetchTrades( "BTC/USDT" , limit: 10 ); // Your trades (requires authentication) var myTrades = await exchange.FetchMyTrades( "BTC/USDT" ); Canceling Orders // Cancel single order await exchange.CancelOrder(orderId, "BTC/USDT" ); // Cancel all orders for a symbol await exchange.CancelAllOrders( "BTC/USDT" ); WebSocket Operations (Real-time) Watching Ticker (Live Price Updates) using ccxt.pro; var exchange = new Binance(); while ( true ) { var ticker = await exchange.WatchTicker( "BTC/USDT" ); Console.WriteLine( $"Last: {ticker.Last} " ); } await exchange.Close(); Watching Order Book (Live Depth Updates) var exchange = new Binance(); while ( true ) { var orderbook = await exchange.WatchOrderBook( "BTC/USDT" ); Console.WriteLine( $"Best bid: {orderbook.Bids[ 0 ][ 0 ]} " ); Console.WriteLine( $"Best ask: {orderbook.Asks[ 0 ][ 0 ]} " ); } await exchange.Close(); Watching Trades (Live Trade Stream) var exchange = new Binance(); while ( true ) { var trades = await exchange.WatchTrades( "BTC/USDT" ); foreach ( var trade in trades) { Console.WriteLine( $" {trade.Price} {trade.Amount} {trade.Side} " ); } } await exchange.Close(); Watching Your Orders (Live Order Updates) var exchange = new Binance { ApiKey = "YOUR_API_KEY" , Secret = "YOUR_SECRET" }; while ( true ) { var orders = await exchange.WatchOrders( "BTC/USDT" ); foreach ( var order in orders) { Console.WriteLine( $" {order.Id} {order.Status} {order.Filled} " ); } } await exchange.Close(); Watching Balance (Live Balance Updates) var exchange = new Binance { ApiKey = "YOUR_API_KEY" , Secret = "YOUR_SECRET" }; while ( true ) { var balance = await exchange.WatchBalance(); Console.WriteLine( $"BTC: {balance[ "BTC" ].Total} " ); } await exchange.Close(); Watching Multiple Symbols var exchange = new Binance(); var symbols = new [] { "BTC/USDT" , "ETH/USDT" , "SOL/USDT" }; while ( true ) { var tickers = await exchange.WatchTickers(symbols); foreach ( var kvp in tickers) { Console.WriteLine( $" {kvp.Key} : {kvp.Value.Last} " ); } } await exchange.Close(); Complete Method Reference Market Data Methods Tickers & Prices fetchTicker(symbol) - Fetch ticker for one symbol fetchTickers([symbols]) - Fetch multiple tickers at once fetchBidsAsks([symbols]) - Fetch best bid/ask for multiple symbols fetchLastPrices([symbols]) - Fetch last prices fetchMarkPrices([symbols]) - Fetch mark prices (derivatives) Order Books fetchOrderBook(symbol, limit) - Fetch order book fetchOrderBooks([symbols]) - Fetch multiple order books fetchL2OrderBook(symbol) - Fetch level 2 order book fetchL3OrderBook(symbol) - Fetch level 3 order book (if supported) Trades fetchTrades(symbol, since, limit) - Fetch public trades fetchMyTrades(symbol, since, limit) - Fetch your trades (auth required) fetchOrderTrades(orderId, symbol) - Fetch trades for specific order OHLCV (Candlesticks) fetchOHLCV(symbol, timeframe, since, limit) - Fetch candlestick data fetchIndexOHLCV(symbol, timeframe) - Fetch index price OHLCV fetchMarkOHLCV(symbol, timeframe) - Fetch mark price OHLCV fetchPremiumIndexOHLCV(symbol, timeframe) - Fetch premium index OHLCV Account & Balance fetchBalance() - Fetch account balance (auth required) fetchAccounts() - Fetch sub-accounts fetchLedger(code, since, limit) - Fetch ledger history fetchLedgerEntry(id, code) - Fetch specific ledger entry fetchTransactions(code, since, limit) - Fetch transactions fetchDeposits(code, since, limit) - Fetch deposit history fetchWithdrawals(code, since, limit) - Fetch withdrawal history fetchDepositsWithdrawals(code, since, limit) - Fetch both deposits and withdrawals Trading Methods Creating Orders createOrder(symbol, type, side, amount, price, params) - Create order (generic) createLimitOrder(symbol, side, amount, price) - Create limit order createMarketOrder(symbol, side, amount) - Create market order createLimitBuyOrder(symbol, amount, price) - Buy limit order createLimitSellOrder(symbol, amount, price) - Sell limit order createMarketBuyOrder(symbol, amount) - Buy market order createMarketSellOrder(symbol, amount) - Sell market order createMarketBuyOrderWithCost(symbol, cost) - Buy with specific cost createStopLimitOrder(symbol, side, amount, price, stopPrice) - Stop-limit order createStopMarketOrder(symbol, side, amount, stopPrice) - Stop-market order createStopLossOrder(symbol, side, amount, stopPrice) - Stop-loss order createTakeProfitOrder(symbol, side, amount, takeProfitPrice) - Take-profit order createTrailingAmountOrder(symbol, side, amount, trailingAmount) - Trailing stop createTrailingPercentOrder(symbol, side, amount, trailingPercent) - Trailing stop % createTriggerOrder(symbol, side, amount, triggerPrice) - Trigger order createPostOnlyOrder(symbol, side, amount, price) - Post-only order createReduceOnlyOrder(symbol, side, amount, price) - Reduce-only order createOrders([orders]) - Create multiple orders at once createOrderWithTakeProfitAndStopLoss(symbol, type, side, amount, price, tpPrice, slPrice) - OCO order Managing Orders fetchOrder(orderId, symbol) - Fetch single order fetchOrders(symbol, since, limit) - Fetch all orders fetchOpenOrders(symbol, since, limit) - Fetch open orders fetchClosedOrders(symbol, since, limit) - Fetch closed orders fetchCanceledOrders(symbol, since, limit) - Fetch canceled orders fetchOpenOrder(orderId, symbol) - Fetch specific open order fetchOrdersByStatus(status, symbol) - Fetch orders by status cancelOrder(orderId, symbol) - Cancel single order cancelOrders([orderIds], symbol) - Cancel multiple orders cancelAllOrders(symbol) - Cancel all orders for symbol editOrder(orderId, symbol, type, side, amount, price) - Modify order Margin & Leverage fetchBorrowRate(code) - Fetch borrow rate for margin fetchBorrowRates([codes]) - Fetch multiple borrow rates
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.