JKorf / OKX.Net

A C# .netstandard client library for the OKX REST and Websocket Spot and Futures API focusing on clear usage and models
https://jkorf.github.io/OKX.Net/
MIT License
26 stars 14 forks source link
api-client crypto cryptocurrencies cryptocurrency cryptocurrency-exchanges cryptocurrency-prices market-data okex okex-api okex-v5-api okx okx-api okx-exchange okx-net okx-sdk okx-v5

Icon! OKX.Net

.NET License

OKX.Net is strongly typed client library for accessing the OKX REST and Websocket API. All data is mapped to readable models and enum values. Additional features include an implementation for maintaining a client side order book, easy integration with other exchange client libraries and more.

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 JK.OKX.Net

How to use

REST Endpoints

// Get the ETH/USDT ticker via rest request
var restClient = new OKXRestClient();
var tickerResult = await restClient.UnifiedApi.ExchangeData.GetTickerAsync("ETH-USDT");
var lastPrice = tickerResult.Data.LastPrice;

Websocket streams

// Subscribe to ETH/USDT ticker updates via the websocket API
var socketClient = new OKXSocketClient();
var tickerSubscriptionResult = socketClient.UnifiedApi.ExchangeData.SubscribeToTickerUpdatesAsync("ETH-USDT", (update) =>
{
    var lastPrice = update.Data.LastPrice;
});

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

CryptoExchange.Net

OKX.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
CoinGecko JKorf/CoinGecko.Net Nuget version
Gate.io JKorf/GateIo.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

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

Unified API

API Supported Location
Trading Account Rest restClient.UnifiedApi.Account
Trading Account Websocket socketClient.UnifiedApi.Account
Order Book Trade Rest restClient.UnifiedApi.Trading
Order Book Trade Websocket socketClient.UnifiedApi.Trading
Order Book Algo Trading Rest restClient.UnifiedApi.Trading
Order Book Algo Trading Websocket socketClient.UnifiedApi.Trading
Order Book Grid Trading Rest x
Order Book Grid Trading Websocket x
Order Book Signal Trading Rest x
Order Book Recurring Buy Rest x
Order Book Recurring Buy Websocket x
Order Book Copy Trading Rest x
Order Book Copy Trading Websocket x
Order Book Market Data Rest restClient.UnifiedApi.ExchangeData
Order Book Market Data Websocket socketClient.UnifiedApi.ExchangeData
Block Trading X
Spread Trading X
Public Data Rest restClient.UnifiedApi.ExchangeData
Public Data Websocket socketClient.UnifiedApi.ExchangeData
Trading Statistics restClient.UnifiedApi.ExchangeData
Funding Account Rest restClient.UnifiedApi.Account
Funding Account Websocket socketClient.UnifiedApi.Account
Sub-Account restClient.UnifiedApi.SubAccounts
Financial Product X
Affiliate X
Status Rest restClient.UnifiedApi.ExchangeData
Status Websocket socketClient.UnifiedApi.ExchangeData

Broker API

API Supported Location
Trading Account Rest 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