Hyperliquidプラットフォームは、パーペチュアル先物取引のための高性能な分散型取引所として際立っており、低遅延の取引と開発者向けの高度な機能を提供しています。開発者は、取引の自動化、市場の監視、カスタムアプリケーションの構築のために、頻繁にHyperliquid APIを利用しています。
まず、Hyperliquid APIの主要なコンポーネントを理解することから始めます。APIは、市場データを照会するためのInfo API、取引アクションのためのExchange API、リアルタイム更新のためのWebSocketという主要なカテゴリに分かれています。さらに、PythonやNode.jsなどの言語のSDKは、やり取りを簡素化します。進めていくうちに、リクエストパラメータのわずかな調整が実行効率の大幅な向上につながることがわかるでしょう。
Hyperliquid APIとは?
Hyperliquid APIは、Hyperliquidの分散型パーペチュアル取引所へのプログラムによるアクセスを可能にします。メインネットとテストネットの両方の環境での操作をサポートしています。メインネットとテストネットに接続します。APIはリクエストとレスポンスにJSONを使用し、ほとんどのアクションにはHTTP POSTを、サブスクリプションにはWebSocketを利用します。

場合によっては、従来のAPIキーではなく秘密鍵を使用して認証しますが、Hyperliquidは安全な委任のためにAPIウォレットも提供しています。これらのウォレットは、引き出し権限なしでメインアカウントの代理として機能し、自動取引のセキュリティを強化します。例えば、Hyperliquidアプリを通じてAPIウォレットを生成し、それを承認し、その秘密鍵をスクリプトで使用します。
次に、データ型について考えます。APIは特定の構造体と列挙型を使用します。資産はユニバースリストのインデックスで識別され、注文サイドはブール値(trueが買い、falseが売り)を使用し、有効期間オプションには「Gtc」(キャンセルされるまで有効)が含まれます。これらの詳細はメタデータエンドポイントから取得し、リクエストの正確性を確保します。
この基礎ができたところで、開発環境のセットアップに移ります。適切な設定は、一般的なエラーを防ぎ、反復作業を加速させます。
Hyperliquid APIの環境設定
まず、プログラミング言語を選択し、関連するSDKをインストールすることからセットアップを開始します。Pythonユーザーの場合、`hyperliquid-python-sdk`は堅牢な出発点となります。`pip install hyperliquid-python-sdk`コマンドでpip経由でインストールします。このSDKは、接続、認証、および一般的な操作を処理します。

次に、認証情報を設定します。アカウントアドレス(公開鍵)と秘密鍵(プライベートキー)を含むconfig.jsonファイルを作成します。セキュリティのため、専用のAPIウォレットを生成します。Hyperliquidアプリに移動し、「More > API」を選択し、キーの名前を入力し、ウォレットアドレスを貼り付けて「Generate」をクリックします。APIウォレットを承認し、その秘密鍵をconfigにコピーします。
SDKは、テスト用の`constants.TESTNET_API_URL`など、URLの定数をインポートします。クライアントは次のように初期化します。
from hyperliquid.info import Info
from hyperliquid.utils import constants
info = Info(constants.TESTNET_API_URL, skip_ws=True)
この設定は、最初にWebSocketをスキップし、HTTPに焦点を当てています。ユーザーの状態を照会することで接続をテストします。
user_state = info.user_state("your_account_address")
print(user_state)
レスポンスにアカウントの詳細が表示されれば、環境は正しく機能しています。ただし、エラーが発生した場合は、秘密鍵とネットワークの選択を確認してください。
Node.jsの場合、`@nktkas/hyperliquid`パッケージを使用します。npmでインストールし、その後ethersを使用してウォレット管理のためのトランスポートとクライアントを設定します。開発中に実際の資金を使用しないように、`isTestnet: true`を指定します。
Apidogのようなツールは、このセットアップを補完します。Hyperliquid APIの仕様をApidogにインポートし、キーで認証し、リクエストをシミュレートします。このアプローチにより、レスポンス構造が迅速に明らかになり、手動コーディングの時間を節約できます。

設定が完了したら、認証方法に進みます。適切な認証により、アクションが安全に実行されることが保証されます。
Hyperliquid APIでの認証
Hyperliquidはブロックチェーンベースのシステムで動作するため、主に秘密鍵署名を通じて認証します。ウォレットインスタンスを提供すると、SDKが自動的に署名を処理します。
SDKなしで直接APIを呼び出す場合、秘密鍵を使用してペイロードに署名します。リクエストボディにはリプレイ保護のためのナンスが含まれ、/exchangeまたは/infoエンドポイントにPOSTします。
APIウォレットは柔軟性を高めます。名前を付け、メインウォレットアドレスにリンクし、キーを生成し、承認することで作成します。このウォレットは取引を実行できますが、資金を引き出すことはできず、ボットのリスクを軽減します。コードでは、メインアカウントアドレスを指定しながらAPIウォレットの秘密鍵を使用します。
簡単な情報リクエストを送信して認証をテストします。認証されていない場合、APIは「User or API Wallet does not exist」のようなエラーを返します。これを修正するには、ウォレットがパーペチュアル取引に必要なUSDCなどの最低限の担保を保持していることを確認してください。
セキュリティは依然として最重要です。キーは環境変数またはセキュアなボールトに保存し、定期的にローテーションし、異常なアクティビティを監視します。認証が確立されたら、Info APIエンドポイントを探索します。
Info APIエンドポイントの探索
Info APIは、市場およびアカウントデータへの読み取り専用アクセスを提供します。公開データの場合、認証なしでメタデータ、価格、注文などを取得するために使用します。
まず、資産ユニバースとコンテキストを返すmetaエンドポイントから始めます。Node.jsでは次のようになります。
const [meta] = await infoClient.metaAndAssetCtxs();
これにより、名前、インデックス、最大レバレッジなどの仕様を持つ資産の配列が得られます。取引リクエストでは資産インデックスを使用します。
次に、すべてのペアの現在のミッドポイントを返す`allMids`で中間価格を照会します。未決済注文は`openOrders`から取得され、あなたのアドレスが必要です。
その他のエンドポイントには以下が含まれます。
- userState: ポジション、証拠金、残高を取得します。
- fundingHistory: 時間経過に伴うファンディングレートを表示します。
- l2Book: あるコインのレベル2オーダーブックを提供します。
`{"type": "meta"}`のようなJSONボディを持つPOSTリクエストを`/info`に送信します。レスポンスは一貫した構造を使用し、「data」に結果が含まれます。
Apidogが役立ちます。Info APIのコレクションを設定し、各タイプのリクエストを追加し、コインやアドレスをパラメータ化します。この視覚化はデータフローの理解に役立ちます。

データを収集したら、取引を実行するためにExchange APIに移行します。
取引のためのExchange APIエンドポイントの使用
Exchange APIは、注文、キャンセル、変更などのアクションを処理します。すべてのリクエストは署名されたペイロードで認証されます。
資産インデックス、サイド、価格、サイズ、縮小専用フラグ、タイプ(指値または成行)などのパラメータを定義して注文を行います。指値売り注文の場合:
Elixir(SDKドキュメントより):
Hyperliquid.Api.Exchange.place_order(order)
ここで`order`は、`a: asset`、`b: false`(売り)、`p: "100"`、`s: "0.1"`、`r: false`、`t: {limit: {tif: "Gtc"}}`を含むマップです。
成功した場合、レスポンスにはステータスと注文IDが含まれます。
資産とoid(注文ID)を使用して注文をキャンセルします。
Hyperliquid.Api.Exchange.cancel_order(asset, oid)
バッチの場合、リストで`cancel_orders`を使用します。
変更も同様です。oidと新しいパラメータを指定します。
その他のアクションには、レバレッジの更新が含まれます。
Hyperliquid.Api.Exchange.update_leverage(asset, is_cross, leverage)
そして、アカウント間で資金を移動するための`spot_perp_transfer`のような送金も含まれます。
エラーはレスポンスステータスを確認することで処理します。成功の場合は「ok」、それ以外の場合は証拠金不足などの詳細が表示されます。
例は実用的な使用法を示しています。例えば、価格チェックにはinfoを、注文発注にはexchangeを使用して、価格がしきい値を下回ったときに買い注文を出すボットを構築します。
さらに、応答性を高めるためにWebSocketを統合してリアルタイム更新を行います。
リアルタイムデータのためのWebSocket統合
ライブストリームのためにWebSocketに接続します。メインネットの場合は`wss://api.hyperliquid.xyz/ws`を、テストネットの場合は同等のものを使用します。
`{"method": "subscribe", "subscription": {"type": "trades", "coin": "SOL"}}`のようなJSONを送信して購読します。
サーバーは確認応答を返し、その後、新しい取引などの更新をプッシュします。
オーダーブック、ユーザーイベント、通知などのトピックを処理します。Python SDKでは、有効にするには`skip_ws=False`を設定します。
このリアルタイム機能により、約定時の注文調整など、市場の変化に即座に反応することができます。
エンドポイントを網羅したところで、Python SDKを深く掘り下げていきます。
Hyperliquid Python SDKの活用
Python SDKはAPI呼び出しをクラスに抽象化します。クエリにはInfoを、アクションにはExchangeをインポートします。
次のように基本的な注文を行います(例より):
まず、設定をロードします。
import json
def address_and_private_key():
with open("examples/config.json") as f:
config = json.load(f)
return config["account_address"], config["secret_key"]
次に、Exchangeを初期化します。
from hyperliquid.exchange import Exchange
from hyperliquid.utils import constants
address, private = address_and_private_key()
exchange = Exchange(address, private, base_url=constants.TESTNET_API_URL)
注文を発注します。
order_result = exchange.order("BTC", True, 0.02, 30000, {"limit": {"tif": "Gtc"}})
print(order_result)
これは、0.02 BTCを30,000ドルの指値で買い付けます。
これをバッチ注文やキャンセルなどの高度な機能に拡張します。
SDKは、管理されたアカウントのボールトアドレスもサポートしています。
リポジトリの例には、`basic_order`、`user_state`などが含まれており、完全なワークフローが示されています。
構築する際には、パフォーマンスを最適化するためのベストプラクティスを取り入れます。
Hyperliquid API使用のベストプラクティス
スロットリングを避けるためにレート制限を監視します。HyperliquidはIPごとおよびアカウントごとの制限を適用します。
金銭的損失を防ぐため、すべての開発にテストネットを使用します。
エラー処理には、詳細のログ記録と、バックオフを伴う一時的な障害の再試行が含まれます。
スケーラビリティのため、複数のキャンセルなど、可能な限りリクエストをバッチ処理します。
セキュリティは、APIウォレットの使用と最小権限の原則にまで及びます。
Hyperliquidはセマンティックバージョニングに従っているため、SDKの更新に合わせてコードのバージョン管理も行います。
Apidogのようなツールは、単体テスト用のレスポンスのモック作成を支援します。

問題が発生した場合は、次にトラブルシューティングを行います。
Hyperliquid APIの一般的な問題のトラブルシューティング
担保が少ない場合、「Insufficient margin」(証拠金不足)に遭遇します。USDCを入金して解決してください。
「Asset not found」(資産が見つかりません)の場合、metaからインデックスを確認してください。
認証エラーは無効なキーに起因します。APIウォレットを再生成して承認してください。
ネットワークの問題は、URLを確認し、必要に応じてプロキシを使用する必要があります。
Apidogを使用して、失敗したリクエストをリプレイすることでデバッグします。
SDKからのログは、分析用のタイムスタンプとペイロードを提供します。
これらのヒントにより、信頼性の高い統合を維持できます。
Hyperliquid APIの高度な使用例
`l2Book`を監視し、不均衡に基づいて注文を出す取引ボットを構築します。
戦略には、過去のファンディングレートから裁定取引の機会を見つけることが含まれます。
サブアカウントにより、分離された取引が可能になります。名前で作成し、資金を移動し、個別に取引します。
ボールト転送は、共有流動性プールをサポートします。
APIからの履歴データを使用してシミュレーションを行い、バックテストします。
Apidogとの統合により、チームでの共同デバッグが可能になります。
最後に、将来の機能強化を考慮してまとめます。
結論:分散型取引のためのHyperliquid APIをマスターする
これで、Hyperliquid APIを効果的に使用するための知識を身につけました。セットアップと認証からエンドポイントとSDKまで、このガイドは洗練されたアプリケーションを構築するための準備を整えます。コードの段階的な改善が、大幅なパフォーマンス向上をもたらすことを忘れないでください。テストネットで実験し、Apidogのようなツールを活用し、Hyperliquidのドキュメントで最新情報を入手してください。プラットフォームが進化するにつれて、あなたのスキルは新しい機能を活用できる立場に置かれるでしょう。