概要
Hyperliquid は REST と WebSocket の両方を公開しており、メインネットとテストネットで別のエンドポイントが用意されています。テストネットが本番と同じインタフェースで使えるため、検証環境を先に整えてから本番へ移す手順が取りやすい構成です。
公式の Python SDK に加えて、コミュニティによる Rust / TypeScript の実装があり、CCXT からも標準の CCXT API に沿った形で扱えます。既存の取引基盤が CCXT を前提にしている場合は、そこへ載せる選択肢もあります。
技術仕様
公式ドキュメントで確認した内容です。出典はページ末尾に記載しています。仕様は更新されることがあるため、実装前に一次資料をご確認ください。
- REST(メインネット)
- https://api.hyperliquid.xyz
- REST(テストネット)
- https://api.hyperliquid-testnet.xyz
- WebSocket(メインネット)
- wss://api.hyperliquid.xyz/ws
- WebSocket(テストネット)
- wss://api.hyperliquid-testnet.xyz/ws
- 購読の指定
- subscription オブジェクトで type と対象を指定(例: {"type": "trades", "coin": "SOL"})
- 公式 SDK
- Python
- コミュニティ SDK
- Rust、TypeScript(複数実装)
- 汎用ライブラリ
- CCXT が標準の CCXT API に準拠した統合を提供
受託の範囲
- メインネット / テストネットを設定で切り替えられる接続層の実装
- WebSocket の購読管理と、切断からの復帰・再購読
- 発注と建玉管理の実装、および冪等性の設計
- 既存の取引基盤(CCXT 等)への統合
- 約定・残高の突合と、日次のレポーティング
実装で詰まりやすい点
エンドポイントをコードに直書きしない
メインネットとテストネットでホストが違うだけなので、設定で切り替えられるようにしておけば検証がそのまま本番に使えます。逆に直書きすると、テストしたコードと本番のコードが別物になります。
購読と再購読を分けて設計する
WebSocket は必ず切れます。購読中の一覧を保持し、再接続時に同じ購読を張り直す処理を最初から組み込みます。あわせて、切断中に発生した事象をどう埋めるかを決めておきます。
SDK の出自を確認する
公式は Python です。Rust / TypeScript はコミュニティ実装で、更新の追随速度が異なります。採用する場合は、仕様変更時に自分たちで直せる体制かどうかを込みで判断します。
参照元
Hyperliquid API についてよくあるご質問
テストネットで十分に検証できますか。
インタフェースは同じなので、機能面の検証はテストネットで進められます。ただし約定の付きやすさや流動性は本番と異なるため、価格や執行に関する検証は少額の本番運用で確かめるのが確実です。
既存の取引システムに組み込めますか。
可能です。CCXT を前提にした基盤があれば、その統合を利用する選択肢があります。独自基盤の場合は、取引所非依存のインタフェースを定義したうえでアダプタとして実装します。