將 Hyperliquid 整合到錢包:開發者完整指南

更新於 2026年5月15日

隨着去中心化衍生品市場逐漸成熟,愈來愈多錢包開發團隊希望將 Hyperliquid 的永續合約交易功能直接嵌入錢包介面,為用戶提供更完整的一站式 DeFi 體驗。本文面向錢包開發者,系統整理 Hyperliquid 整合的技術路線:由帳戶模型、簽名方案,到前端 SDK 調用及安全設計重點,協助團隊減少試錯成本。 Source: Hyperliquid docs. Source: Hyperliquid Python SDK. Source: Hyperliquid docs. Source: Hyperliquid docs.

Hyperliquid 的帳戶模型

Hyperliquid 採用 EVM 兼容地址體系(以太坊格式),用戶使用標準 ECDSA 私鑰簽名。根據官方文檔,帳戶可分為兩類:

  • Vault Address:協議層面的主地址,持有資產所有權
  • Agent Address:可被授權的子簽名地址,用於減低每次交易的操作摩擦

對錢包整合而言,最常見做法是讓用戶以主錢包地址作為 Vault Address,同時可選擇授權一個熱錢包 Agent 進行高頻交易操作。

連接方式:WalletConnect vs 直接 RPC

方案一:WalletConnect 2.0

WalletConnect 是目前主流的錢包連接協議,Hyperliquid 的 Web 應用原生支援 WalletConnect 2.0。整合步驟一般包括:

  1. 在錢包 App 內實作 WalletConnect 2.0 Session Proposal 處理
  2. 用戶透過掃碼或 Deep Link 授權
  3. 錢包監聽 eth_sendTransactionpersonal_sign 請求,並回傳簽名

這個方案的好處是低侵入:錢包毋須深入理解 Hyperliquid 內部協議,只要提供標準以太坊簽名介面即可。

方案二:直接整合 Hyperliquid Python/JS SDK

如果希望在錢包內提供更深入功能,例如查看持倉、直接下單、管理訂單等,可以使用官方或社群 SDK:

pip install hyperliquid-python-sdk

# 或
npm install @nktkas/hyperliquid

Hyperliquid Python SDK 已封裝完整簽名及請求邏輯,適合後端服務、內部工具或進階錢包功能整合。

簽名方案:EIP-712 結構化簽名

Hyperliquid 的所有寫入操作,包括下單、撤單、存款及提款,均使用 EIP-712 結構化簽名,而不是簡單的 eth_sign。這對用戶體驗及安全性非常重要:

  • 支援 EIP-712 的錢包,可以向用戶展示可讀的簽名內容,例如「開多 BTC 永續 0.01 張,限價 65000 USDC」
  • 不支援 EIP-712 的錢包,往往只能顯示十六進制資料,用戶難以判斷自己正在授權甚麼,亦會增加安全風險

建議在錢包整合時優先實作 EIP-712 解析及展示邏輯,可參考 EIP-712 規範中的 signTypedData_v4 標準。

核心 API 整合:下單流程

以下以 JavaScript 為例,示範透過直接 API 調用建立限價買單:

import { ethers } from "ethers";

const EXCHANGE_ENDPOINT = "https://api.hyperliquid.xyz/exchange";

async function placeOrder(wallet, coin, isBuy, price, size) {
  const nonce = Date.now();

  const orderPayload = {
    type: "order",
    orders: [{
      a: 0,          // asset index (0 = BTC)
      b: isBuy,
      p: price.toString(),
      s: size.toString(),
      r: false,      // reduce-only
      t: { limit: { tif: "Gtc" } }
    }],
    grouping: "na"
  };

  // [EIP-712](https://eips.ethereum.org/EIPS/eip-712) Domain 及 Types 定義請參考官方文檔
  const signature = await wallet._signTypedData(domain, types, orderPayload);

  const body = {
    action: orderPayload,
    nonce,
    signature,
  };

  const resp = await fetch(EXCHANGE_ENDPOINT, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify(body),
  });

  return resp.json();
}

完整的 Domain 及 Types 定義,應以 Hyperliquid 官方文檔中的 Exchange Endpoint 說明為準。

帳戶餘額及持倉查詢

帳戶狀態查詢屬於只讀操作,毋須簽名:

async function getAccountInfo(address) {
  const resp = await fetch("https://api.hyperliquid.xyz/info", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      type: "clearinghouseState",
      user: address,
    }),
  });

  return resp.json();
}

回傳資料包括:

  • marginSummary:可用保證金、總帳戶價值等
  • assetPositions:各項持倉詳情
  • crossMaintenanceMarginUsed:全倉維持保證金使用情況等

這些資料可用於錢包內的倉位面板、PnL 顯示、風險提示及保證金狀態提醒。

安全設計重點

錢包整合衍生品協議時,安全應是首要考慮:

私鑰隔離

交易簽名必須在 Secure Enclave、安全晶片或硬件設備中完成,絕不應將私鑰暴露予應用層程式碼。硬件錢包方案可參考 OneKey 的開源架構。

金額二次確認

下單前必須向用戶展示清晰、可讀的確認介面,至少包括:

  • 交易幣種
  • 方向(開多/開空)
  • 數量
  • 價格
  • 槓桿
  • 是否 reduce-only
  • 預估強平價或相關風險提示

永續合約涉及槓桿及強制平倉風險,錢包不應只顯示原始簽名資料。

限制 Agent 權限

如採用 Agent 模式,應容許用戶隨時撤銷 Agent 授權,並在 UI 中清楚顯示目前已授權的 Agent Address。若 Agent 只需下單權限,就不應獲得更高權限。

防重放保護

應妥善使用 Hyperliquid 的 nonce 機制,確保每筆訂單 nonce 單調遞增,避免重放攻擊。對於多裝置或多端同時交易的場景,亦應設計 nonce 管理策略。

推薦架構:嵌入 OneKey 與 OneKey Perps 工作流

OneKey 硬件錢包原生支援以太坊 EIP-712 簽名,其開源 SDK 提供完整的結構化簽名 API,適合深度整合 Hyperliquid 這類 EVM 衍生品協議。

對希望向用戶提供永續合約功能的錢包團隊,可以參考 OneKey Perps 的設計思路:在硬件級私鑰保護及清晰簽名確認的基礎上,提供相對流暢的加密貨幣衍生品交易體驗,而不是為了速度犧牲安全。

如果你是開發者,可以下載 OneKey App、體驗 OneKey Perps 的交易流程,並參考 OneKey GitHub 上的開源實作,評估如何在自己的產品中建立更安全的永續合約整合方案。

常見問題

Q1:Hyperliquid 支援哪些錢包連接方式?

答:Hyperliquid 原生支援 MetaMask、WalletConnect 2.0 兼容錢包,以及透過私鑰直接簽名的程式化存取。只要能進行 ECDSA 簽名的以太坊錢包,理論上都可以整合。

Q2:Agent Address 和主地址有甚麼分別?

答:Agent Address 是經主地址授權的子簽名地址,通常用於自動化交易或高頻操作。Agent 可執行特定操作,例如下單,但不能提款,從而降低私鑰外洩時的潛在損失範圍。具體權限及限制應以 Hyperliquid 文檔為準。

Q3:整合時是否需要向 Hyperliquid 團隊申請 API 許可?

答:Hyperliquid 是無許可協議,Info Endpoint 完全公開。Exchange Endpoint 的寫入操作只需要有效的 EIP-712 簽名,毋須申請許可或白名單。

Q4:如何在錢包 UI 顯示未實現盈虧(PnL)?

答:可從 clearinghouseState 介面回傳的 assetPositions 中讀取。每個持倉包含 unrealizedPnl 字段,可直接用於顯示未實現盈虧。請注意該數值以 USDC 計價。

Q5:Testnet 地址是甚麼?

答:Hyperliquid 測試網介面為 https://api.hyperliquid-testnet.xyz/,可用於開發階段的功能測試,不涉及真實資金。

風險提示

本文僅作技術整合參考,不構成投資、法律或財務建議。永續合約交易涉及高槓桿風險,價格波動可能導致快速虧損甚至被強制平倉。開發者在正式上線前,應充分了解 Hyperliquid 的協議規則、簽名流程、風控機制及用戶提示責任。

使用 OneKey 保護您的加密之旅

View details for 選購 OneKey選購 OneKey

選購 OneKey

全球最先進嘅硬件錢包。

View details for 下載應用程式下載應用程式

下載應用程式

只需電郵, 即可快速開始全球資產交易。

View details for OneKey SifuOneKey Sifu

OneKey Sifu

即刻諮詢,掃除疑慮。