carryroom

一目了然

资金费率与价格,以 JSON 提供。无需密钥与注册

关于本页

资金费率是永续合约多空双方之间往来支付的费率,结算周期由各交易所自行设定。本站以约每分钟一次的频率,从各交易所自有的公开 API 读取该费率与相应价格。同样的观测值也可通过下列地址以 JSON 取用。

无需密钥、无需注册,也不必安装任何东西。一行即可看到全部内容。

curl -s https://www.carryroom.com/api/v1/latest

每个响应都会说明自身属于哪个版本、生成于何时、以及不包含什么。尚未建成的内容不会用空列表来充数。

当前返回什么

数据种类响应中的名称本版本的处理
各交易所、各合约的最新资金费率与价格latest_rates已开放
跨交易所组合的排序,以及 30 天内资金费差额的累计结果pair_ranking已开放
该累计结果逐日形成的过程cumulative_curve尚未返回
历史资金费率(过去的费率本身,时间序列)rate_history尚未返回
成交额与持仓量(尚未平仓的规模)volume尚未返回
盘口的厚度,以及实际成交所需的费用depth_profile尚未返回

资金费率的历史将在下一版本提供。在此之前,历史地址只会返回一句简短说明,而不会返回空列表——空列表无法与“今天没有符合条件的结果”区分开,读到它的程序会把这当作事实带走。

标记为“已开放”表示本版本愿意返回该类数据;其地址是否已经就绪则是另一回事,由下方列表说明。

接口地址

地址当前是否可用
/api/v1
/api/v1/latest
/api/v1/venues
/api/v1/carry
/api/v1/history尚未提供

本列表中的任何地址都不接受密钥(本版本没有密钥这一机制)。标记为“尚未提供”的地址会返回一段简短说明,并指出可改用哪个接口;它不会返回空列表。

先取回一次列表,再在本地筛选。查看某一家交易所的费率及各自的结算周期:

curl -s https://www.carryroom.com/api/v1/latest \
  | jq '[.rows[] | select(.venue == "hyperliquid")
         | {symbol, funding_rate_8h, funding_interval_h}]'

symbol 是各交易所自己的写法,因此 1000BONK 与 BONK 其实是同一个资产的两种写法。每一行还另带一个统一化后的资产名称,跨交易所对齐时应当用它来连接。不带查询参数时返回的是与页面相同的范围;要看其余的,请如 ?venues=dydx,btcc 这样点名。无法识别的名称会原样写回响应,而不会悄悄放开全部结果。

从智能体调用

智能体所需的说明从这一个文件开始,由本站自行分发,无需经过任何外部仓库。其格式就是 Claude Code、Codex(ChatGPT)等所读取的通用技能文件:开头是文件的自我声明,之后是使用上的约定。

mkdir -p ~/.claude/skills/carryroom
curl -fsSL https://www.carryroom.com/skills/carryroom/SKILL.md \
  -o ~/.claude/skills/carryroom/SKILL.md

上面的位置是 Claude Code 的。其他读取方会看别的目录。

读取方仅自己使用仅某个项目
Claude Code~/.claude/skills.claude/skills
Codex CLI(ChatGPT)~/.agents/skills.agents/skills
Gemini CLI~/.gemini/skills.gemini/skills

Codex CLI 与 Gemini CLI 也都会读取 ~/.agents/skills,因此放在这一处即可同时供两者使用。放好之后请重新开一个会话。

各智能体存放技能文件的位置会随版本变化。如果它找不到该文件,请直接把地址交给它。上面第二个地址是清单:它会列出本站正在分发的每个文件、各自的大小,以及由内容算出的版本号,因此智能体可以自行判断手中的副本是否仍然最新。

本版本没有提供 MCP 服务器。这些地址是普通的 HTTP 且无需密钥,因此既可由具备抓取能力的 MCP 服务器读取,也可由智能体自带的抓取工具直接读取。

返回的是观测值,不是建议。请要求智能体如实转述字段、数值与单位,并一并说明响应中自称未包含的内容。

单位与时间

每个响应都带有 meta.units,说明该响应中每个数字的单位——把单位写在外部文档里,它会与数据各自变旧。以 _ms 结尾的字段为 UTC 纪元毫秒,以 _utc 结尾的字段为 RFC 3339。

最容易被误读的四个字段如下。

结算周期如何对齐

各交易所的资金费结算周期并不相同:有的每小时一次,有的每四小时一次,有的每八小时一次。因此,某个交易所公布的费率与另一个交易所公布的费率,本身并不是同一种度量;不加说明就并排比较,是这类数据最常见的误用。

这一差异有多大:某交易所每小时结算一次、公布 0.00002,折成 8 小时就是 0.00016;而每八小时结算一次的交易所公布的 0.00002,折成 8 小时仍是 0.00002。相差八倍,而且印出来数字更大的那一边,实际收到的反而更少。

因此两个数字都会返回,并且彼此分开。funding_rate_8h 是已换算为每 8 小时口径的数值,交易所之间可比的正是这个值——再换算一次,就是把同一个错误犯两遍。funding_interval_h 则是交易所自身的周期,未作任何改动,可据以还原或复核换算。

结算周期属于合约,而不属于交易所:同一家交易所可以同时存在每小时、每四小时与每八小时结算的合约,而同一个合约的周期也可能第二天就变。与其在这里写一个会悄悄过期的数字,不如给出现在就能自己清点的方法。

curl -s https://www.carryroom.com/api/v1/latest \
  | jq -r '.rows[].funding_interval_h' | sort -n | uniq -c

年化数值为单利,而且是一个假设:把此刻的费率延伸到一年,既不是预测,也不是已实现的收益。具体算法请见数值的读法页面。

各交易所之间容易读错的地方

以下三点无论怎样统一都会残留。响应不会择一约定而隐去其余,而是把它们保留在可见之处。

覆盖到什么程度

本站在页面上列出的交易所共 48 家。资金费率与价格即从这些交易所读取,频率约为每分钟一次。

其中有多少家真正出现在某次响应里,是另一个数字;这个数字不是宣称的,而是由响应自行清点得出:数量在 meta.coverage 中,交易所列表地址则逐家列出,并注明各家是否出现在当前观测里。

curl -s https://www.carryroom.com/api/v1/venues

覆盖情况无法用整站的一个数字概括,它会随数据种类而不同。本版本返回的是资金费率与价格,不返回盘口厚度、成交额与费率历史——因此本页不给出这些数据的任何数量,因为这里并未对它们做过清点。

调用量

请使用可一次返回全部结果的列表接口,不要逐个合约调用。衡量的不只是次数,还有请求的形态:逐个抓取大量不同合约看起来像是全量抓取,而反复查看少数几个则不会。

若被拒绝,会返回 429、Retry-After,以及可改用哪个接口的说明——无需有人去读文档,程序自己就能恢复。

费用

上述内容的使用不收取任何费用。本站没有可供购买的商品,不标示价格,也不收取款项。

常见问题

需要密钥或注册账号吗?

不需要。既没有密钥,也没有需要注册的账号。

每个响应都会在自身内容中说明这一点:plan 字段为 free,key_required 字段为 false,因此程序可以自行判断当前看到的是否就是全部。

如何从 Claude Code、Codex 或 Gemini CLI 使用?

下载一个文件,把它放到你的智能体查找技能文件的目录里即可。

该文件由本站自行分发,无需经过任何外部仓库,全程也不需要密钥。它采用通用的技能文件格式,因此同一个文件对各家都适用。放好之后请重新开一个会话。

  • Claude Code:~/.claude/skills(仅某个项目则用 .claude/skills)
  • Codex CLI 与 Gemini CLI:放在 ~/.agents/skills 一处即可同时供两者使用
  • 其他读取方:直接把该文件的地址交给它读取

有 MCP 服务器吗?

本版本没有。

这些地址是普通的 HTTP 且不接受密钥,因此既可由具备抓取能力的 MCP 服务器读取,也可由智能体自带的抓取工具直接读取,事先无需安装或授权。

可以取得历史资金费率吗?

暂时还不行。资金费率的历史将在下一版本提供。

目前返回的是各交易所、各合约的最新费率与价格。在历史数据就绪之前,对应地址只会返回一句简短说明,程序不会把空列表当成答案读走。

可以多频繁地调用?

请用可一次返回全部结果的列表接口取数;被拒绝的是逐个合约调用的方式。

衡量的不只是次数,还有请求的形态:逐个抓取大量不同合约看起来像是全量抓取,而反复查看少数几个则不会。被拒绝时会返回 429、Retry-After 头,以及可改用的地址。

各个数字的单位写在哪里?

就写在响应自身的 meta.units 中。

时间可由字段名判断:以 _ms 结尾的是 UTC 纪元毫秒,以 _utc 结尾的是 RFC 3339。价格按合约自身的单位给出,并同时给出倍率,因为一张合约可能代表一千枚。

我要的东西没有返回,是坏了吗?

不是。尚未建成的地址会明确说明“尚未提供”,而不是返回空列表。

空列表无法与“今天没有符合条件的结果”区分开,读到它的程序会把这当作事实带走。因此这些地址会返回 501、not_yet 的状态、一句说明理由的话,以及确实可用的地址。

各交易所的结算周期不同,这些数字是如何对齐的?

分为两个字段:换算为每 8 小时口径的费率,以及交易所自己公布、原样保留的结算周期。

交易所之间可比的正是换算之后的数值,而换算已经完成——再按周期乘或除一次,就是把同一个错误犯两遍。结算周期字段的用途,是让你知道在持有期间会发生几次结算,这是另一个问题。

  • 每小时结算的交易所公布的 0.00002,折成 8 小时是 0.00016。
  • 每八小时结算的交易所公布的 0.00002,折成 8 小时仍是 0.00002。
  • 结算周期属于合约而非交易所:同一家交易所可以同时存在每小时、每四小时与每八小时结算的合约。

覆盖了多少家交易所?

资金费率与价格取自本站在页面上列出的交易所;数量不是宣称的,而是由响应自行清点得出。

整站无法用一个数字概括,因为覆盖情况随数据种类而不同。本版本返回的是资金费率与价格,不返回盘口厚度、成交额与费率历史,因此也不给出这些数据的数量。

  • 交易所列表,以及各家是否出现在当前观测里:/api/v1/venues