A Python cryptocurrency trading library for hyperliquid
Project description
Hyperliquid
Python SDK (sync and async) for Hyperliquid with Rest and WS capabilities.
You can check Hyperliquid's docs here: Docs
You can check the SDK docs here: SDK
Installation
pip install hyperliquid
Usage
Async
from hyperliquid import HyperliquidAsync
async def main():
instance = HyperliquidAsync({})
order = await instance.create_limit_order("BTC/USDC:USDC", "limit", "buy", 1, 100000)
Sync
from hyperliquid import HyperliquidSync
def main():
instance = HyperliquidSync({})
order = instance.create_limit_order("BTC/USDC:USDC", "limit", "buy", 1, 100000)
Raw call
You can also construct your requests from scrach.
request = {
'type': 'candleSnapshot',
'req': {
'coin': coin,
'interval': tf,
'startTime': since,
'endTime': until,
},
}
response = await instance.public_post_info(request)
Websockets
from hyperliquid import HyperliquidWs
async def main():
instance = HyperliquidWs({})
while True:
orders = await instance.watch_orders(symbol)
Available methods
REST Unified
create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={})create_orders_request(self, orders, params={})create_orders(self, orders: List[OrderRequest], params={})fetch_balance(self, params={})fetch_canceled_and_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})fetch_canceled_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})fetch_currencies(self, params={})fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={})fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})fetch_funding_rate_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})fetch_funding_rates(self, symbols: Strings = None, params={})fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={})fetch_markets(self, params={})fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})fetch_open_interest(self, symbol: str, params={})fetch_open_interests(self, symbols: Strings = None, params={})fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})fetch_order_book(self, symbol: str, limit: Int = None, params={})fetch_order(self, id: str, symbol: Str = None, params={})fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})fetch_position(self, symbol: str, params={})fetch_positions(self, symbols: Strings = None, params={})fetch_spot_markets(self, params={})fetch_swap_markets(self, params={})fetch_tickers(self, symbols: Strings = None, params={})fetch_trades(self, symbol: Str, since: Int = None, limit: Int = None, params={})fetch_trading_fee(self, symbol: str, params={})fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={})action_hash(self, action, vaultAddress, nonce)add_margin(self, symbol: str, amount: float, params={})amount_to_precision(self, symbol, amount)build_usd_class_send_sig(self, message)build_usd_send_sig(self, message)build_withdraw_sig(self, message)calculate_price_precision(self, price: float, amountPrecision: float, maxDecimals: float)calculate_rate_limiter_cost(self, api, method, path, params, config={})cancel_all_orders_after(self, timeout: Int, params={})cancel_order(self, id: str, symbol: Str = None, params={})cancel_orders_for_symbols(self, orders: List[CancellationRequest], params={})cancel_orders(self, ids: List[str], symbol: Str = None, params={})coin_to_market_id(self, coin: Str)construct_phantom_agent(self, hash, isTestnet=True)describe(self)edit_order(self, id: str, symbol: str, type: str, side: str, amount: Num = None, price: Num = None, params={})edit_orders_request(self, orders, params={})edit_orders(self, orders: List[OrderRequest], params={})extract_type_from_delta(self, data=[])format_vault_address(self, address: Str = None)hash_message(self, message)modify_margin_helper(self, symbol: str, amount, type, params={})price_to_precision(self, symbol: str, price)reduce_margin(self, symbol: str, amount: float, params={})set_leverage(self, leverage: Int, symbol: Str = None, params={})set_margin_mode(self, marginMode: str, symbol: Str = None, params={})set_sandbox_mode(self, enabled)transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={})withdraw(self, code: str, amount: float, address: str, tag=None, params={})
REST Raw
public_post_info(request)private_post_exchange(request)
WS Unified
describe(self)create_orders_ws(self, orders: List[OrderRequest], params={})create_order_ws(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={})edit_order_ws(self, id: str, symbol: str, type: str, side: str, amount: Num = None, price: Num = None, params={})watch_order_book(self, symbol: str, limit: Int = None, params={})un_watch_order_book(self, symbol: str, params={})watch_ticker(self, symbol: str, params={})watch_tickers(self, symbols: Strings = None, params={})un_watch_tickers(self, symbols: Strings = None, params={})watch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={})un_watch_trades(self, symbol: str, params={})watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={})un_watch_ohlcv(self, symbol: str, timeframe='1m', params={})watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={})wrap_as_post_action(self, request: dict)
Contribution
- Give us a star :star:
- Fork and Clone! Awesome
- Select existing issues or create a new issue.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hyperliquid-0.4.66.tar.gz
(520.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
hyperliquid-0.4.66-py3-none-any.whl
(623.0 kB
view details)
File details
Details for the file hyperliquid-0.4.66.tar.gz.
File metadata
- Download URL: hyperliquid-0.4.66.tar.gz
- Upload date:
- Size: 520.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c1a9d96c8a2d51367135f9756b0c52dd9e510736dc16f87135c855e709ca249
|
|
| MD5 |
18f93dc0643d269df7b8fdde229d6461
|
|
| BLAKE2b-256 |
9fb6ae052efd8252b7b78469e5eac09f52d88ccf3e292a98c02b172521e78602
|
File details
Details for the file hyperliquid-0.4.66-py3-none-any.whl.
File metadata
- Download URL: hyperliquid-0.4.66-py3-none-any.whl
- Upload date:
- Size: 623.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c57c7f1d3eccabcea27da6201fec854d7509a28f7d8e527e1efdc33f686d50cc
|
|
| MD5 |
2581fba6b7af0a046641446f6b5c2a59
|
|
| BLAKE2b-256 |
15216354e63db0e3c013449e5c06b214ef203ff80dfc2b0e0a956f68df45dc57
|