Overview
Quicknode maintains community SDKs in multiple languages for building on Hyperliquid. These SDKs provide access to HyperCore trading APIs, Info endpoints, streaming data, and HyperEVM smart contract interactions.
These are unofficial community SDKs developed and maintained by Quicknode. They are not affiliated with, endorsed by, or associated with Hyperliquid Foundation or Hyperliquid Labs.
Available SDKs
Python SDK
The Python SDK provides comprehensive access to Hyperliquid's trading and data APIs. Install it via pip and connect to your Quicknode endpoint to start trading, querying market data, or streaming real-time events.
Installation:
pip install hyperliquid-sdk
Package: hyperliquid-sdk on PyPI | GitHub: quiknode-labs/hyperliquid-sdk/python
Example:
from hyperliquid_sdk import HyperliquidSDK
sdk = HyperliquidSDK("https://your-endpoint.hype-mainnet.quiknode.pro/your-token")
# Get mid prices
mids = sdk.info.all_mids()
print(f"BTC Mid Price: {mids['BTC']}")
# Get L2 orderbook
orderbook = sdk.info.l2_book("BTC")
# Place market order
order = sdk.market_buy("BTC", size=0.001)
TypeScript/JavaScript SDK
The TypeScript SDK offers full type safety and IntelliSense support for building web applications and Node.js services. It provides the same comprehensive feature set as the Python SDK with idiomatic JavaScript/TypeScript patterns.
Installation:
npm install @quicknode/hyperliquid-sdk
Package: @quicknode/hyperliquid-sdk on npm | GitHub: quiknode-labs/hyperliquid-sdk/typescript
Example:
import { HyperliquidSDK } from '@quicknode/hyperliquid-sdk';
const sdk = new HyperliquidSDK('https://your-endpoint.hype-mainnet.quiknode.pro/your-token');
// Get mid prices
const mids = await sdk.info.allMids();
console.log(`BTC Mid Price: ${mids.BTC}`);
// Get user open orders
const orders = await sdk.info.openOrders('0x...');
// Place market order
const order = await sdk.marketBuy('BTC', { size: 0.001 });
Go SDK
The Go SDK provides idiomatic Go interfaces with context-aware operations and standard error handling. It supports over 60 Info API methods and includes the full suite of trading, streaming, and EVM capabilities.
Installation:
go get github.com/quiknode-labs/hyperliquid-sdk/go
GitHub: quiknode-labs/hyperliquid-sdk/go
Example:
package main
import (
"fmt"
"log"
"github.com/quiknode-labs/hyperliquid-sdk/go/hyperliquid"
)
func main() {
sdk, err := hyperliquid.New("https://your-endpoint.hype-mainnet.quiknode.pro/your-token")
if err != nil {
log.Fatal(err)
}
// Get mid prices
info := sdk.Info()
mids, err := info.AllMids()
if err != nil {
log.Fatal(err)
}
fmt.Printf("BTC Mid Price: %v\n", mids["BTC"])
// Place market order
order, err := sdk.MarketBuy("BTC", 0.001)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Order: %+v\n", order)
}
Rust SDK
The Rust SDK delivers high-performance access to Hyperliquid APIs with strong type safety and zero-cost abstractions. It's built with async/await support using tokio and includes strongly-typed responses across all API methods.
Installation:
[dependencies]
quicknode-hyperliquid-sdk = "0.1"
Package: quicknode-hyperliquid-sdk on crates.io | GitHub: quiknode-labs/hyperliquid-sdk/rust
Example:
use hyperliquid_sdk::HyperliquidSDK;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let sdk = HyperliquidSDK::new()
.endpoint("https://your-endpoint.hype-mainnet.quiknode.pro/your-token")
.build()
.await?;
// Get mid prices
let info = sdk.info();
let mids = info.all_mids(None).await?;
println!("BTC Mid Price: {:?}", mids.get("BTC"));
// Place market order
let order = sdk.market_buy("BTC").notional(100.0).await?;
println!("Order: {:?}", order);
Ok(())
}
What the SDKs Support
All four SDKs provide comprehensive coverage of Hyperliquid's APIs with consistent feature parity across languages.
| Feature | Python | TypeScript | Go | Rust |
|---|---|---|---|---|
| Trading (Market, Limit, Trigger, TWAP) | ✓ | ✓ | ✓ | ✓ |
| Info API | ✓ | ✓ | ✓ | ✓ |
| HyperCore API | ✓ | ✓ | ✓ | ✓ |
| WebSocket Streaming | ✓ | ✓ | ✓ | ✓ |
| gRPC Streaming | ✓ | ✓ | ✓ | ✓ |
| EVM JSON-RPC | ✓ | ✓ | ✓ | ✓ |
More Examples & Resources
The examples above show basic usage of each SDK. For comprehensive examples covering advanced use cases, check out our GitHub repositories.
Hyperliquid SDK Repository
Repository: github.com/quiknode-labs/hyperliquid-sdk
Source code for all four SDKs with detailed documentation, including order builder APIs, Info API methods, WebSocket and gRPC streaming, HyperEVM integration, and error handling patterns.
Hyperliquid API Examples
Repository: github.com/quiknode-labs/hyperliquid-api-examples
Documentation: Info Endpoints | REST API | Data Streams
Working examples for Info endpoints (allMids, l2Book, openOrders, userFills, spotClearinghouseState, clearinghouseState, userFees, spotMetaAndAssetCtxs), REST trading API (placing, canceling, and modifying orders, managing builder fees), WebSocket subscriptions with filtering, market making bots, and portfolio tracking systems.
Hyperliquid gRPC Examples
Repository: github.com/quiknode-labs/hypercore-grpc-examples
Documentation: gRPC API
Complete gRPC streaming examples in Go, Python, and Node.js, including proto file setup, zstd compression (~70% bandwidth reduction), StreamData (trades, orders, events, book updates), StreamL2Book (aggregated depth), StreamL4Book (individual orders), connection management with automatic reconnection, and filtering strategies.
Support & Resources
Need help with the SDKs? Report bugs or request features in the SDK repository. Have questions about the API examples? Open an issue in the examples repository. For gRPC-specific questions, use the gRPC examples repository.
For general technical support, visit Quicknode Support. Join our Discord community for discussions and help from other developers.
We ❤️ Feedback!
If you have any feedback or questions about this documentation, let us know. We'd love to hear from you!