订阅 Hyperliquid (Edge)
连接 DoubleZero 即表示我同意 DoubleZero 使用条款。请注意,数据仅供您内部使用,不得转发(参见第 2(e) 条)。
Hyperliquid Feed 通过 DoubleZero Edge 以 UDP 组播方式传送市场数据。四个核心 Feed 涵盖 Hyperliquid 原生永续合约 (hl) 和 trade.xyz 永续合约 (xyz):
| Feed | 描述 |
|---|---|
hyper-hl-tob |
Hyperliquid 永续合约的最优买卖报价和成交记录 |
hyper-hl-mbo |
Hyperliquid 永续合约的逐笔订单簿(新增、取消、成交) |
hyper-xyz-tob |
trade.xyz 永续合约的最优买卖报价和成交记录 |
hyper-xyz-mbo |
trade.xyz 永续合约的逐笔订单簿(新增、取消、成交) |
服务概览:Hyperliquid。
我应该选择哪条路径?
| 模式 | 获得的内容 | 适用场景 |
|---|---|---|
| Edge Connect | doublezero-edge-connect — 通过 WebSocket 传输已解码的 JSON |
最快获得可用的报价流 |
| 原生组播 | 在 doublezero1 上订阅,自行解码二进制 UDP(或使用参考解析器) |
完全掌控底层传输 |
先完成共同步骤:防火墙、都市区、申请和付款(步骤 1–3)。审批通过后,步骤 4 分为两条路径 — Edge Connect 或 原生。请勿在同一主机上混用两种方式。
想让 AI 帮您完成安装?连接 DoubleZero MCP,让它引导您完成 Hyperliquid Edge 的设置。
步骤 1:DoubleZero 设置
完成初始设置
按照设置说明在主机上安装并配置 DoubleZero 客户端。
如果您之前已在该主机上为原生使用设置过 DoubleZero,请确保客户端已更新到最新版本:
sudo apt update && sudo apt install doublezero
配置防火墙
在 doublezero1 上放行 GRE、BGP、PIM 和 Hyperliquid Feed 流量。Hyperliquid UDP 端口范围为 20000–20999(Top-of-Book 和 Market-by-Order 的市场数据、参考数据和快照)。同时在隧道上放行 UDP 5765 用于 DoubleZero 心跳。建议开放整个 Feed 端口范围,这样添加新 Feed 时无需再次修改防火墙。参见 Feed 地址。
iptables:
sudo iptables -A OUTPUT -p gre -j ACCEPT
sudo iptables -A INPUT -i doublezero1 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero1 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero1 -p pim -j ACCEPT
# Hyperliquid 市场数据 / 参考数据 / 快照(所有 Feed)
sudo iptables -A INPUT -i doublezero1 -p udp --dport 20000:20999 -j ACCEPT
# DoubleZero 心跳
sudo iptables -A INPUT -i doublezero1 -p udp --dport 5765 -j ACCEPT
UFW:
sudo ufw allow proto gre from any to any
sudo ufw allow in on doublezero1 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero1 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
# Hyperliquid 市场数据 / 参考数据 / 快照(所有 Feed)
sudo ufw allow in on doublezero1 to any port 20000:20999 proto udp
# DoubleZero 心跳
sudo ufw allow in on doublezero1 to any port 5765 proto udp
UFW 不支持 pim 协议。出站 PIM 在 UFW 的默认出站策略下是被允许的;如果您拒绝出站流量,请在 /etc/ufw/before.rules 中添加 PIM 的原始规则。
您可以将这些规则收紧为仅限您所订阅的 Feed 对应的端口(参见 Feed 地址)。
步骤 2:选择都市区
确定距离接收 Feed 的机器延迟最低的位置:
doublezero latency
记下延迟最低结果中的都市区/城市。您将在申请表中选择该城市。查看拓扑地图了解都市区的分组方式。
定价
Feed 按交付区域定价。价格取决于数据交付到哪里,而非购买者所在位置。东京套餐交付给东京的接收方;交付到其他地方需要全球套餐。每个 Feed 在每个都市区包含两个接收主机(IP)。
| Feed | 东京/月 | 全球/月 |
|---|---|---|
| Hyperliquid 永续合约 Top-of-Book (L1) | $900 | $1,500 |
| Hyperliquid 永续合约 Market-by-Order (L4) | $3,000 | $5,000 |
| trade.xyz 永续合约 Top-of-Book (L1) | $900 | $1,500 |
| trade.xyz 永续合约 Market-by-Order (L4) | $3,000 | $5,000 |
| 所有 Feed(套餐约 30% 折扣) | $5,500 | $9,000 |
步骤 3:提交申请
- 前往 https://doublezero.xyz/edge/subscribe。
- 选择 Hyperliquid 以及您需要的 Feed。
- 选择您需要的城市(都市区)。使用上表和
doublezero latency进行选择。 - 填写申请表。
您需要在账户页面为每个 Feed 请求分配一个 DoubleZero ID(使用现有密钥或生成新密钥)。对应的私钥必须存在于将接收 Feed 的机器上 — 不要分配一个您无法将私钥移至该主机的公钥。
您选择一个都市区和一个公钥。您不需要在申请时绑定公网 IP。在订阅期间,您可以在所选都市区内的 IP 之间迁移访问权限。
我们将及时联系您并提供更多说明(预计 1-3 个工作日)。
步骤 4:审批后连接
提交申请后,您将收到一张账单;付款完成后,在每台已批准的机器上进行连接。访问权限将在您选择的开始日期启用。选择以下一条路径。
4a. Edge Connect
如果主机上已有 doublezerod 在运行(来自设置),它和容器内的守护进程都会绑定 UDP 端口 44880,因此容器的守护进程启动后会立即退出。安装程序会提议停止并禁用主机守护进程,当设置了 DZ_ASSUME_YES=1 时会自动执行而不询问。手动操作方法:
sudo systemctl stop doublezerod
sudo systemctl disable doublezerod
在审批和付款之后安装 doublezero-edge-connect。该桥接程序在 --network host 容器内加入 DoubleZero,并在 ws://<host>:8081 上提供已解码的 JSON。
curl -fsSL https://get.doublezero.xyz/connect | bash
所有 doublezero 命令都通过容器执行,而非主机 CLI:
docker exec doublezero-edge-connect doublezero status
Tip
您可以创建别名以便于向容器发送命令。以下示例使 dz status 的效果与容器内的 doublezero status 相同:
echo "alias dz='sudo docker exec -it doublezero-edge-connect doublezero'" >> ~/.bashrc && source ~/.bashrc
预期看到 BGP Session Up 以及您的 edge-hyper-… 组已订阅。
然后打开 WebSocket(ws://127.0.0.1:8081)。协议说明:PROTOCOL.md。完整操作指南:MCP runbook hyperliquid-edge。
4b. 原生组播
在持有已分配私钥的主机上(主机 doublezerod 正在运行),订阅您购买的 Feed:
doublezero connect multicast --subscribe-feed <feed-code>
多个 Feed 以空格分隔:
doublezero connect multicast --subscribe-feed hyper-hl-tob hyper-hl-mbo hyper-xyz-tob hyper-xyz-mbo
检查隧道状态:
doublezero status
预期在正确的 DoubleZero 网络上看到 BGP Session Up。然后自行解码传输数据 — 参见解码 Feed。
账单
席位按月计费。请注意席位到期日期。
您需要在席位到期前支付账单。未支付将导致席位被移除。
Feed 地址
IP 决定组播组。端口决定该组上的数据流。使用以下命令查看 IP 实时值:
doublezero multicast group list
| Feed | 描述 | 组播组 | 市场数据 | 参考数据 | 快照 | 规范 |
|---|---|---|---|---|---|---|
hyper-hl-tob |
Hyperliquid 永续合约的最优买卖报价和成交记录 | 233.84.178.27 |
20000 |
20001 |
— | top-of-book |
hyper-hl-mbo |
Hyperliquid 永续合约的逐笔订单簿 | 233.84.178.28 |
20010 |
20011 |
20012 |
market-by-order |
hyper-xyz-tob |
trade.xyz 永续合约的最优买卖报价和成交记录 | 233.84.178.29 |
20100 |
20101 |
— | top-of-book |
hyper-xyz-mbo |
trade.xyz 永续合约的逐笔订单簿 | 233.84.178.30 |
20110 |
20111 |
20112 |
market-by-order |
每个 Feed 拥有自己的组播组地址。端口:参考数据 = 市场数据 + 1;快照(仅 MBO)= 市场数据 + 2。建议将市场数据和参考数据绑定在一起;对于 MBO,还需绑定快照。
您可能还会在 doublezero1 的端口 5765 上看到小型 UDP 数据包 — 这是 DoubleZero 心跳,不是市场数据。
帧采用小端序固定大小二进制格式。Hyperliquid 原生永续合约使用 source_id=1;trade.xyz 永续合约使用 source_id=7。
解码 Feed
Edge Connect
如果您使用的是 doublezero-edge-connect,Feed 已通过 WebSocket 解码为 JSON — 无需手动解码。
使用参考解析器
edge-multicast-ref 提供组播订阅器,可解码传输格式并通过 Unix socket 重新发布为 JSON:
go/topofbook-parser用于 Top-of-Book 和成交数据go/marketbyorder-parser用于 Market-by-Order
完整管线请参见主 README。
自行编写解码器
根据 edge-feed-spec 进行解码。从帧头开始,然后是您所接收 Feed 的消息布局。
GRE 隧道头 — XDP
通过网络传输的市场数据在最后一英里使用 GRE 封装。在 doublezero1 上,客户端呈现的是普通 UDP 组播。如果您自行终结 GRE(例如使用 XDP 管线),请在将数据送入解码器之前剥离 GRE 头。参见 gre-decap。
故障排除
如果您遇到此处未涵盖的问题,请在尝试绕过问题之前通过您现有的沟通渠道联系我们。如果您没有沟通渠道,请参见支持。
确保客户端已更新到最新版本
sudo apt update && sudo apt install doublezero
隧道无法建立
- Edge Connect:在容器内运行状态检查 —
docker exec doublezero-edge-connect doublezero status。当 Feed 正常工作时,主机的doublezero status通常会失败(容器拥有守护进程)。确认主机doublezerod已停止。 - 原生:验证主机守护进程正在运行:
sudo systemctl status doublezerod - 验证防火墙规则已就位(GRE、BGP、PIM、Hyperliquid UDP 端口以及
doublezero1上的5765) - 确认该席位的账单已支付且开始日期已过
- 在您选择的路径上运行 connect(4a 或 4b),使用与账户页面匹配的密钥
- 预期从您运行 connect 的同一位置(容器或主机)看到
BGP Session Up
订阅后无数据包
- 确认您已订阅:
doublezero user list - 确认 Feed 出现在您的组中:
doublezero multicast group list - 在隧道上抓包,例如 Hyperliquid TOB:
sudo tcpdump -ni doublezero1 host 233.84.178.27 - 建议将您所需 Feed 的市场数据和参考数据绑定在一起(MBO 还需绑定快照)
已购买的 Feed 缺失(Edge Connect)
如果已购买的 Feed 未出现在 doublezero status 中,请在容器内订阅:
docker exec doublezero-edge-connect \
doublezero connect multicast --subscribe-feed <feed-code>
多个 Feed 以空格分隔:
docker exec doublezero-edge-connect \
doublezero connect multicast --subscribe-feed \
hyper-hl-tob hyper-hl-mbo hyper-xyz-tob hyper-xyz-mbo
席位过期或被移除
席位按月计费。如果账单在到期前未支付,席位将被移除,隧道将无法保持连接。
"Multicast user already exists"
您已通过其他路径拥有活跃的订阅。请先断开连接,然后重试:
- Edge Connect:
docker exec doublezero-edge-connect doublezero disconnect - 原生:
doublezero disconnect
然后在同一路径(容器或主机)上重试 doublezero connect multicast --subscribe-feed <feed-code>。
AWS 特定问题
在实例的 ENI 上禁用源/目标检查。否则,GRE 封装的组播数据可能会被丢弃。