vault 開発 · vault の基礎 · 2/7
vault を作る
UI から vault を作る
vault は Hyperliquid のウェブ画面から作ります。
- Vaults の画面を開きます
- 「Create Vault」を押します
- 名前と説明を入れます(後から変えられません)
- vault のリーダーとして 100 USDC 以上を入れます
2026年10月時点では、vault を作るのに 10,000 USDC の手数料もかかります。また、リーダーは常に vault の5%以上を持っていなければなりません(vault リーダー向けの資料)。始める前に、資料で今の数字を確かめてください。
API では作れないのか
公式の Python SDK(hyperliquid-python-sdk)には、vault を作る関数がありません。公開されている exchange エンドポイントの資料にも、vault を作るアクションは載っていません。作るのは UI での1回きりの作業と考えてください。その後のこと(入金、売買、監視)は、すべて API でできます。
vault のアドレス
vault には、それぞれ固有のアドレスがあります(ウォレットのアドレスと同じようなものです)。このアドレスは次の役目を持ちます。
- vault に入金された USDC を持ちます
- ポジションはこの口座で建てられます
- すべての売買の操作に使われます
vault には秘密鍵がありません。vault の操作は、リーダー(またはリーダーの API ウォレット)が署名します。そのとき vaultAddress の欄に vault を指定します(exchange エンドポイントの資料)。
リーダーが追加で入金する
リーダーの最初の入金は、作るときに行います。その後の入金と引き出しには、vault への振替を使います。usd の額は micro-USDC 単位の整数です(1 USDC = 1,000,000)。
# Testnet only — never hard-code real keys
import eth_account
from hyperliquid.exchange import Exchange
from hyperliquid.utils import constants
leader = eth_account.Account.from_key("<TESTNET_LEADER_KEY>")
exchange = Exchange(leader, base_url=constants.TESTNET_API_URL)
vault_address = "0xYourVaultAddress"
exchange.vault_usd_transfer(vault_address, True, 1_000_000_000) # deposit 1,000 USDC
API ウォレットに売買を任せる
売買のたびに vault リーダーのウォレットをそのまま使うのはやめましょう。代わりに、リーダーは API ウォレット(agent ウォレットとも呼びます)を承認します。売買の操作に署名できる、別の鍵です。agent の鍵は SDK が作ってくれます。
# The leader (master account) approves a new API wallet.
# Do not call this from an agent — agents cannot approve agents.
approve_result, agent_key = exchange.approve_agent("keeper")
承認された agent は、vault_address を指定した Exchange を作れば、vault のために売買できます。
# Testnet only — the agent key should live only on the keeper server
agent_wallet = eth_account.Account.from_key(agent_key)
vault_exchange = Exchange(agent_wallet, constants.TESTNET_API_URL,
vault_address=vault_address)
# Every action from vault_exchange is signed with vaultAddress = vault_address
result = vault_exchange.order("BTC", True, 0.01, 90000.0,
{"limit": {"tif": "Gtc"}})
なぜ API ウォレットを使うのか
- 安全 — vault リーダーのウォレット(引き出しができる鍵)は、オフラインの保管に置いたままにできます
- 自動化 — agent の鍵は keeper のサーバーに置きます
- 役割を分ける — 売買の鍵と管理の鍵を別にします
- nonce — nonce は署名者ごとに管理されます。売買のプロセス1つにつき、API ウォレットを1つ使ってください(nonce と API ウォレット)
agent の鍵が漏れても、攻撃者にできるのは売買だけです。資金の移動や引き出しはできません。それでも、ひどい売買で vault の資産をすべて失うことはあり得ます。agent の鍵は大切に扱ってください。登録を外した agent のアドレスは、使い回さないでください。nonce の記録が消されていることがあり、過去に署名した操作を再送されるおそれがあります。