本文へ移動
レビューを依頼

取引 API と SDK · SDK の準備と認証 · 1/8

Python SDK の導入

概要

hyperliquid-python-sdk は、Hyperliquid の取引所を操作するための公式の Python SDK です(ソース)。HTTP の API(読み取りは POST /info、署名付きの操作は POST /exchange)と WebSocket の配信をまとめて扱います。リクエストの署名と nonce も SDK が受け持ちます。このコースのコードは SDK v0.24.0(2026年10月)に合わせています。Python 3.9 以上が必要です。

インストール

pip install hyperliquid-python-sdk

仮想環境を使う場合(おすすめです):

python -m venv venv
source venv/bin/activate  # Linux/Mac
pip install hyperliquid-python-sdk

中心になるクラス

SDK の中心は Info と Exchange の2つのクラスです。WebSocket の配信も Info から使います。

1. Info: 読み取り専用のデータ

from hyperliquid.info import Info
from hyperliquid.utils import constants

info = Info(base_url=constants.MAINNET_API_URL, skip_ws=True)  # skip_ws=True: REST only

Info クラスで読み取れるものは次のとおりです。

2. Exchange: 取引の操作

import os
import eth_account
from hyperliquid.exchange import Exchange
from hyperliquid.utils import constants

wallet = eth_account.Account.from_key(os.environ["HL_PRIVATE_KEY"])  # never hardcode keys
exchange = Exchange(wallet, base_url=constants.TESTNET_API_URL)  # testnet while learning

Exchange クラスは、署名が要る操作を受け持ちます。

3. WebSocket: リアルタイムのデータ

WebSocket 専用のクラスはありません。skip_ws=True を渡さなければ、Info が wss://api.hyperliquid.xyz/ws(base_url から決まります)に接続します。購読はコールバックで行います。

from hyperliquid.info import Info
from hyperliquid.utils import constants

info = Info(base_url=constants.MAINNET_API_URL)
info.subscribe({"type": "allMids"}, print)

テストネットとメインネット

開発は必ずテストネットから始めます。

環境 API の URL WebSocket の URL
メインネット https://api.hyperliquid.xyz wss://api.hyperliquid.xyz/ws
テストネット https://api.hyperliquid-testnet.xyz wss://api.hyperliquid-testnet.xyz/ws

認証

Hyperliquid では、取引所が発行する API キーの代わりに Ethereum 方式の署名 を使います。/exchange へのリクエストは、どれも秘密鍵で署名します。つまり次のようになります。

import eth_account

# From private key
wallet = eth_account.Account.from_key("0x...")

# Your address
print(wallet.address)  # 0x...

安全上の注意: 秘密鍵をコードに直接書かないでください。環境変数か、秘密情報の管理サービスを使います。