关于 x402-funding
x402-funding 比较 Hyperliquid 与 Binance 或 OKX 的永续合约年化资金费率,并按流动性筛选交易对、明确交易方向。它面向评估跨平台资金费率差异的开发者和 Agent,也可通过可选接口根据订单簿深度测量可执行容量。
主要功能
- 01按各品种资金费率间隔年化
- 02以 Binance 为基准并回退至 OKX
- 03筛选具备流动性的可交易对
- 04明确多空交易腿方向
- 05测量订单簿执行容量
适用场景
- 01按交易对扫描跨平台资金费率差异
- 02按一致间隔比较资金费率收益
- 03检查可执行规模与入场冲击
- 04通过 MCP 客户端获取差异数据
MCP 相关
向兼容 MCP 的客户端提供 `get_funding_divergence` 工具,并支持可选的 `limit` 参数。本地 MCP 工具直接读取交易平台 API,无需支付设置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 5 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 返回的交易对数量(默认值为 5)。 |
详细介绍
x402 Funding Divergence
跨交易平台比较永续合约资金费率。 将 Hyperliquid 与流动性良好的中心化交易所基准进行比较——Binance,或在 Binance 限制该地区时使用 OKX——根据各交易平台实际的资金费率间隔折算为年化费率,仅筛选两边都有充足流动性的交易对,并直接给出基差交易方向。
一次调用即可返回两个交易平台观点不一致的所有交易对,并按差值大小排序。无需 API 密钥、无需注册,也无需协商速率限制。
import { fundingDivergence } from "x402-funding-divergence";
const { top } = await fundingDivergence({ topN: 5 });
[
{
"coin": "AAVE",
"hl_apr_pct": 10.95,
"cex_apr_pct": -7.29,
"divergence_bps": 1823.8,
"hl_interval_hours": 1,
"cex_interval_hours": 8,
"oi_usd": 58969834,
"vol_24h_usd": 8784527,
"cex_vol_24h_usd": 103668389,
"anomaly": false,
"trade": "short_hyperliquid_long_binance",
"stability": { "window_hours": 72, "cex_samples": 9, "hl_samples": 72, "cex_mean_apr_pct": -0.03, "cex_std_apr_pct": 7.47, "hl_mean_apr_pct": 6.2, "hl_std_apr_pct": 9.79 }
}
]
trade 字段正是关键所在:它会告诉你哪一边做空、哪一边做多,并标明这些数值来自哪个交易平台。下游无需再做解读。
为什么存在
某个平台的资金费率只告诉你该平台的看法。两个平台之间的差距则告诉你,它们对持仓成本的预期相差多远——这是做基差决策的原始输入,而不是收益预测。
手动处理意味着要协调各个平台各不相同的资金费率间隔(不同平台之间以及不同合约之间都可能不同)、两种计价单位,以及一项筛选条件:只有当两个订单簿都足够深时,交易对应的交易对才可行。这个软件包通过一次调用即可完成这些工作。
- 读取间隔,而非直接假定。 Hyperliquid 每小时结算资金费率。Binance 默认每 8 小时结算一次,但 4 小时结算很常见:它上架的 820 个合约中,465 个每 4 小时结算,2 个每小时结算,因此间隔会按每个合约从
/fapi/v1/fundingInfo获取。OKX 的间隔因合约而异,因此通过nextFundingTime − fundingTime推导。在所有地方都假定为 8 小时,会使每个 4 小时结算合约的年化数值减半,却不会显示任何错误。 - 两条腿都必须有流动性。 Hyperliquid 上的未平仓合约 ≥ $1M、24 小时成交量 ≥ $2M,基准平台上的 24 小时报价成交量 ≥ $2M。一侧深度充足、另一侧却空空如也的交易对无法交易,无论差距看起来有多大。
- 标记异常,而非将其视为机会。 超过 2,000 bps 时,该行会标记为
anomaly: true,并排在普通行之后。如此之大的差距通常意味着某个平台发生了偏离,而不是可以持有的持仓收益。 - 在受限地区也能使用。 来自美国地址的请求会收到 Binance 的 HTTP 451 响应,Bybit 的 CDN 也会拒绝请求。传感器会先尝试 Binance,失败后改用 OKX,并在
benchmark.venue中告知你实际使用的平台。无需配置——哪个平台响应,就用哪个。 - 传感器模块没有任何依赖。 只使用原生
fetch,除此之外别无他物,因此可在 Node 20+、无服务器函数或边缘运行时中运行。完整软件包则在此基础上增加了 x402 支付服务。
三种使用方式。 本地通过库或 MCP 工具使用——免费,网络请求也仅发送到平台 API。通过 HTTP 远程使用则有两种价格:
/funding每次调用 $0.02,用于获取差异本身;/ultra每次调用 $0.25,在此基础上增加实测的执行容量——即每个差异实际可承载多少规模。两者使用同一传感器;Ultra 会增加订单簿深度信息。请参阅使用托管端点和Ultra。
无论你使用免费的本地软件包还是付费的托管端点,都无需处理区块链的复杂性:不需要 RPC 端点、ETH 或 KYC。
安装
npm install x402-funding-divergence
需要 Node.js 20 或更新版本。
两分钟完成集成
TypeScript。 软件包自带类型声明——无需安装或手动编写。
import { fundingDivergence, type FundingResponse } from "x402-funding-divergence";
const data: FundingResponse = await fundingDivergence({ topN: 5 });
const best = data.top[0]; // fully typed
if (best) console.log(best.coin, best.trade, best.divergence_bps);
其他语言。 响应符合 JSON Schema Draft 2020-12。软件包中附带该 Schema(schema/funding-divergence.schema.json),你可以据此生成客户端,无需阅读本页:
npx ajv-cli@5 validate \
-s node_modules/x402-funding-divergence/schema/funding-divergence.schema.json \
-d response.json
Agent(MCP)。 在 Claude Desktop、Cursor 或任何 MCP 客户端中添加一条配置:
{
"mcpServers": {
"x402-funding": { "command": "npx", "args": ["-y", "x402-funding-divergence"] }
}
}
Coinbase AgentKit。 Coinbase 的 X402ActionProvider 专为调用任何受 x402 保护的端点而构建,而这里的两种价格都低于其默认的每次请求 1.00 USDC 上限。它只会调用已知的服务,因此只需注册一次 URL:
const provider = x402ActionProvider({
registeredServices: ["https://x402-funding.onrender.com"],
// maxPaymentUsdc defaults to 1.00, which already covers both routes
});
集成就这么简单。每个字段都有文档说明,请参阅响应结构。
只需要数据? 此软件包附带完整的支付服务及其依赖项。如果你只需要传感器,请安装
hyperliquid-binance-funding——使用相同的传感器文件,输出也相同,且没有任何依赖。
将其用作库
import { fundingDivergence } from "x402-funding-divergence";
const data = await fundingDivergence({ topN: 10 });
console.log(data.benchmark.venue); // "binance" or "okx"
console.log(data.pairs_tradable); // pairs that cleared both liquidity floors
console.log(data.top); // first topN rows, ordinary rows before anomalies
console.log(data.all); // every tradable row
如果默认门槛对你的交易范围过于严格,可以调整门槛:
MIN_OI_USD=500000 MIN_VOL_USD=1000000 MIN_CEX_VOL_USD=1000000 node your-script.mjs
将其用作 MCP 工具
任何兼容 MCP 的客户端都可以直接调用该传感器。将以下内容添加到客户端配置中:
{
"mcpServers": {
"x402-funding": {
"command": "npx",
"args": ["-y", "x402-funding-divergence"]
}
}
}
该工具以 get_funding_divergence 的名称提供,接受可选参数 limit(1–50,默认值为 5)。使用 MCP 的 Agent 无需进行集成或设置付款,即可获取资金费率背离数据。
使用托管端点(按次付费)
托管实例运行于 https://x402-funding.onrender.com,通过 x402 按请求计费。x402 是原生支持 HTTP 的支付协议:服务端返回 402 Payment Required,客户端附上经签名的 USDC 授权后,请求即会完成。
GET https://x402-funding.onrender.com/funding?limit=5 # $0.02
GET https://x402-funding.onrender.com/ultra?limit=5&capacity=5 # $0.25
- 价格:
/funding每次调用 $0.02,/ultra每次调用 $0.25,均以 Base 上的 USDC 计价。 - 可选查询参数:
limit(/funding为 1–50,/ultra为 1–20);capacity和fees_bps仅适用于/ultra。 - **无需账户,无需密钥:**付款地址是唯一涉及的身份信息。
- **免费诊断:**使用
GET /health检查服务是否正常运行,使用GET /sources查看该托管实例实际可访问哪些基准交易所。
**零配置。**你的 Agent 无需 ETH,也无需交易所账户。
**自动付款。**x402 SDK 会在后台签署 USDC 付款并处理身份验证。
**100% 免 Gas 费。**Coinbase 作为中介方支付网络费用。你只需支付调用价格。
对你的代码而言,这与其他 API 调用无异:发出一个请求,收到一个 JSON 正文。无需钱包界面、签名提示,也无需在下面的代码片段之外配置区块链库。
使用 x402 SDK 的客户端示例:
npm install @x402/fetch @x402/evm viem
import { x402Client, wrapFetchWithPayment } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const client = new x402Client();
registerExactEvmScheme(client, { signer: account });
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://x402-funding.onrender.com/funding?limit=5");
console.log(await res.json());
Ultra:价差实际可承载的规模
背离表明不同交易所之间存在分歧,但并未说明是否有人能据此采取行动。对于 Hyperliquid 盘口深度仅为 $15k 的交易对,1,800 bps 的价差与盘口深度达 $8M 的交易对出现相同价差,并非同等的机会——资金费率数据流本身不会告诉你当前看到的是哪一种情况。
GET /ultra — 每次调用 $0.25 — 会为每个交易对添加以下数据:
| 字段 | 含义 |
|---|---|
capacity.usd | 两条腿同时可执行的最大名义金额,超过该金额后,两条腿的合计市场冲击会高于 impact_budget_bps(默认值为 10) |
capacity.hl_impact_bps、capacity.cex_impact_bps | 该规模下每条腿的市场冲击 — 因此可以核查这个数值,而不是盲目相信它 |
capacity.hl_book_usd、capacity.cex_book_usd | 每一侧的可见深度 |
capacity.entry_cost_bps | 该规模下的吃单手续费(假定值,可通过 fees_bps 覆盖)加上市场冲击 |
capacity.breakeven_days | 入场成本除以每日资金费率收益 |
该数值的计算方法 — 以及用于验证求解器的闭式解 — 详见 CAPACITY.md。简而言之:逐档消耗每个盘口的深度,将每条腿的成交量加权价格与其最优报价进行比较,再通过二分法找出两条腿的市场冲击仍在预算范围内的最大规模。绝不对交易所未公布的深度进行外推;达到内部安全上限时,响应会返回 usd_lower_bound: true,而不是将下限说成测量值。
curl -i "https://x402-funding.onrender.com/ultra?limit=5&capacity=5"
# HTTP 402, accepts[0].amount = "250000" (6 decimals = $0.25)
查询参数:limit(1–20,默认值为 5)、capacity(测量 1–10 行,默认值为 5)、fees_bps(0–200,默认值为 9.5)。
以下是实时调用返回的一行原始数据 — 其中的每个数值都可以根据其他数值重新计算,这正是设计目的:
"coin": "ZEC",
"divergence_bps": 1238.3,
"trade": "short_hyperliquid_long_binance",
"capacity": {
"available": true,
"usd": 329154, // notional executable before impact exceeds the budget
"usd_lower_bound": false, // true would mean "at least this much", not "exactly this"
"impact_budget_bps": 10,
"hl_impact_bps": 6.38, // Hyperliquid leg at that size
"cex_impact_bps": 3.62, // 6.38 + 3.62 = 10.00, the budget, exactly
"hl_book_usd": 1235946, // visible depth, Hyperliquid
"cex_book_usd": 592188, // visible depth, benchmark venue
"side_hyperliquid": "bid", // sell Hyperliquid
"side_benchmark": "ask", // buy Binance
"fees_assumed_bps": 9.5, // 4.5 Hyperliquid + 5 CEX, base tier
"entry_cost_bps": 19.5, // 9.5 fees + 6.38 + 3.62 impact
"carry_bps_per_day": 3.393, // 1238.3 / 365
"breakeven_days": 5.75, // 19.5 / 3.393
"reason": "impact_budget" // or "capped_by_visible_depth", "capped_by_request"
}
Ultra 提供的是测量结果,不是建议。它绝不会建议仓位规模或资金分配,只会公布市场可承载的规模和入场成本。如果没有任何交易对的盘口数据可供测量,端点会返回 502,而非 200,这样中介方会取消结算,你也不会为空结果付费。
响应格式
{
"updated_at": "2026-10-30T20:15:21.409Z",
"benchmark": {
"venue": "binance", // or "okx" where Binance restricts the region
"funding_interval": "read per instrument from the venue",
"fallbacks": [] // venues tried and failed before this one
},
"methodology": "Annualised funding, each leg with its own funding interval: ...",
"liquidity_floor": { "min_oi_usd": 1000000, "min_vol_usd": 2000000, "min_cex_vol_usd": 2000000 },
"anomaly_threshold_bps": 2000,
"pairs_considered": 49, // cleared the Hyperliquid floor
"pairs_not_checked_on_venue": 0, // skipped because of the per-venue call cap
"pairs_compared": 46, // of those, also listed on the benchmark venue
"pairs_rejected_illiquid": 130, // failed the Hyperliquid floor
"pairs_rejected_cex_illiquid": 0, // failed the benchmark-venue floor
"pairs_tradable": 46, // published
"pairs_flagged_anomaly": 11,
"top": [ /* first topN rows */ ],
"all": [ /* every tradable row, ordinary rows first */ ]
}
每一行:
| 字段 | 类型 | 含义 |
|---|---|---|
coin | string | 基础资产,例如 BTC |
hl_apr_pct | number | Hyperliquid 资金费率,年化百分比 |
cex_apr_pct | number | 基准交易平台资金费率,年化百分比 |
divergence_bps | number | hl_apr_pct − cex_apr_pct,单位为基点 |
hl_interval_hours | number | Hyperliquid 资金费率结算间隔,始终为 1 |
cex_interval_hours | number | 该交易品种在基准交易平台的资金费率结算间隔 |
oi_usd | number | Hyperliquid 未平仓合约量,单位为 USD |
vol_24h_usd | number | Hyperliquid 24 小时名义交易量,单位为 USD |
cex_vol_24h_usd | number | 基准交易平台 24 小时报价交易量,单位为 USD |
anomaly | boolean | 偏差是否超过 anomaly_threshold_bps |
trade | string | short_hyperliquid_long_<venue> 或 long_hyperliquid_short_<venue>,其中 <venue> 是 benchmark.venue |
stability | object | null | 两条腿近期的平均值和标准差。每一行需要调用上游两次,因此仅计算前 STABILITY_MAX_ROWS 行;其他行的值为 null |
方法
- Hyperliquid 每小时公布一次资金费率:
rate × 8760。 - Binance 默认每 8 小时结算一次资金费率,但其列出的 820 份合约中,465 份每 4 小时结算一次,另有 2 份每小时结算一次。结算间隔按交易品种读取,然后使用
rate × (8760 / interval)计算。 - OKX 为每个交易品种公布一个费率。结算间隔根据响应推导,然后使用相同的公式。
- 偏差为
HL − benchmark,以基点表示。 - 偏差为正表示 Hyperliquid 的资金费率更高,因此套利交易会做空 Hyperliquid,并做多
benchmark.venue指定的平台。 - 按偏差绝对值排序,并将异常项排在普通项之后。
两个平台都是公开的,无需身份验证。使用 Binance 路径时,传感器会并行发出三个请求,大约 1.5 秒即可返回。OKX 后备路径每个交易对需要一个请求,因此覆盖流动性较好的交易品种大约需要 3.5 秒。
这不代表什么
偏差是即时年化值,而非预测值。今天读数为年化 −200% 的资金费率,明天可能变成 +50%,因为年化计算会将上一次结算的费率乘以 1,095 或 2,190。因此,每一行都包含 stability:该交易对的费率在近期窗口内实际波动了多少,以及其平均值。
3,000 个基点的差距并不代表 30% 的年化回报。这通常意味着某个平台短暂出现了价格偏离,而这正是 anomaly 要告诉你的情况。
自托管
此软件包包含完整的服务端。克隆仓库、安装,然后将其指向收款地址:
npm install
cp .env.example .env
npm start
| 变量 | 必填 | 用途 |
|---|---|---|
PAY_TO | 是 | 接收付款的 EVM 地址。仅需公开地址;服务端不保存私钥。 |
NETWORK | 否 | eip155:8453(Base 主网,默认)或 eip155:84532(Base Sepolia) |
CDP_API_KEY_ID / CDP_API_KEY_SECRET | 主网 | Coinbase CDP 凭证;托管的结算服务使用它们进行身份验证 |
PRICE | 否 | /funding 每次调用的价格,默认 $0.02 |
ULTRA_PRICE | 否 | /ultra 每次调用的价格,默认 $0.25 |
CAPACITY_IMPACT_BPS | 否 | 用于计算容量的影响预算,默认 10 |
CAPACITY_FEES_BPS | 否 | entry_cost_bps 中假设的吃单手续费,默认 9.5 |
ULTRA_TIMEOUT_MS | 否 | /ultra 的硬超时,默认 20000(之后返回 502,不收费) |
MIN_OI_USD / MIN_VOL_USD | 否 | Hyperliquid 流动性下限 |
MIN_CEX_VOL_USD | 否 | 基准交易场所的流动性下限 |
ANOMALY_BPS | 否 | 异常阈值,默认 2000 |
X402_BENCHMARK_ORDER | 否 | 交易场所顺序,默认 binance,okx |
OKX_MAX_COINS | 否 | OKX 路径上比较的最多交易对数,默认 50(每个交易对各请求一次) |
STABILITY_MAX_ROWS | 否 | 补充 stability 的行数,默认 10 |
STABILITY_WINDOW_HOURS | 否 | stability 的回溯时长,默认 72 |
PORT | 否 | 默认 4021 |
GET /health 和 GET /sources 免费。GET /funding 和 GET /ultra 是付费路由。
主网需要 CDP 凭证,因为公开的 x402 结算服务仅支持测试网。如果在没有凭证的情况下使用 eip155:8453,服务端会拒绝启动,而不是等到首次付款时才失败。
每月前 1,000 笔结算免费;超过后,结算服务每笔收费 $0.001。此费用决定了每次调用的可行价格下限。
托管与自托管:你实际付费获得的是什么
自托管无需花钱,但需要花一个下午进行设置,并且必须持续让服务运行。两种方式运行相同的两个路由;区别只在于谁接收付款。
- 零维护。 无需跟踪上游 API 变更、重启服务或轮换 CDP 凭证。
- 始终就绪。 托管实例持续运行,因此 Agent 循环无需承受冷启动。你无需自行配置保活任务。
- 一行代码。 无需克隆、无需
.env,也无需完整安装依赖。一次fetch调用就能完成集成。
| 托管 | 自托管 | |
|---|---|---|
| 首次调用所需时间 | 一次 fetch | 克隆、安装、配置凭证、部署 |
| 持续工作 | 无 | Node 运行时、结算服务配置、重启 |
| 边际成本 | 每次调用 $0.02 或 $0.25 | 你自己的基础设施 |
| 流动性下限 | 固定为 OI ≥ $1M、HL 成交量 ≥ $2M、CEX 成交量 ≥ $2M | 由你选择 |
| 付款流向 | 运营方 | 你 |
| 正常运行时间 | 已处理 | 由你安排 |
如果这些数据是你正在构建的其他内容的输入,请选择托管端点。如果你需要自定义流动性下限、使用自己的收款地址或选择其他网络,请选择自托管。
许可证
MIT
基于公开交易场所 API 构建。资金费率持续变化;此软件包返回的数据是快照,而非预测。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。