ExchangeSharp Versions Save

ExchangeSharp is a powerful, fast and easy to use .NET/C# API for interfacing with many crypto currency exchanges. REST and web sockets are supported.

v1.1.0

4 months ago

Changes

🚀 Features

  • Featurefix digifinex on get order details async @youskypif (#819)
  • Coinbase API V2/V3 Updates @BobDeCuir (#818)
  • fix: Extends the order data from the kraken order placed @O-Mutt (#813)
  • Binance: assign orderId to fees @O-Mutt (#811)

🐛 Bug Fixes

  • Fix KuCoin average price @v36u (#823)
  • fix: Binance issue where Fees = null so null += Anything == null @O-Mutt (#812)
  • [Bybit] Changed endpoint for unified account status @TarasMi (#806)

🧰 Maintenance

  • new NuGet 1.1.0 @vslee (#825)
  • update release-release-drafter @vslee (#824)
  • update projects to .net 8.0 @vslee (#822)
  • rename master branch to main @vslee (#821)
  • updated dependencies @vslee (#820)
  • chore: automated format @O-Mutt (#814)

v1.0.4

1 year ago

Changes

🚀 Features

  • Implementation of Bybit V5 unified API @TarasMi (#801)
  • Fix CryptoUtility.PrecisionToStepSize and add rate limit for Poloniex @BZ-CO (#800)
  • [Poloniex] Add websocket candle feed @BZ-CO (#799)
  • Migration to the new Poloniex API [Public WS endpoints] @BZ-CO (#798)
  • Migration to the new Poloniex API [Private endpoints] @BZ-CO (#797)
  • Migration to the new Poloniex API [Public endpoints only] @BZ-CO (#795)

🐛 Bug Fixes

  • fix binance ticker websocket with symbol @szmcdull (#794)
  • fix KuCoin override CheckJsonResponse @BZ-CO (#792)

🧰 Maintenance

  • new NuGet 1.0.4 @vslee (#804)
  • updated dependencies @vslee (#803)
  • [Bybit] Changed bybit exchange names @TarasMi (#802)

v1.0.3

1 year ago

Changes

🚀 Features

  • added rate limiter for BinanceGroupCommon @vslee (#784)
  • Bitstamp order fees @d-ugarov (#782)
  • finalize Azure Artifact build in pipeline @vslee (#779)
  • skip tests and add pack/push to Azure pipleline @vslee (#776)

🐛 Bug Fixes

  • Binance currencies null ref fix @jjxtra (#788)
  • fix Binance OnGetTickersAsync @BZ-CO (#787)
  • Fix for Binance currencies @jjxtra (#786)
  • further HTTPHeaderDate fix @vslee (#781)
  • Changing OKX order book channel @BZ-CO (#778)
  • try push to Azure Artifacts feed @vslee (#777)
  • fix HTTPHeaderDate in BaseAPI @vslee (#775)

🧰 Maintenance

  • new NuGet 1.0.3 @vslee (#790)

v1.0.2

2 years ago

Changes

🚀 Features

  • add trade stream for BtcTurk @vslee (#772)
  • provide HTTPHeaderDate when placing Coinbase orders @vslee (#771)

🐛 Bug Fixes

  • fix AmountFilled in Binance user stream @vslee (#770)
  • refactored binance symbol stream limit @vslee (#769)
  • fix 'post only' order placement in Binance @vslee (#767)
  • fix BitMex market symbol parsing @vslee (#773)

🧰 Maintenance

  • enable release-drafter via GH actions @vslee (#774)
  • new NuGet 1.0.2 @vslee (#773)

v1.0.1

2 years ago

Changes

🚀 Features

  • add trade stream for UPbit @vslee (#765)
  • add trade stream for Coincheck @vslee (#762)
  • upgrade Huobi MarketSymbolsMetadata to V2 @vslee (#759)
  • set RateLimit for Coinbase @vslee (#756)

🐛 Bug Fixes

  • respond to ping on LBank trades stream @vslee (#764)
  • fix setting ConnectInterval on Bitflyer @vslee (#763)
  • fix symbol parsing in Bithumb trade stream @vslee (#761)
  • fix Crypto.com trade stream errors @vslee (#760)
  • Set MarketSymbolIsUppercase to true for all Binance based exchanges @vslee (#758)
  • fixed JSON deserialization in Coinbase with new SerializerSettings @vslee (#757)
  • Set MarketSymbolIsUppercase to true in ExchangeBinanceAPI @miguel1117 (#754)

🧰 Maintenance

  • new NuGet 1.0.1 @vslee (#766)

v1.0.0

2 years ago

Changes

🚀 Features

  • parse error in FTX trade stream @vslee (#749)
  • add trade stream for ApolloX @vslee (#748)
  • add trade stream for Crypto.com exchange @vslee (#746)
  • add Logger.LogWrite event @vslee (#745)
  • add trade stream for Dydx @vslee (#744)
  • add trade stream to LBank @vslee (#741)
  • add trade stream for Bitflyer @vslee (#740)
  • add trade stream to Gate.IO @vslee (#739)
  • parse Bybit specific CrossSequence in Trades stream @vslee (#737)
  • added ability to CancelOrder() by ClientOrderId @vslee (#734)
  • parse QuoteCurrency in NDAX MarketSymbolMetadata @vslee (#727)
  • parse Binance specific ExchangeMarket properties @vslee (#725)
  • add trade stream to Bithumb @vslee (#722)
  • add FTX.US and trade stream to FTX @vslee (#721)
  • Feature/coinmate @bezysoftware (#718)
  • parse QuantityStepSize (base_increment) in Coinbase @vslee (#715)

🐛 Bug Fixes

  • update Digifinex urls @vslee (#747)
  • fix Poloniex trade stream @vslee (#738)
  • fix KuCoin trade stream ID parsing @vslee (#736)
  • find Korea timezone on Linux @vslee (#732)
  • change ExchangeMarket properties to nullable @vslee (#730)
  • update websocket URL for ZB.com @vslee (#720)
  • remove excessive IsPostOnly check in ExchangeAPI.cs @vslee (#717)
  • fix GetFullOrderBookWebSocketAsync data inconsistency @BZ-CO (#714)

🧰 Maintenance

  • new NuGet 1.0.0 @vslee (#752)
  • updated dependencies @vslee (#751)
  • update readme and tests @vslee (#750)
  • update OKCoin WS URL @vslee (#743)
  • update Huobi trade stream @vslee (#742)
  • standardize exception types @vslee (#735)
  • renamed some remaining market symbols @vslee (#733)
  • test time zone for trades stream @vslee (#729)
  • add test for trades stream @vslee (#726)
  • log error on Huobi trade stream @vslee (#719)

💔 Breaking changes

  • most ExchangeMarket properties are now nullable
  • PlaceSafeMarketOrderAsync() parameter is now named marketSymbol
  • CancelOrder() now supports ClientOrderId
  • exception types have been standardized

v0.9.2

2 years ago

Changes

🚀 Features

  • Implement OnGetFeesAsync for Coinbase @sigged (#704)
  • Use a single rate gate per type of api @jjxtra (#702)
  • Create exchange API by name @bezysoftware (#695)
  • Implemented OnGetCandlesWebSocketAsync for BinanceGroup @BZ-CO (#692)
  • Withdrawal fees @bezysoftware (#691)

🐛 Bug Fixes

  • [FIX] [Bitfinex] Fixed market symbol separator (#699) @MatheusKlauck (#707)
  • fix OKEx OnGetAmountsAsync @BZ-CO (#706)
  • [FIX] [Bitfinex] Submit stop order at margin account (#698) @MatheusKlauck (#701)
  • Update Okex OnPlaceOrderAsync @BZ-CO (#688)
  • Update OnPlaceOrderAsync Okex @BZ-CO (#687)

🧰 Maintenance

  • new NuGet 0.9.2 @vslee (#710)
  • refactor ExchangeOrderBook.MergeOrderBookDelta() @vslee (#709)
  • Update README.md description @vslee (#708)
  • OKEx RateLimit @BZ-CO (#694)

v0.9.1

2 years ago

Changes

🚀 Features

  • Moving to OKEx V5 WebSocket API @BZ-CO (#685)
  • Moving to OKEx V5 API part 3 @BZ-CO (#679)
  • add ExchangeOrderResult.TradeDate @vslee (#678)
  • FTX OnGetTickerAsync and OnWithdrawAsync @bezysoftware (#675)
  • Moving to OKEx V5 API #2 @BZ-CO (#674)

🐛 Bug Fixes

  • Make GetExchangeAPIsAsync return all instances as previous @Kukks (#684)
  • fix BinanceGroupCommon @BZ-CO (#677)
  • [FTX] Fix OnGetOrderDetailsAsync @bezysoftware (#676)
  • fix BinanceGroupCommon OnGetMarketSymbolsMetadataAsync @BZ-CO (#673)

🧰 Maintenance

  • new NuGet 0.9.1 @vslee (#686)
  • added checks during cancel Order @vslee (#683)
  • add ExchangeOrderResult.UpdateSequence @vslee (#680)

v0.9.0

2 years ago

Changes

🚀 Features

  • [Kraken] Withdrawal, cleanup @bezysoftware (#670)
  • implemented OnUserDataWebSocketAsync() on Coinbase @vslee (#665)
  • FTX Exchange Implemented @Plumbly (#663)
  • [UNTESTED] [Binance] sapi endpoint, cleanup @bezysoftware (#655)
  • [Coinbase] withdrawal @bezysoftware (#657)
  • Standardize isPostOnly @vslee (#651)
  • Added ability to GetOrderDetailsAsync() by ClientOrderId @vslee (#647)
  • Moving to OKEx V5 API @BZ-CO (#638)
  • Gate.io: GetAmounts + GetAmountsAvailableToTrade @gajewskiArek (#637)
  • added Gate.io ExchangeAPI implementation @gajewskiArek (#636)

🐛 Bug Fixes

  • FTX namespace update @Plumbly (#669)
  • fix BinanceGroupCommon OnGetCurrenciesAsync() @BZ-CO (#664)
  • [Coinbase] fix withdraw nonce @bezysoftware (#660)
  • [Binance] Allow market order without price @bezysoftware (#653)
  • [Poloniex] Parse withdrawalNumber @bezysoftware (#650)
  • [Bitstamp] OnGetOrderDetailsAsync set orderId @bezysoftware (#648)
  • Fixed setting Order.AveragePrice to null when Quantity is zero @vslee (#646)
  • [Bitstamp] Populate order status @bezysoftware (#645)
  • Fix parsing Bitfinex ticker symbol @bezysoftware (#640)

🧰 Maintenance

  • new NuGet 0.9.0 @vslee (#671)
  • Update README.md - grammar fixes @evil-maid (#672)
  • Async ExchangeAPI init @bezysoftware (#668)
  • Added Expired and PendingOpen to ExchangeAPIOrderResult @vslee (#667)
  • Rewrite Binance OnGetUserDataWebSocketAsync() to be multi-exchange friendly @vslee (#661)
  • Change binance UserDataStream classes back to internal @vslee (#659)
  • More command line options for testing @bezysoftware (#658)
  • Add setters to IAPIRequestHandler properties @vslee (#635)

💔 Breaking changes

  • please switch to using the async version of GetExchangeAPIAsync()
  • ExchangeOrderResult.FillDate has been changed to CompletionDate and made nullable. This is because this can represent either the Filled date or the Cancelled, Rejected, or Expired date. And it doesn't necessarily have a value.
  • ExchangeOrderResult.AmountFilled and ExchangeOrderResult.Fees changed to nullable. Not all exchanges provide these values on every call.
  • removed listenKey from GetUserDataWebSocketAsync()
  • OnGetUserDataWebSocketAsync() was rewritten
  • ExchangeOrderRequest.IsPostOnly was introduced

For the ExchangeAPIOrderResult enum:

  • PendingOpen is an important state that many exchanges have, which is separate from Open
  • Renamed Pending state to Open
  • Renamed Error state to Rejected, since this is how most exchanges refer to it
  • Added Expired state, which is separate from Rejected

v0.8.2

2 years ago

Changes

🚀 Features

  • Add trade count to MarketCandle, and scrape from Kraken Exchange @jdx-john (#628)
  • Add simple orderbook merging from updates @jdx-john (#627)
  • Allow creating new instance of exchange @jjxtra (#613)
  • Poloniex OnPlaceOrderAsync improvement. @BZ-CO (#612)
  • change System.Net.HttpWebRequest to System.Net.Http.HttpClient @szmcdull (#607)
  • Feature/kraken private websocket support @EmergentCybernetics (#603)

🐛 Bug Fixes

  • Update BinanceGroup ParseOrder @BZ-CO (#631)
  • Poloniex ParseOrderTrades fix @BZ-CO (#630)
  • Keep order removals in Gemini order book deltas. @itsalexkwok (#629)
  • Fix Kraken WS orderbook updates and add checksum support @jdx-john (#626)
  • Added parsing of kraken order fees @Plumbly (#625)
  • Fixed market order bug using Order.Price @vslee (#620)
  • Better symbol name translation and error detection in KrakenExchange.OnGetTickersAsync() @jdx-john (#618)
  • Poloniex order status fix @BZ-CO (#616)
  • Use TryAddWithoutValidation() when setting HTTP headers. @EmergentCybernetics (#611)

🧰 Maintenance

  • new NuGet 0.8.2 @vslee (#633)
  • Add missing properties from BaseAPI to IBaseAPI @vslee (#632)
  • Add missing REST methods from ExchangeAPI to IExchangeAPI @vslee (#622)