Code Monkey home page Code Monkey logo

coingecko.net's Introduction

.CoinGecko.Net CoinGecko.Net

.NET

CoinGecko.Net is a strongly typed client library for accessing the CoinGecko REST API. All data is mapped to readable models and enum values.

Supported Frameworks

The library is targeting both .NET Standard 2.0 and .NET Standard 2.1 for optimal compatibility

.NET implementation Version Support
.NET Core 2.0 and higher
.NET Framework 4.6.1 and higher
Mono 5.4 and higher
Xamarin.iOS 10.14 and higher
Xamarin.Android 8.0 and higher
UWP 10.0.16299 and higher
Unity 2018.1 and higher

Get the library

Nuget version Nuget downloads

dotnet add package CoinGecko.Net

How to use

REST Endpoints

// Get the ETH/USDT ticker via rest request
var restClient = new CoinGeckoRestClient();
var tickerResult = await restClient.Api.GetMarketsAsync("USD");
var lastPrice = tickerResult.Data.First().CurrentPrice;

For information on the clients, dependency injection, response processing and more see the CoinGecko.Net documentation, CryptoExchange.Net documentation, or have a look at the examples here or here.

CryptoExchange.Net

CoinGecko.Net is based on the CryptoExchange.Net base library. Other exchange API implementations based on the CryptoExchange.Net base library are available and follow the same logic.

CryptoExchange.Net also allows for easy access to different exchange API's.

Exchange Repository Nuget
Binance JKorf/Binance.Net Nuget version
BingX JKorf/BingX.Net Nuget version
Bitfinex JKorf/Bitfinex.Net Nuget version
Bitget JKorf/Bitget.Net Nuget version
Bybit JKorf/Bybit.Net Nuget version
CoinEx JKorf/CoinEx.Net Nuget version
Huobi/HTX JKorf/Huobi.Net Nuget version
Kraken JKorf/Kraken.Net Nuget version
Kucoin JKorf/Kucoin.Net Nuget version
Mexc JKorf/Mexc.Net Nuget version
OKX JKorf/OKX.Net Nuget version

Discord

Nuget version
A Discord server is available here. Feel free to join for discussion and/or questions around the CryptoExchange.Net and implementation libraries.

Supported functionality

V3 API

API Supported Location
Ping restClient.Api
Simple restClient.Api
Coins restClient.Api
Contract X
Asset Platforms restClient.Api
Categories restClient.Api
Exchanges restClient.Api
Derivatives restClient.Api
Nfts X
Exchange Rates restClient.Api
Search restClient.Api
Trending restClient.Api
Global restClient.Api
Companies X

Support the project

I develop and maintain this package on my own for free in my spare time, any support is greatly appreciated.

Donate

Make a one time donation in a crypto currency of your choice. If you prefer to donate a currency not listed here please contact me.

Btc: bc1q277a5n54s2l2mzlu778ef7lpkwhjhyvghuv8qf
Eth: 0xcb1b63aCF9fef2755eBf4a0506250074496Ad5b7
USDT (TRX) TKigKeJPXZYyMVDgMyXxMf17MWYia92Rjd

Sponsor

Alternatively, sponsor me on Github using Github Sponsors.

Release notes

coingecko.net's People

Contributors

bradtus avatar jkorf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

coingecko.net's Issues

GetAssetDetails - Unexpected character encountered while parsing value

Describe the bug
When trying to retrieve details by some coin like wbtc then get the error.

To Reproduce

var client = new CoinGeckoRestClient();
var response = await client.Api.GetAssetDetailsAsync("wbtc");

Expected behavior
no errors

Debug logging
Deserialize JsonReaderException: Unexpected character encountered while parsing value: {. Path 'market_data.total_value_locked', line 1, position 26513., Path: market_data.total_value_locked, LineNumber: 1, LinePosition: 26513

Input string '8.721952937706929e+36' is not a valid decimal

Describe the bug
When trying to retrieve 1000 coins with markets then get the error.
Please check API Docs https://www.coingecko.com/api/documentation?deepLinking=1#/coins/get_coins_markets
, there is precision filter. It might be helpful.

To Reproduce

var client = new CoinGeckoRestClient();
var coinsResponse = await client.Api.GetMarketsAsync("usd", pageSize: 1000);

var coinsResponse2 = await client.Api.GetMarketsAsync("usd", category: "cryptocurrency", pageSize: 100);

Expected behavior
no errors

Debug logging
Deserialize JsonReaderException: Input string '8.721952937706929e+36' is not a valid decimal. Path '[165].atl_change_percentage', line 1, position 132925., Path: [165].atl_change_percentage, LineNumber: 1, LinePosition: 132925

Deserialize JsonSerializationException: Error converting value {null} to type 'System.Decimal'. Path '[51].high_24h', line 1, position 40595.

JsonSerializationException in GetAssetDetailsAsync

When calling GetAssetDetailsAsync a JsonSerializationException is thrown, due to the fact that CoinGeckoRank is defined as an integer, but in fact null values will occur. This property should be changed from “int” to “int?” instead.

Info - Error timeout

Describe the bug
hello, unfortunately I often receive knockouts due to timeouts even on single calls made several minutes apart. Reading in the various forums I saw that there are some options to lengthen the time out but I don't understand how to set them. Can you give me an example? timeouts: 10000,
autoRetry: true,

example
https://www.npmjs.com/package/coingecko-api-v3

Thanks very much for your work.

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.