https://github.com/jkorf/hyperliquid.net
A C# .netstandard client library for the HyperLiquid DEX REST and Websocket Spot and Futures API focusing on clear usage and models
https://github.com/jkorf/hyperliquid.net
api-wrapper crypto cryptocurrency cryptocurrency-exchanges csharp decentralized-exchange dex dotnet exchange hyperliquid
Last synced: 4 months ago
JSON representation
A C# .netstandard client library for the HyperLiquid DEX REST and Websocket Spot and Futures API focusing on clear usage and models
- Host: GitHub
- URL: https://github.com/jkorf/hyperliquid.net
- Owner: JKorf
- License: mit
- Created: 2025-01-13T13:59:49.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-03-19T14:23:19.000Z (7 months ago)
- Last Synced: 2025-03-21T22:12:47.826Z (7 months ago)
- Topics: api-wrapper, crypto, cryptocurrency, cryptocurrency-exchanges, csharp, decentralized-exchange, dex, dotnet, exchange, hyperliquid
- Language: C#
- Homepage: https://jkorf.github.io/HyperLiquid.Net/
- Size: 4.14 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
#  HyperLiquid.Net
[](https://github.com/JKorf/HyperLiquid.Net/actions/workflows/dotnet.yml) 
HyperLiquid.Net is a client library for accessing the [HyperLiquid DEX REST and Websocket API](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api).
## Features
* Response data is mapped to descriptive models
* Input parameters and response values are mapped to discriptive enum values where possible
* Automatic websocket (re)connection management
* Client side rate limiting
* Client side order book implementation
* Extensive logging
* Support for different environments
* Easy integration with other exchange client based on the CryptoExchange.Net base library## 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|## Install the library
### NuGet
[](https://www.nuget.org/packages/HyperLiquid.Net) [](https://www.nuget.org/packages/HyperLiquid.Net)dotnet add package HyperLiquid.Net
### GitHub packages
HyperLiquid.Net is available on [GitHub packages](https://github.com/JKorf/HyperLiquid.Net/pkgs/nuget/HyperLiquid.Net). You'll need to add `https://nuget.pkg.github.com/JKorf/index.json` as a NuGet package source.### Download release
[](https://github.com/JKorf/HyperLiquid.Net/releases)The NuGet package files are added along side the source with the latest GitHub release which can found [here](https://github.com/JKorf/HyperLiquid.Net/releases).
## How to use
The library uses `[BaseAsset]/[QuoteAsset]` notation for Spot symbols and `[BaseAsset]` for futures symbols. Futures symbols inherently have `USDC` as quote symbol.
**Spot symbol**: `HYPE/USDC`
**Futures symbol**: `HYPE`* REST Endpoints
```csharp
var restClient = new HyperLiquidRestClient();
// Spot HYPE/USDC info
var spotTickerResult = await restClient.SpotApi.ExchangeData.GetExchangeInfoAndTickersAsync();
var hypeInfo = spotTickerResult.Data.Tickers.Single(x => x.Symbol == "HYPE/USDC");
var currentHypePrice = hypeInfo.MidPrice;// Futures ETH perpetual contract info
var futuresTickerResult = await restClient.FuturesApi.ExchangeData.GetExchangeInfoAndTickersAsync();
var ethInfo = futuresTickerResult.Data.Tickers.Single(x => x.Symbol == "ETH");
var currentEthPrice = ethInfo.MidPrice;
```
* Websocket streams
```csharp
// Subscribe to HYPE/USDC Spot ticker updates via the websocket API
var socketClient = new HyperLiquidSocketClient();
var tickerSubscriptionResult = await hyperLiquidSocketClient.SpotApi.SubscribeToSymbolUpdatesAsync("HYPE/USDC", (update) =>
{
var lastPrice = update.Data.MidPrice;
});
```For information on the clients, dependency injection, response processing and more see the [documentation](https://jkorf.github.io/CryptoExchange.Net), or have a look at the examples [here](https://github.com/JKorf/HyperLiquid.Net/tree/main/Examples) or [here](https://github.com/JKorf/CryptoExchange.Net/tree/master/Examples).
## CryptoExchange.Net
HyperLiquid.Net is based on the [CryptoExchange.Net](https://github.com/JKorf/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](https://jkorf.github.io/CryptoExchange.Net#idocs_shared).
|Exchange|Repository|Nuget|
|--|--|--|
|Binance|[JKorf/Binance.Net](https://github.com/JKorf/Binance.Net)|[](https://www.nuget.org/packages/Binance.Net)|
|BingX|[JKorf/BingX.Net](https://github.com/JKorf/BingX.Net)|[](https://www.nuget.org/packages/JK.BingX.Net)|
|Bitfinex|[JKorf/Bitfinex.Net](https://github.com/JKorf/Bitfinex.Net)|[](https://www.nuget.org/packages/Bitfinex.Net)|
|Bitget|[JKorf/Bitget.Net](https://github.com/JKorf/Bitget.Net)|[](https://www.nuget.org/packages/JK.Bitget.Net)|
|BitMart|[JKorf/BitMart.Net](https://github.com/JKorf/BitMart.Net)|[](https://www.nuget.org/packages/BitMart.Net)|
|BitMEX|[JKorf/BitMEX.Net](https://github.com/JKorf/BitMEX.Net)|[](https://www.nuget.org/packages/JKorf.BitMEX.Net)|
|Bybit|[JKorf/Bybit.Net](https://github.com/JKorf/Bybit.Net)|[](https://www.nuget.org/packages/Bybit.Net)|
|Coinbase|[JKorf/Coinbase.Net](https://github.com/JKorf/Coinbase.Net)|[](https://www.nuget.org/packages/JKorf.Coinbase.Net)|
|CoinEx|[JKorf/CoinEx.Net](https://github.com/JKorf/CoinEx.Net)|[](https://www.nuget.org/packages/CoinEx.Net)|
|CoinGecko|[JKorf/CoinGecko.Net](https://github.com/JKorf/CoinGecko.Net)|[](https://www.nuget.org/packages/CoinGecko.Net)|
|Crypto.com|[JKorf/CryptoCom.Net](https://github.com/JKorf/CryptoCom.Net)|[](https://www.nuget.org/packages/CryptoCom.Net)|
|DeepCoin|[JKorf/DeepCoin.Net](https://github.com/JKorf/DeepCoin.Net)|[](https://www.nuget.org/packages/DeepCoin.Net)|
|Gate.io|[JKorf/GateIo.Net](https://github.com/JKorf/GateIo.Net)|[](https://www.nuget.org/packages/GateIo.Net)|
|HTX|[JKorf/HTX.Net](https://github.com/JKorf/HTX.Net)|[](https://www.nuget.org/packages/Jkorf.HTX.Net)|
|Kraken|[JKorf/Kraken.Net](https://github.com/JKorf/Kraken.Net)|[](https://www.nuget.org/packages/KrakenExchange.Net)|
|Kucoin|[JKorf/Kucoin.Net](https://github.com/JKorf/Kucoin.Net)|[](https://www.nuget.org/packages/Kucoin.Net)|
|Mexc|[JKorf/Mexc.Net](https://github.com/JKorf/Mexc.Net)|[](https://www.nuget.org/packages/JK.Mexc.Net)|
|OKX|[JKorf/OKX.Net](https://github.com/JKorf/OKX.Net)|[](https://www.nuget.org/packages/JK.OKX.Net)|
|WhiteBit|[JKorf/WhiteBit.Net](https://github.com/JKorf/WhiteBit.Net)|[](https://www.nuget.org/packages/WhiteBit.Net)|
|XT|[JKorf/XT.Net](https://github.com/JKorf/XT.Net)|[](https://www.nuget.org/packages/XT.Net)|When using multiple of these API's the [CryptoClients.Net](https://github.com/JKorf/CryptoClients.Net) package can be used which combines this and the other packages and allows easy access to all exchange API's.
## Discord
[](https://discord.gg/MSpeEtSY8t)
A Discord server is available [here](https://discord.gg/MSpeEtSY8t). For discussion and/or questions around the CryptoExchange.Net and implementation libraries, feel free to join.## Supported functionality
### Rest
|API|Supported|Location|
|--|--:|--|
|Info|✓|`restClient.SpotApi.Account` / `restClient.SpotApi.ExchangeData` / `restClient.SpotApi.Trading` `restClient.FuturesApi.Account` / `restClient.FuturesApi.ExchangeData` / `restClient.FuturesApi.Trading`|
|Info Perpetuals|✓|`restClient.FuturesApi.Account` / `restClient.FuturesApi.ExchangeData`|
|Info Spot|✓|`restClient.SpotApi.Account` / `restClient.SpotApi.ExchangeData`|
|Exchange|✓|`restClient.SpotApi.Account` / `restClient.SpotApi.Trading` `restClient.FuturesApi.Account` / `restClient.FuturesApi.Trading`|### Websocket
|API|Supported|Location|
|--|--:|--|
|*|✓|`socketClient.SpotApi` / `socketClient.FuturesApi`|## Support the project
Any support is greatly appreciated.### Referral
If you do not yet have an account please consider using this referal link to sign up:
[Link](https://app.hyperliquid.xyz/join/JKORF)
Not only will you support development at no cost, you also get a 4% discount in fees.### 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](https://github.com/sponsors/JKorf).## Release notes
* Version 1.1.0 - 11 Feb 2025
* Updated CryptoExchange.Net to version 8.8.0, see https://github.com/JKorf/CryptoExchange.Net/releases/
* Added support for more SharedKlineInterval values
* Added setting of DataTime value on websocket DataEvent updates
* Fix Mono runtime exception on rest client construction using DI* Version 1.0.1 - 22 Jan 2025
* Added DisplayName and ImageUrl to HyperLiquidExchange class
* Update HyperLiquidOptions object to make use of LibraryOptions base class* Version 1.0.0 - 21 Jan 2025
* Initial release