mcpField
X
x402-funding

x402-funding

本地服务
github.com/kristoferbc金融数据16 天前更新

关于 x402-funding

x402-funding 比较 Hyperliquid 与 Binance 或 OKX 的永续合约年化资金费率,并按流动性筛选交易对、明确交易方向。它面向评估跨平台资金费率差异的开发者和 Agent,也可通过可选接口根据订单簿深度测量可执行容量。

主要功能

  1. 01按各品种资金费率间隔年化
  2. 02以 Binance 为基准并回退至 OKX
  3. 03筛选具备流动性的可交易对
  4. 04明确多空交易腿方向
  5. 05测量订单簿执行容量

适用场景

  1. 01按交易对扫描跨平台资金费率差异
  2. 02按一致间隔比较资金费率收益
  3. 03检查可执行规模与入场冲击
  4. 04通过 MCP 客户端获取差异数据

MCP 相关

向兼容 MCP 的客户端提供 `get_funding_divergence` 工具,并支持可选的 `limit` 参数。本地 MCP 工具直接读取交易平台 API,无需支付设置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kristoferbc-x402-funding": {
"command": "npx",
"args": [
"-y",
"x402-funding-divergence"
]
}
}
}
启动命令npx -y x402-funding-divergence

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmx402-funding-divergence1.5.0

工具

1

收录的工具列表 · 更新于 5 天前

参数类型必填说明
limitinteger否返回的交易对数量(默认值为 5)。

详细介绍

x402 资金 MCP 服务 – Glama 上的质量与维护评分

x402 Funding Divergence

npm 版本 npm 下载量 许可证 node x402-funding MCP 服务

X402 Funding MCP 服务

跨交易平台比较永续合约资金费率。 将 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 */ ]
}

每一行:

字段类型含义
coinstring基础资产,例如 BTC
hl_apr_pctnumberHyperliquid 资金费率,年化百分比
cex_apr_pctnumber基准交易平台资金费率,年化百分比
divergence_bpsnumberhl_apr_pct − cex_apr_pct,单位为基点
hl_interval_hoursnumberHyperliquid 资金费率结算间隔,始终为 1
cex_interval_hoursnumber该交易品种在基准交易平台的资金费率结算间隔
oi_usdnumberHyperliquid 未平仓合约量,单位为 USD
vol_24h_usdnumberHyperliquid 24 小时名义交易量,单位为 USD
cex_vol_24h_usdnumber基准交易平台 24 小时报价交易量,单位为 USD
anomalyboolean偏差是否超过 anomaly_threshold_bps
tradestringshort_hyperliquid_long_<venue> 或 long_hyperliquid_short_<venue>,其中 <venue> 是 benchmark.venue
stabilityobject | 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 构建。资金费率持续变化;此软件包返回的数据是快照,而非预测。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。