本文为中文译本,英文原文见 Hyperliquid Infrastructure Stack 2026。
如果 Hyperliquid 交易机器人每秒轮询一次 REST API,就会漏掉两次轮询之间的成交。做市商读取公共 WebSocket 时,服务器可能毫无预警地断开连接,导致本地状态丢失。索引器用 eth_call 读取订单簿只会一无所获,因为订单簿位于 HyperCore,而不在 HyperEVM 上。这些问题本质上是同一个错误:为任务选错了 Hyperliquid API。
本指南逐一说明 Hyperliquid 各个 API 接口分别负责什么,给出请求格式,并按应用类型推荐技术栈。如果想了解 Hyperliquid 本身的运作方式,包括 HyperBFT 共识、API 服务器和节点,请阅读 Hyperliquid 基础设施的工作原理。如果想从价格、归档数据和 HyperCore 覆盖范围等方面比较服务商,请阅读 Hyperliquid RPC 服务商排名。
一段话讲清 HyperCore 与 HyperEVM
Hyperliquid 是一条链、一份状态,在 HyperBFT 共识之下分为两个执行环境。HyperCore 是原生交易引擎:永续合约和现货订单簿、清算所(clearinghouse)、资金费率和清算全部在链上运行,交易无需支付 Gas。HyperEVM 是链 ID 为 999 的通用 EVM,可以运行 Solidity 合约,并通过预编译合约(precompile)读取 HyperCore 状态。EVM 工具可以直接用于 HyperEVM,而 HyperCore 数据则需要通过 Hyperliquid 自己的 API 获取。大多数生产环境应用两者都需要。详见架构文档。
The trading layer
Fully on-chain order books and matching for perpetuals and spot markets. Every order, cancel, and fill is recorded in a block.
- Consensus
- HyperBFT
- Orders per second
- 200k
- Order books
- On-chain
- Perps up to 40x on BTC
- HIP-3 perp DEXs
- HIP-4 outcome markets
The smart contract layer
An Ethereum-compatible environment for standard Solidity contracts, wallets, and tooling.
- Chain ID
- 999
- Block time
- < 1s
- Gas token
- HYPE
- ethers.js
- viem
- Hardhat
- Foundry

HyperCore data
Live
Hyperliquid 的 API 接口
| 接口 | 协议 | 提供方 | 用途 |
|---|---|---|---|
| Info 端点 | REST,POST /info | Hyperliquid API 服务器;服务商代理其中一部分 | 账户状态、元数据、快照、历史记录 |
| Exchange 端点 | REST,POST /exchange | 仅 Hyperliquid API 服务器 | 已签名的下单、撤单、转账 |
| WebSocket | WSS | Hyperliquid API 服务器(wss://api.hyperliquid.xyz/ws) | 在公共限额内接收实时成交、订单簿和用户事件 |
| gRPC 流 | 基于 TLS 的 gRPC | Dwellir、QuickNode 等服务商 | 节点原始数据流和类型化行情流 |
| 订单簿数据流 | WSS | Dwellir、Hydromancer 等服务商 | 超过 20 档的 L2 深度、L4 逐笔订单 |
| HyperEVM RPC | 基于 HTTPS 和 WSS 的 JSON-RPC | rpc.hyperliquid.xyz/evm 及各服务商 | 智能合约、代币、EVM 日志和 trace |
公共接口按 IP 限流:REST 每分钟 1,200 权重,每个 IP 最多 10 个 WebSocket 连接和 1,000 个订阅,HyperEVM JSON-RPC 每分钟 100 个请求。各类请求的权重见公共限流表。生产系统引入服务商,主要原因是这些限额,而不是功能。
Info 端点:账户状态和参考数据
Info 端点是 Hyperliquid 的读取 API。每个请求都是向 /info 发送 POST,JSON 请求体中的 type 字段决定查询类型。虽然使用 POST,它仍是只读接口。
Info 端点返回哪些数据
- 账户状态:持仓、保证金和余额(
clearinghouseState、spotClearinghouseState),挂单(openOrders、frontendOpenOrders) - 参考数据:永续合约和现货元数据(
meta、spotMeta),附带实时标记价格和资金费率的元数据(metaAndAssetCtxs) - 行情快照:中间价(
allMids)、L2 订单簿快照(l2Book)、K 线(candleSnapshot) - 历史记录:用户成交(
userFills)、资金费率历史(fundingHistory)
不同服务商代理的子集各不相同。Dwellir 的 Info 端点 https://api-hyperliquid-mainnet-info.n.dwellir.com/info 支持账户和状态查询,包括 clearinghouseState、openOrders、meta 和 metaAndAssetCtxs,另外还有 Dwellir 独有的批量方法,例如 batchClearinghouseStates,一次请求即可返回多个钱包的数据。行情快照和历史记录(l2Book、allMids、candleSnapshot、userFills、fundingHistory)不在代理范围内,请从公共的 https://api.hyperliquid.xyz/info、数据流或历史数据归档中读取。
请求结构
JavaScript:
const ENDPOINT = 'https://api-hyperliquid-mainnet-info.n.dwellir.com/info';
const API_KEY = 'your-api-key-here';
async function getClearinghouseState(userAddress) {
const response = await fetch(ENDPOINT, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Api-Key': API_KEY
},
body: JSON.stringify({
type: 'clearinghouseState',
user: userAddress
})
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
return await response.json();
}Python:
import requests
ENDPOINT = 'https://api-hyperliquid-mainnet-info.n.dwellir.com/info'
API_KEY = 'your-api-key-here'
def get_clearinghouse_state(user_address: str) -> dict:
"""Get a user's perpetual account state"""
response = requests.post(
ENDPOINT,
json={
'type': 'clearinghouseState',
'user': user_address
},
headers={
'Content-Type': 'application/json',
'X-Api-Key': API_KEY
},
timeout=10
)
response.raise_for_status()
return response.json()也可以把密钥放在路径中:https://api-hyperliquid-mainnet-info.n.dwellir.com/<your-api-key>/info。meta 最多可缓存一小时;除非策略需要更快的更新,账户状态每 5-10 秒轮询一次即可。需要更快的更新时,请改用数据流。
何时使用 Info 端点
- 启动状态:读取持仓、余额和挂单,避免机器人重复下单
- 参考数据:资产规格、数量精度、资金费率设置
- 对账:定期核对余额和持仓是否与本地状态一致
- 单次查询:排查某个订单或账户
不要用它跟踪实时订单簿或监控成交。轮询会给每次更新增加一次往返,而且仍会漏掉两次轮询之间的事件。
Exchange 端点:下单与撤单
所有写操作都通过 Hyperliquid API 服务器上的 POST /exchange 完成:下单、撤单、改单、转账,以及 scheduleCancel(死人开关,在指定时间撤销全部订单)。操作需要用你的钱包或已授权的代理钱包(agent wallet)签名。响应是已提交的执行结果,而不只是一个确认回执。
没有任何托管服务商代理 /exchange,Dwellir 也不例外。付费 RPC 套餐并不能让订单更快成交。写入路径取决于机器人的部署位置(东京离验证者最近)、Hyperliquid 的优先费,以及每个地址的请求额度:初始为 10,000 次操作,每交易 1 USDC 增加一次。签名可以交给 Hyperliquid Python SDK 处理。
WebSocket:公共限额内的实时数据
Hyperliquid 的公共 WebSocket wss://api.hyperliquid.xyz/ws 推送成交、l2Book(20 档)、bbo、K 线,以及 userFills、orderUpdates 等用户频道。它免费,对很多机器人来说已经够用。限额是每个 IP 最多 10 个连接、1,000 个订阅,用户相关订阅最多涉及 10 个不同用户。服务器还可能在没有预警的情况下断开连接,因此客户端必须自动重连,并根据重连时下发的快照重建状态。
当这些限额成为瓶颈,或者需要超过 20 档的深度、逐笔订单时,就该换用服务商的订单簿数据流或 gRPC。
订单簿数据流:L2 深度与 L4 订单
服务商的订单簿数据流沿用公共 WebSocket 的订阅格式,并提供更深的盘口。Dwellir 的 Order Book WebSocket 部署在新加坡和东京,地址为 wss://api-hyperliquid-mainnet-orderbook.n.dwellir.com/<your-api-key>/ws。
L2 订单簿,按价格档位聚合,每侧 1 到 100 档:
{
"method": "subscribe",
"subscription": {
"type": "l2Book",
"coin": "BTC",
"nLevels": 50
}
}L4 订单簿,包含每一笔订单及其用户地址和订单 ID:
{
"method": "subscribe",
"subscription": {
"type": "l4Book",
"coin": "BTC"
}
}L4 先推送一次完整快照,之后推送增量。快照有好几 MB,请调大 WebSocket 客户端的最大消息长度。成交价、对手方等成交细节在 trades 流中,不在 L4 频道里。订单数据的流转方式见 L4 订单簿参考文档。
在 2026 年 10 月 28 日的东京基准测试中,Dwellir 的 Order Book WebSocket 在专用节点上推送 L2 订单簿的中位延迟为 177 ms,公共 API 为 282 ms,低了 30% 以上。共享端点的中位延迟差距在 15 ms 以内。该附加服务每月 $199,每条消息另计一个 API 积分。
适用于报价、滑点估算、价差监控、队列位置和大单跟踪。不适用于历史订单簿重建,这类需求请使用历史数据归档。
gRPC:节点原始数据流和类型化行情流
通过 gRPC 可以拿到 Hyperliquid 节点写出的数据:每个区块、每笔成交、每次订单状态变化和每个订单簿增量,以 Protocol Buffers 格式通过一条长连接传输。Hyperliquid 官方不提供公共 gRPC 端点,由服务商运行节点并提供数据流。
Dwellir 的 gRPC API 包含两个 V3 服务:
| 服务 | 提供的数据 | 回放 |
|---|---|---|
HyperliquidL1Gateway | 原始数据流:区块、成交、原始订单簿增量、订单状态、TWAP 状态、其他事件和共识前的内存池(mempool)交易,每种都同时提供流式接口和一元(unary)查询,另有生成的订单簿快照 | 可在保留窗口内从指定区块高度或时间戳恢复(内存池仅支持按时间戳) |
MarketStreaming | 14 种类型化流:L2 订单簿、L2 增量、L4 订单簿、L4 订单更新、BBO、成交、全部成交明细、用户成交、builder 成交、清算成交、止盈止损更新、K 线、中间价、资产上下文 | 仅实时 |
成交、原始订单簿增量、订单状态和 TWAP 状态这几个流支持 users 和 coins 过滤,跟单机器人可以只订阅十个钱包的成交,而不必解析全链每一笔成交。保留的回放历史较短,且因数据流和端点而异。如果游标早于保留窗口(服务器返回 NOT_FOUND),请先从历史数据归档回填,再切换到实时流。认证方式是在 TLS 连接上通过 x-api-key 元数据头传递。该附加服务每月 $299,每条推送消息另计一个 API 积分。
curl -fsSLo v3.proto https://www.dwellir.com/docs/hyperliquid/grpc/v3.proto
grpcurl -proto v3.proto \
-H "x-api-key: ${DWELLIR_API_KEY}" \
"${HYPERLIQUID_GRPC_ENDPOINT}" \
hyperliquid_l1_gateway.v3.HyperliquidL1Gateway/ListFeedsgRPC 适用于成交和清算监控、跟单交易、订单状态跟踪、状态重建,以及任何需要在服务端过滤的数据流。不适用于获取启动状态(请用 Info 端点)或回放窗口之前的历史数据(请用归档)。第一次接入数据流,可以从 StreamBlocks 和流式传输故障排查指南开始。
HyperEVM RPC:合约、代币和 trace
HyperEVM RPC 就是标准的以太坊 JSON-RPC。Ethers.js、viem、Web3.py、Hardhat 和 Foundry 无需任何改动即可使用。
| 属性 | 值 |
|---|---|
| 主网链 ID | 999(测试网 998) |
| Gas 代币 | HYPE,18 位精度 |
| 区块 | 每秒一个小区块(3M gas),每分钟一个大区块(30M gas) |
| 官方 RPC | https://rpc.hyperliquid.xyz/evm,每分钟 100 个请求,不支持 WebSocket |
| Dwellir RPC | https://api-hyperliquid-mainnet-evm.n.dwellir.com/<your-api-key>,同一主机支持 WSS,完整归档,所有套餐均支持 debug_* 和 trace_* |
JavaScript(Ethers.js):
const { ethers } = require('ethers');
const provider = new ethers.JsonRpcProvider(
'https://api-hyperliquid-mainnet-evm.n.dwellir.com/YOUR_API_KEY'
);
const balance = await provider.getBalance('0x...');
console.log(`Balance: ${ethers.formatEther(balance)} HYPE`);
const contract = new ethers.Contract(contractAddress, abi, provider);
const result = await contract.someReadMethod();Python(Web3.py):
from web3 import Web3
w3 = Web3(Web3.HTTPProvider(
'https://api-hyperliquid-mainnet-evm.n.dwellir.com/YOUR_API_KEY'
))
print(f"Chain ID: {w3.eth.chain_id}") # 999
print(f"Latest block: {w3.eth.block_number}")
balance = w3.eth.get_balance('0x...')
print(f"Balance: {w3.from_wei(balance, 'ether')} HYPE")HyperEVM 上的合约通过读取预编译合约获取 HyperCore 状态,并通过地址为 0x3333333333333333333333333333333333333333 的 CoreWriter 合约向 HyperCore 发送操作。两者的说明见架构文档。
HyperEVM RPC 适用于合约部署、ERC-20 和 DeFi 交互、eth_getLogs 索引以及交易追踪(trace)。不适用于订单簿、成交或持仓,这些都属于 HyperCore 数据。
不同应用该用什么技术栈
| 应用 | Info 端点 | Exchange | WebSocket 或订单簿数据流 | gRPC | HyperEVM RPC |
|---|---|---|---|---|---|
| 交易机器人 | 启动状态、对账 | 是 | 实时订单簿和成交 | 可选,用于成交 | 否 |
| 做市商 | 持仓 | 是 | L2 或 L4 订单簿,主要数据源 | 可选 | 可选,用于对冲 |
| 跟单交易 | 启动时读取带单者持仓 | 是 | 可选 | 过滤后的成交,主要数据源 | 否 |
| 清算机器人 | 账户状态 | 是 | 可选 | 清算成交,主要数据源 | 否 |
| 分析仪表盘 | 参考数据 | 否 | 可选 | 原始数据流,主要数据源 | 可选 |
| 投资组合追踪 | 批量账户状态 | 否 | 可选 | 否 | 代币余额 |
| DeFi 应用 | 市场上下文 | 否 | 可选 | 否 | 主要 |
| 回测 | 参考数据 | 否 | 否 | 否 | 否;使用历史归档 |
交易机器人
- 启动:通过 Info 端点读取余额、持仓和挂单。
- 实时数据:通过 WebSocket 订阅目标市场的 L2 订单簿和成交。
- 下单:向
/exchange发送已签名操作,并用scheduleCancel作为死人开关。 - 对账:每隔几分钟调用一次 Info 端点,确认本地状态与链上一致。
做市商
+-------------------------------------------+
| Quote placement logic |
+-------------------------------------------+
| |
v v
+------------------+ +-------------------+
| Order book feed | | Info endpoint |
| (L2 or L4) | | (positions) |
+------------------+ +-------------------+
| |
+------------+------------+
|
v
+-------------------+
| Risk engine |
+-------------------+
|
v
+-------------------+
| /exchange |
| (signed orders) |
+-------------------+订单簿数据流驱动报价逻辑(Quote placement logic),Info 端点确保持仓和保证金状态准确,风控引擎(Risk engine)位于两者与 /exchange 之间。只有在链上对冲或管理抵押品时,才需要加上 HyperEVM RPC。
分析平台
- 回填:从历史数据归档按区块获取成交、订单状态和订单簿增量。
- 实时写入:通过 gRPC 原始数据流接入,任何中断后从最后存储的区块高度恢复。
- 参考数据:来自 Info 端点。
- 可选:用 HyperEVM
eth_getLogs获取 EVM 侧的协议活动。
跟单交易
Hyperliquid 跟单交易机器人教程在启动时用 Info 端点加载带单者持仓,用过滤后的 gRPC 成交流跟踪新交易,并每隔几分钟再次调用 Info 端点对账。
何时引入服务商,选哪一家
先从公共端点起步。出现以下任一情况时,再引入服务商:
- HyperEVM 调用超过每分钟 100 次,或者需要 HyperEVM 上的 WebSocket、归档或 trace。
- REST 权重不够用:每个 IP 每分钟 1,200 权重,大约相当于 60 次
metaAndAssetCtxs调用或 600 次clearinghouseState调用。 - 需要节点原始数据:每一笔成交、订单状态或订单簿增量。只有节点或服务商的 gRPC 数据流才有这些数据。
- 需要超过 20 档的深度或逐笔订单(L4)。
服务商之间的差异主要在 HyperCore 覆盖范围,而不在 HyperEVM。Hyperliquid RPC 服务商排名比较了五家服务商的 Info 覆盖范围、gRPC、订单簿深度和单次调用价格。如果需要完全掌控,可以在东京运行自己的非验证节点,并与 Dwellir 建立对等连接。如果希望由他人代为运维且不按量计费,下一步可以考虑专用节点集群(Dedicated Node Cluster)。
Dwellir 的 Hyperliquid 技术栈
| 服务 | 包含内容 | 价格 |
|---|---|---|
| HyperEVM RPC | HTTPS 和 WSS,完整归档,debug 和 trace,每个响应计一个积分 | 有免费套餐,付费套餐每月 $49 起 |
| Info 端点 | 账户和状态查询、批量方法 | 任意 API 套餐,每个响应计一个 API 积分 |
| gRPC API | 支持回放的节点原始数据流,14 种类型化行情流 | 每月 $299 加按量计费 |
| Order Book WebSocket | 最多 100 档的 L2、L4、成交、BBO,部署在新加坡和东京 | 每月 $199 加按量计费 |
| 历史数据 | 成交、订单状态、订单簿增量、replica_cmds 等,存放于 S3 | 按数据集计价 |
| 对等连接(Peering) | 为你自己的节点预留的 gossip 对等节点名额 | 每个名额每月 $500 |
| 专用节点集群 | 两个或更多专用后端节点,包含 HyperEVM、Info、gRPC 和 Order Book,不按量计费 | 每月 $4,000 起 |
完整价格见 Hyperliquid 价格页面。
快速开始
- 注册免费的 Dwellir 账户,即可使用 HyperEVM RPC 和 Info 端点。
- 需要数据流时,在价格页面添加 gRPC API 或 Order Book WebSocket。
- 如需不按量计费的生产级容量,请就专用节点集群联系 Dwellir 团队。
代码示例
延伸阅读
- Hyperliquid 基础设施的工作原理
- 2026 年最佳 Hyperliquid RPC 服务商排名
- 如何获取 Hyperliquid 节点
- 公共 Hyperliquid API 的替代方案
- Hyperliquid 延迟详解
常见问题
Hyperliquid 交易机器人应该使用哪个 API?
大多数交易机器人会用到三类接口:启动时用 Info 端点读取持仓、余额和挂单;用 WebSocket 或 gRPC 流接收实时订单簿和成交数据;用 api.hyperliquid.xyz/exchange 上的 Exchange 端点提交和撤销已签名订单。只有当机器人还需要调用智能合约时,才需要 HyperEVM JSON-RPC。
Hyperliquid 的 Info 端点和 Exchange 端点有什么区别?
Info 端点(POST /info)是只读接口,返回行情数据、元数据和账户状态。Exchange 端点(POST /exchange)接收已签名的操作,例如下单、撤单和转账。托管服务商会代理 Info 端点的部分功能,但没有任何服务商代理 Exchange 端点,因此订单始终发往 Hyperliquid 的 API 服务器或你自己的节点。
如何从 Hyperliquid 流式获取 HyperCore 数据?
在每个 IP 最多 10 个连接、1,000 个订阅的限额内,可以用公共 WebSocket(wss://api.hyperliquid.xyz/ws)接收成交、l2Book 和用户事件。如果需要节点原始数据流,例如每一笔成交、订单状态或订单簿增量,请使用服务商提供的 gRPC 流:Dwellir 的 gRPC API 提供支持游标回放的原始数据流和 14 种类型化行情流,价格为每月 $299 加按量计费。
HyperEVM 的链 ID 是多少?
HyperEVM 主网链 ID 为 999,测试网为 998。Gas 代币为 HYPE,精度 18 位。官方 RPC(rpc.hyperliquid.xyz/evm)通过 HTTP 每分钟最多允许 100 个请求,不支持 WebSocket。




