Code Monkey home page Code Monkey logo

ccxt.net's Introduction

CCXT.NET - CryptoCurrency eXchange Trading Library for .NET

Build status NuGet Downloads License

This project is an extension of ccxt. If you are a .Net C# programmer, ccxt.net might be useful.

This project started in 2018/04. I plan to update it continuously.

Supported Cryptocurrency Exchange Markets

The ccxt.net library currently supports the following cryptocurrency exchange markets and trading APIs:

       logo        id name ver doc certified Country
bitforex bitforex Bitforex 1 API China
gateio gateio Gate.io 2 API China
huobipro huobipro Huobi Pro 1 API China
okex okex OKEX 1 API China, US
zb zb ZB 1 API China
bitfinex bitfinex Bitfinex 1 API British Virgin Islands
bitstamp bitstamp Bitstamp 2 API UK
cex cex CEX.IO * API UK, EU, Cyprus, Russia
anxpro anxpro ANXPro * API Japan, Singapore, Hong Kong, New Zealand
binance binance Binance * API Japan, Malta
bitflyer bitflyer bitFlyer 1 API Japan
coincheck coincheck coincheck * API Japan, Indonesia
quoinex quoinex QUOINEX 2 API Japan, China, Taiwan
bithumb bithumb Bithumb * API South Korea
coinone coinone CoinOne 2 API South Korea
korbit korbit Korbit 1 API South Korea
upbit upbit Upbit 1 API South Korea
bitmex bitmex BitMEX 1 API Seychelles
bittrex bittrex Bittrex 1.1 API US
gdax gdax GDAX * API US
gemini gemini Gemini 1 API US
itbit itbit itBit 1 API US
kraken kraken Kraken 0 API US
poloniex poloniex Poloniex * API US
gopax gopax Gopax 1 API South Korea
okcoinkr okcoinkr OKCoin KOR 1 API South Korea

The list above is updated frequently, new crypto markets, altcoin exchanges, bug fixes, API endpoints are introduced and added on a regular basis. If you don't find a cryptocurrency exchange market in the list above and/or want another exchange to be added, post or send us a link to it by opening an issue here on GitHub or via email.

The library is under MIT license, that means it's absolutely free for any developer to build commercial and opensource software on top of it, but use it at your own risk with no warranties, as is.

Install

You can also clone it into your project directory from ccxt.net GitHub repository:

git clone https://github.com/ccxt-net/ccxt.net.git

Documentation

Read the Manual for more details.

Relase

Contributing

Please read the CONTRIBUTING document before making changes that you would like adopted in the code. Also, read the Manual for more details.

Support Developer Team

We are investing a significant amount of time into the development of this library. If CCXT.NET made your life easier and you like it and want to help us improve it further or if you want to speed up new features and exchanges, please, support us with a tip. We appreciate all contributions!

Add Reference

Install-Package CCXT.NET -Version 1.4.13

dotnet add package CCXT.NET --version 1.4.13

Donations gratefully accepted.

  • Donate with Bitcoin => [15DAoUfaCanpBpTs7VQBK8dRmbQqEnF9WG]
  • Donate with Ethereum => [0x556E7EdbcCd669a42f00c1Df53D550C00814B0e3]

Contact

home-page: http://www.odinsoft.co.kr

e-mail: [email protected]

ccxt.net's People

Contributors

dependabot[bot] avatar lisa3907 avatar memoryfraction avatar quantitative-technologies avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ccxt.net's Issues

Bittrex API supported version

Hello. Are there any plans on moving the Bittrex API supported version from the current 1.1. up to 3 in the near future?

The request timed-out.

run binance sample . i'm in china.

request timeout: 0/3, /exchangeInfo
request timeout: 1/3, /exchangeInfo
request timeout: 2/3, /exchangeInfo

좋은 라이브러리 감사 드립니다

예전에 clone받아서 살짝 테스트만 해보고 손놓고 있었는데 watch를 해두었더니 issues들에 대한 메일이 와서 들어와봤습니다.
한국분 이신것 같은데 제가 혹시 도와드릴 일은 없을까요?
라이브러리를 더 깊게 알려면 프로젝트에 참여하는것도 하나의 도움이 될것 같아서요.

Binance sample error

var _public_api = new CCXT.NET.Binance.Public.PublicApi(); var _tickers = await _public_api.FetchTickersAsync();

throws:

at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)
at System.Number.ParseDecimal(ReadOnlySpan1 value, NumberStyles styles, NumberFormatInfo info) at System.Decimal.Parse(String s, NumberStyles style) at CCXT.NET.Shared.Serialize.DecimalConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType) at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings) at CCXT.NET.Shared.Coin.XApiClient.DeserializeObject[T](String json_string) at CCXT.NET.Binance.Public.PublicApi.<FetchTickersAsync>d__5.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Threading.Tasks.ValueTask1.get_Result()
at System.Runtime.CompilerServices.ValueTaskAwaiter`1.GetResult()

Is order placement supported?

I was just looking through the code, and it looks like the CreateOrder functions are not implemented yet.

Is it correct, that this library cannot yet be used to place orders?

Current situation with main CCXT?

Hi
As original ccxt added support for C#, I had 2 questions?

Is there any relation with this project & original ccxt (C# version)?
Will this project develop anymore?

Are there plans to support the FetchPositions etc from CCXT?

Are there plans to support the FetchPositions from CCXT? I've opened some leveraged short sells through the Kraken UI as examples, and I was wondering how I could see them in any CCXT.Net call? It appears that there is the facility in CCXT to do it already, but I'm assuming that it hasn't been extended in CCXT.Net to be plugged in?

Where can I find corresponding CreateAddressAsync function in JavaScript.

Hello:
I used CCXT JavaScript for a while, but I have issue to for FetchAddress on its JavaScript for exchange Poloniex.
I looked at ccxt.net source code, and I found there is one statement like this:
var _new_address = await _private_api.CreateAddressAsync("XRP", GetJsonContent(_private_api.privateClient, "createAddress", _args));
But I can't find the corresponding function in JavaScript.
Let me know if I have to use this function before I can use FetchAddressAsync, or this is the only exception for exchange: Poloniex.
I am using Windows 10 (21H2), and nuget package CCXT.NET version 1.4.13.
Please advise,
Thanks,

Bittrex 1.1 Api past end of life.

HI I am having an issue creating orders on Bittrex and I noticed you are still using version 1.1 of Bittrex API. Bittrex say this needs to be upgraded to version 3 so I wondered if you had any plans to do this?

Issue seems to be with TradeApi CreateLimitOrder

Thanks!

FetchOHLCVs errors since update

Not sure if this is the appropriate place to post, or if it should be in CCXT, or the Odinsoft library.

I've had CCXT.Net working perfectly in c# until I mistakenly hit "Update all Nuget packages" yesterday. Things seem to have gone a little awry. "FetchOHLCVs" on the public api for example appears to have now completely disappeared to be replaced with "FetchOHLCVsAsync" as the only option which in return gives me a "Not Supported" error. I've switched packages back and forward in version (OdinSoft and CCXT.Net) to try and get things working as they were, but cannot get a version of Fetching OHLCVs to work again (I've had the old one working for 4 months without issue). I've broken it down to a simple 2 lines now for testing purposes (I had it doing reflection to create objects from config files previously). Basically, I want to call for OHLCVs on the Kraken exchange. Any thoughts on why it's not working any more and what my approach should be...

var kPublic = new CCXT.NET.Kraken.Public.PublicApi();
var OHLCVs = await kPublic.FetchOHLCVs(BaseAsset, QuoteAsset, timeframe, Since, MaxCount);

gives me a "Method not found" at runtime (but not at design time)

var kPublic = new CCXT.NET.Kraken.Public.PublicApi();
var OHLCVs = await kPublic.FetchOHLCVsAsync(BaseAsset, QuoteAsset, timeframe, Since, MaxCount);

gives me a "Not supported" error code.

What has changed to make this suddenly appear incompatible? I have the following versions:
CCXT.Net: 1.3.6
OdinSdk.BaseLib: 2.2.8 (I noticed that this seems to have been changed more recently)

Netcoreapp 2.2 Compatibility

This Library isn't compatible with Netcoreapp2.2 therefore I can't download it to my Project. Is there a way solve this problem?

What methods are supported

Hi, I've tried getting ticker on multiple pairs and still getting ""not supoorted yet".

I mean like:

var ticker = await _public_api.FetchTickerAsync("btc", "usd");

but in markets I can see this pair. In what state i currently this library? Tickers are not implemented as I see in code?

Phemex Exchange

Any plans to inlcude the phemex exchange soon or in progress allready?

Forking this project, I'm not seeing many objects that are part of the Nuget package

I've written a simplistic trading tool using the Nuget package linked within this application. I need to make some minor additions for my own needs, so I forked and pulled down the project. I'm sure this isn't an exhausted list but I can't find project members like IPublicOrder or PublicTicker. Specifically, these are within the Poloniex library.

Is a part of this project source missing from this repo, that's built into the Nuget package?

getting the following errors when building the project

MAIL-FROM: Nir Samocha [mailto:[email protected]]

Hi,
Thank you for contributing and providing the framework for working with CCXT and .net.

I am trying to work with the code on 
https://github.com/lisa3907/ccxt.net.

However, it is not clear to me how to work with it.
I am getting the following errors when building the project:

1. The current .NET SDK does not support targeting .NET Core 3.0.  Either target .NET Core 1.1 or lower, or use a version of the .NET SDK that supports .NET Core 3.0.	ccxt.net 

2. NETSDK1050	The version of Microsoft.NET.Sdk used by this project is insufficient to support references to libraries targeting .NET Standard 1.5 or higher.  Please install version 2.0 or higher of the .NET Core SDK.	ccxt.net (src\ccxt.net)	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.NETFramework.targets	67	

3.The current .NET SDK does not support targeting .NET Standard 2.0.  Either target .NET Standard 1.6 or lower, or use a version of the .NET SDK that supports .NET Standard 2.0.	ccxt.net (src\ccxt.net)	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets	126	


I've installed the .net core 3 ,2.2 and every SDK stated in the errors. 

Could you please help?

Thank you in advance,
Nir

Could not install package 'CCXT.NET 1.0.0'

The package 'CCXT.NET 1.0.0' can not be installed.Why?
Error
Could not install package 'CCXT.NET 1.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.6.1', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

System.AggregateException

The below exception is being returned when I execute the following code:
var client = new TradeApi(publicKey, privateKey);
var _trades = client.GetTrades(CurrencyPair.Parse("XRP_BTC"), startDate, endDate).Result;

System.AggregateException
HResult=0x80131500
Message=One or more errors occurred.
Source=mscorlib
StackTrace:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task1.get_Result()
at KpmgKY.PrivateApiTool.Service.Services.PoloniexService.GetTradeHistory(String publicKey, String privateKey, DateTime startDate, DateTime endDate) in C:\KpmgKY.Development\KpmgKY.PrivateAPITool\src\KpmgKY.PrivateApiTool.Service\Services\PoloniexService.cs:line 48

Inner Exception 1:
JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[CCXT.NET.Poloniex.Trade.TradeOrder]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'error', line 1, position 9.

the different between FetchMarkets method on public API and LoadMarkets

MAIL-FROM: Andrew Tollervey [email protected]

Hi there,

Firstly, good work on your ccxt.net. It must have taken you a good while.

Quick question regarding - https://github.com/lisa3907/ccxt.net

Can you explain the different between FetchMarkets method on public API and LoadMarkets in your base library, and why I would use one over the other in various scenarios…

Many thanks,

Andrew
p.s. I added a possible fix to a bug - kraten publicApi.cs file:

added following within FetchMarkets method:

if ((_market.baseId.Substring(0, 1) == "X" || _market.baseId.Substring(0, 1) == "Z") && _market.baseId.Length > 3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.