加密衍生品 API
一个 API 获取加密衍生品数据:持仓量、资金费率、爆仓、基差与交易所间价差。BytNode 聚合其覆盖的永续与期货交易所并统一格式,无需逐个对接交易所或重新处理数据,即可横向比较各市场。
期货仓位:投入了多少资金、成本几何、方向如何,以及相对现货的价格。所有这些指标都是综合值,每个指标都注明了所用的加权方式。
#面向 AI 智能体与 LLM 的加密衍生品数据
“BTC 资金费率是正的吗?”“ETH 今天增加了多少持仓量?”“过去一小时哪一方被爆仓?”:通过 MCP 接入的 AI 智能体用本数据族作答,可查一个交易对或比较最多十个,使用 get_pair_data 工具。
{
"name": "get_pair_data",
"arguments": {
"symbol": ["BTCUSDT", "ETHUSDT"],
"fields": ["funding_next", "oi", "liquidations_cumulative"],
"timeframe": "1h"
}
}- 给 LLM 的提示:资金费率的
rate_pct是一个 8 小时窗口的百分比,不是年化利率;apr_pct才是年化值。把它当作年化收益引用是常见误读。 - 给开发者:在你自己的 AI 智能体中,
/v1/funding/rate和/v1/oi可作为两个简单的 tool calling 工具;MCP 服务器已用相同的名称和单位提供它们。 - 适用环境:Claude、ChatGPT、Cursor 及任何 MCP 客户端,包括支持 MCP 的 AI 智能体框架,如 LangChain 或 n8n。
通过 MCP 服务器指南接入你的 AI 智能体,或用开源的 Agent Skills 教它使用 BytNode。
#持仓量
此接口的全部 4 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the bucket the row covers: a 1h bucket at 14:00 covers 14:00:00 to 14:59:59.999. |
oi | base asset quantity (BTC for BTCUSDT) | Total open interest across venues, base asset units. On a bucketed row, the value at the END of the bucket (like a close); on `/v1/oi/change`, the latest measurement. |
sample_count | count | Number of source points in the bucket (one-minute points with data). For a state (basis, open interest) the value is the LAST of them — the bucket's close —; for a flow it is their total. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
所有交易所合计的总持仓量,每个已关闭的 timeframe 区间一行(必填,1m 至 1d):取每个交易所在该区间的最后一个值,类似收盘值。当前值见 /v1/oi。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
symbol | string | 必填 | 资产。 |
timeframe | string | 必填 | 区间大小:1m、5m、15m、30m、1h、4h 或 1d。 |
limit | integer | 100 | timeframe 区间的数量,1 到 1000。 |
| 字段 | 类型 | 说明 |
|---|---|---|
time | string | 区间起始时间。 |
oi | float | 跨交易所汇总的持仓量,以基础资产为单位,取 bucket 结束时的值(类似收盘价)。与 /v1/oi/change 中的 `oi` 是同一指标、同一名称。 |
此接口的全部 7 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Point-in-time value: the instant of the measurement; the change covers the minute before it. |
oi | base asset quantity (BTC for BTCUSDT) | Total open interest across venues, base asset units. On a bucketed row, the value at the END of the bucket (like a close); on `/v1/oi/change`, the latest measurement. |
previous_oi | base asset quantity (BTC for BTCUSDT) | Total open interest at the start of the window (`window_start_at`). |
oi_change | base asset quantity (BTC for BTCUSDT) | oi - previous_oi, base asset units. |
oi_change_pct | percent (58.5 = 58.5 %) | Relative open interest change, percent. |
window_start_at | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the ROLLING window the value covers (inclusive). Only rolling-window values carry it, and their `time` is always the END of the window; a bucket row has no window fields (its span is the envelope's `step`). |
window_s | seconds | Length of that rolling window, in whole seconds: it runs from `window_start_at` to `time` (excluded). |
此接口的全部 7 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the bucket of `timeframe`, the value aggregating the bucket's minutes; the row covers `time` to `time` + the envelope's `step` (excluded). |
oi | base asset quantity (BTC for BTCUSDT) | Total open interest across venues, base asset units. On a bucketed row, the value at the END of the bucket (like a close); on `/v1/oi/change`, the latest measurement. |
previous_oi | base asset quantity (BTC for BTCUSDT) | Total open interest at the start of the window (`window_start_at`). |
oi_change | base asset quantity (BTC for BTCUSDT) | oi - previous_oi, base asset units. |
oi_change_pct | percent (58.5 = 58.5 %) | Relative open interest change, percent. |
sample_count | count | Number of source points in the bucket (one-minute points with data). For a state (basis, open interest) the value is the LAST of them — the bucket's close —; for a flow it is their total. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
持仓量的变化:资金的流入或流出。百分比基于聚合总量重新计算,以与总和保持一致。
| 字段 | 类型 | 说明 |
|---|---|---|
oi | float | 当前持仓量,跨交易所汇总(基础资产单位)。 |
previous_oi | float | 上一个值。 |
oi_change | float | 差值。 |
oi_change_pct | float | null | 百分比变化。 |
time | string | 计算时间戳。 |
window_start_at | string | 该值所覆盖窗口的起始时间(含)。 |
window_s | integer | 窗口长度(秒):从 window_start_at 到 window_start_at + window_s。 |
#资金费率
同一现象的三种读法:最近一次适用的费率、下一次预估费率,以及最近二十四小时的累计值。都是按持仓量加权的综合值(持仓最多的交易所权重最大),并在加权前统一换算为八小时基准,因为有些交易对每四小时或每小时结算一次。
此接口的全部 6 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the 8-hour funding period. The window is PAID by the settlement at its end: read `period_end_at` / `settled_at` for when it was settled. |
period_end_at | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | End of the 8-hour funding period (exclusive): the instant of the settlement that pays it. |
settled_at | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Instant of the last settlement counted in the window: `period_end_at` for a complete settled window; `null` for the window in progress (`?live=1`), which is not settled yet. |
rate_pct | percent (58.5 = 58.5 %) | Settled funding rate of the 8-hour period, in percent (0.01 = 0.01 % per 8 h), normalised to 8 h and open-interest weighted across venues. |
apr_pct | percent (58.5 = 58.5 %) | Annualised rate in percent. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
此接口的全部 6 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the 8-hour funding period. The window is PAID by the settlement at its end: read `period_end_at` / `settled_at` for when it was settled. |
period_end_at | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | End of the 8-hour funding period (exclusive): the instant of the settlement that pays it. |
settled_at | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Instant of the last settlement counted in the window: `period_end_at` for a complete settled window; `null` for the window in progress (`?live=1`), which is not settled yet. |
rate_pct | percent (58.5 = 58.5 %) | Settled funding rate of the 8-hour period, in percent (0.01 = 0.01 % per 8 h), normalised to 8 h and open-interest weighted across venues. |
apr_pct | percent (58.5 = 58.5 %) | Annualised rate in percent. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
| 字段 | 类型 | 说明 |
|---|---|---|
time | string | 8 小时窗口的起点,对齐到 UTC 00:00、08:00 和 16:00。 |
rate_pct | float | 该窗口的综合费率,以百分比表示(8 小时等值)。 |
apr_pct | float | 年化费率,以百分比表示:apr_pct = rate_pct × 1095,即每年 1095 次 8 小时结算。8.98 表示每年 8.98%。最新值和每一行历史中都有此字段。 |
此接口的全部 4 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Point-in-time value: the instant of the next funding settlement the forecast is for. |
estimated_rate_pct | percent (58.5 = 58.5 %) | Venue forecast of the NEXT funding settlement, in percent per 8 h (0.01 = 0.01 %), normalised to 8 h, OI-weighted. |
apr_pct | percent (58.5 = 58.5 %) | Annualised rate in percent. |
is_past | `true` if the forecast settlement instant is already past (the next forecast is not published yet). |
| 字段 | 类型 | 说明 |
|---|---|---|
time | string | 该预估所对应的下一次结算时刻。 |
estimated_rate_pct | float | 预估费率,以百分比表示(8 小时等值)。 |
is_past | boolean | 该次结算已过去时为真。 |
apr_pct | float | 年化值,以百分比表示。 |
此接口的全部 6 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Point-in-time value over a rolling window: the END of the 24-hour window, i.e. the settlement that closes the last 8-hour period summed. The window starts at `window_start_at` and lasts `window_s`. |
window_start_at | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the 24-hour window summed (inclusive). |
window_s | seconds | Length of the window, in seconds (86400 = 24 hours). |
rolling_24h_rate_pct | percent (58.5 = 58.5 %) | Sum of the last three settled 8-hour funding rates — a ROLLING 24-hour window — in percent. A row is published every 8 hours and covers 24: consecutive rows OVERLAP by 16 hours, so never add them up (sum `rate_pct` of `/v1/funding/rate/history` instead). |
apr_pct | percent (58.5 = 58.5 %) | Annualised rate in percent. |
sample_count | count | Number of 8-hour funding windows summed. |
此接口的全部 7 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | END of each 24-hour window (the settlement that closes its last 8-hour period). The window starts at `window_start_at` and lasts `window_s`. |
window_start_at | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the 24-hour window summed (inclusive). |
window_s | seconds | Length of the window, in seconds (86400 = 24 hours). |
rolling_24h_rate_pct | percent (58.5 = 58.5 %) | Sum of the last three settled 8-hour funding rates — a ROLLING 24-hour window — in percent. A row is published every 8 hours and covers 24: consecutive rows OVERLAP by 16 hours, so never add them up (sum `rate_pct` of `/v1/funding/rate/history` instead). |
apr_pct | percent (58.5 = 58.5 %) | Annualised rate in percent. |
sample_count | count | Number of 8-hour funding windows summed. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
curl -H "X-API-KEY: $BYTNODE_API_KEY" \
"https://api.bytnode.com/v1/funding/cumulative?symbol=BTCUSDT"| 字段 | 类型 | 说明 |
|---|---|---|
time | string | 24 小时窗口的结束时刻:即结束所累加的最后一个 8 小时窗口的那次结算。 |
window_start_at | string | 所累加的 24 小时窗口的起始时刻。 |
window_s | integer | 窗口长度,单位为秒(86400)。 |
rolling_24h_rate_pct | float | 最近三个已结算 8 小时费率之和——一个滚动的 24 小时窗口——以百分比表示。每 8 小时一行,每行覆盖 24 小时:相邻行相互重叠,切勿相加(如需总和,请对 /v1/funding/rate/history 的 rate_pct 求和)。 |
apr_pct | float | 按实际累加的窗口数年化,以百分比表示,即使缺少某个窗口也依然准确。 |
sample_count | integer | 实际累加的 8 小时窗口数,最多三个。 |
#爆仓
此接口的全部 6 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Instant of the liquidation, as stated by the venue (milliseconds). |
side | `long` (a long position was liquidated: forced sell) or `short` (forced buy). | |
price | quote currency (USDT for BTCUSDT) | Price. |
quantity | base asset quantity (BTC for BTCUSDT) | Quantity traded or liquidated, in base asset units. |
value_usd | USD | Notional value: price × quantity, in the pair's quote currency (USDT for BTCUSDT), taken as USD. |
venue | Venue where the liquidation happened (liquidations name their venues). |
逐笔爆仓,所有交易所合并。此处的覆盖面在结构上低于成交:并非所有交易所都发布公开的爆仓数据流。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
symbol | string | 必填 | 资产。 |
limit | integer | 100 | 事件数量,1 到 10 000。 |
min_usd | float | — | 按美元价值的可选过滤。 |
| 字段 | 类型 | 说明 |
|---|---|---|
time | string | 爆仓发生的时刻。 |
side | string | long 或 short:被强平仓位的方向,而非订单方向。该约定已在各交易所间统一。 |
price | float | 强平价格。 |
quantity | float | 以基础资产计的数量。 |
value_usd | float | 美元价值。 |
此接口的全部 7 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Point-in-time value over a rolling window: the END of the 5-minute window, aligned on the minute. |
long_usd | USD | Long positions liquidated, USD. |
short_usd | USD | Short positions liquidated, USD. |
total_usd | USD | Total, USD. |
venues | Venues whose liquidations are summed in the row, by name (empty when none in the row). Rows before the first individual liquidation are imported totals: their list is the venues those totals cover. | |
window_start_at | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the ROLLING window the value covers (inclusive). Only rolling-window values carry it, and their `time` is always the END of the window; a bucket row has no window fields (its span is the envelope's `step`). |
window_s | seconds | Length of that rolling window, in whole seconds: it runs from `window_start_at` to `time` (excluded). |
此接口的全部 7 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the bucket. The row covers the WHOLE bucket, from `time` to `time` + the envelope's `step` (excluded). |
long_usd | USD | Long positions liquidated, USD. |
short_usd | USD | Short positions liquidated, USD. |
total_usd | USD | Total, USD. |
sample_count | count | Number of source points in the bucket (one-minute points with data). For a state (basis, open interest) the value is the LAST of them — the bucket's close —; for a flow it is their total. |
venues | Venues whose liquidations are summed in the row, by name (empty when none in the row). Rows before the first individual liquidation are imported totals: their list is the venues those totals cover. | |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
| 字段 | 类型 | 说明 |
|---|---|---|
time | string | 计算时间戳。 |
long_usd | float | 被强平的多头仓位金额(美元)。 |
short_usd | float | 被强平的空头仓位金额(美元)。 |
total_usd | float | 合计。 |
window_start_at | string | 该值所覆盖窗口的起始时间(含)。 |
window_s | integer | 窗口长度(秒):从 window_start_at 到 window_start_at + window_s。 |
此接口的全部 9 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the latest closed bucket of `timeframe` that had at least one liquidation — the first row of `/v1/liquidations/big-small-ratio/history` for the same `timeframe`. |
big_count | count | Liquidations of 100,000 USD or more. |
big_usd | USD | Notional of liquidations of 100,000 USD or more. |
small_count | count | Liquidations below 100,000 USD. |
small_usd | USD | Notional of liquidations below 100,000 USD. |
big_small_ratio | big / small | big_usd / small_usd: the notional of liquidations of 100,000 USD or more DIVIDED BY that of the smaller ones (8.2 = the big ones weigh 8.2 times the small ones: a quotient, not a share). `null` when small_usd is 0. |
venues | Venues whose liquidations are summed in the row, by name (empty when none in the row). Rows before the first individual liquidation are imported totals: their list is the venues those totals cover. | |
sample_count | count | Number of source points in the bucket (one-minute points with data). For a state (basis, open interest) the value is the LAST of them — the bucket's close —; for a flow it is their total. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
此接口的全部 9 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the bucket of `timeframe`, the value aggregating the bucket's minutes; the row covers `time` to `time` + the envelope's `step` (excluded). |
big_count | count | Liquidations of 100,000 USD or more. |
big_usd | USD | Notional of liquidations of 100,000 USD or more. |
small_count | count | Liquidations below 100,000 USD. |
small_usd | USD | Notional of liquidations below 100,000 USD. |
big_small_ratio | big / small | big_usd / small_usd: the notional of liquidations of 100,000 USD or more DIVIDED BY that of the smaller ones (8.2 = the big ones weigh 8.2 times the small ones: a quotient, not a share). `null` when small_usd is 0. |
venues | Venues whose liquidations are summed in the row, by name (empty when none in the row). Rows before the first individual liquidation are imported totals: their list is the venues those totals cover. | |
sample_count | count | Minutes of the bucket that had at least one liquidation. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
大额爆仓(至少 10 万美元)与小额爆仓之比。它能区分大户出清与小户连环爆仓。
| 字段 | 类型 | 说明 |
|---|---|---|
big_count / big_usd | integer / float | 至少 10 万美元的爆仓。 |
small_count / small_usd | integer / float | 低于该金额的爆仓。 |
big_small_ratio | float | null | big_usd 除以 small_usd。分母为零时为 null。 |
time | string | 分桶的起始时间(在 /v1/liquidations/big-small-ratio 上为 timeframe 最近一个已收盘的分桶;该路由像 /v1/cvd 一样必须提供 timeframe)。 |
sample_count | integer | 该分桶中至少发生过一次爆仓的分钟数。 |
is_closed | boolean | true:该分桶已收盘,其数值为最终值。 |
#基差
此接口的全部 5 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Point-in-time value: the instant of the venue prices used (each venue's last futures and spot trades, at most 2 minutes old). |
basis_value | quote currency (USDT for BTCUSDT) | Futures price - spot price, in the quote currency (USDT for BTCUSDT), like the two prices. |
basis_pct | percent (58.5 = 58.5 %) | (futures - spot) / spot, in percent. Positive = contango. |
futures_price | quote currency (USDT for BTCUSDT) | Perpetual futures price, open-interest weighted across venues. |
spot_price | quote currency (USDT for BTCUSDT) | Spot price across venues at the instant of the row, paired with the futures price of the same instant. Not the latest trade price: that is the `price` of `/v1/price-change`, i.e. the close of `/v1/klines?live=1`. |
此接口的全部 7 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the bucket of `timeframe`; the value is the LAST one of the bucket's minutes. |
basis_value | quote currency (USDT for BTCUSDT) | Futures price - spot price, in the quote currency (USDT for BTCUSDT), like the two prices. |
basis_pct | percent (58.5 = 58.5 %) | (futures - spot) / spot, in percent. Positive = contango. |
futures_price | quote currency (USDT for BTCUSDT) | Perpetual futures price, open-interest weighted across venues. |
spot_price | quote currency (USDT for BTCUSDT) | Spot price across venues at the instant of the row, paired with the futures price of the same instant. Not the latest trade price: that is the `price` of `/v1/price-change`, i.e. the close of `/v1/klines?live=1`. |
sample_count | count | Number of source points in the bucket (one-minute points with data). For a state (basis, open interest) the value is the LAST of them — the bucket's close —; for a flow it is their total. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. |
期货价格与现货价格之差,在同时拥有两个市场的交易所间按持仓量加权平均。两个价格采用相同的加权方式,从而保证 basis_value = futures_price − spot_price 始终成立。
| 字段 | 类型 | 说明 |
|---|---|---|
basis_value | float | 差值,以计价货币表示(BTCUSDT 为 USDT)。 |
basis_pct | float | 以百分比计的差值:0.059 表示 0.059%。 |
futures_price | float | 综合期货价格。 |
spot_price | float | 综合现货价格。 |
time | string | 计算时间戳。 |
历史接口的周期与时间窗口
timeframe 为必填:历史接口每行返回一个已收盘的窗口(timeframe=1m 即逐分钟一行,按整分钟对齐)。不带 since_ms 或 until_ms 时,返回最近的 limit 个已收盘窗口;指定了明确窗口时,以该窗口为准。
#交易所间价差
此接口的全部 13 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the bucket the row covers: a 1h bucket at 14:00 covers 14:00:00 to 14:59:59.999. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. | |
ref_price | quote currency (USDT for BTCUSDT) | Reference price: the volume-weighted average price across venues over the bucket. Not the latest trade price: that is the `price` of `/v1/price-change`, i.e. the close of `/v1/klines?live=1`. |
weighting | How venues are combined: `oi` (open-interest weighted) or `volume` (volume weighted). | |
max_spread_bps | basis points (1 bp = 0.01 %) | Gap between the highest and the lowest venue price, relative to ref_price. |
high_venue | Venue with the highest price over the bucket. | |
high_price | quote currency (USDT for BTCUSDT) | Its volume-weighted price over the bucket. |
low_venue | Venue with the lowest price over the bucket. | |
low_price | quote currency (USDT for BTCUSDT) | Its volume-weighted price over the bucket. |
venues | Per-venue prices and premiums (`[{venue, price, premium_bps}]`). | |
venues.venue | Venue name (with the liquidations, the only data that names its venues). | |
venues.price | quote currency (USDT for BTCUSDT) | Volume-weighted price of the venue over the bucket. |
venues.premium_bps | basis points (1 bp = 0.01 %) | Venue price premium (positive) or discount (negative) versus ref_price. |
此接口的全部 13 个字段(取自接口契约)
time | ISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z) | Start of the bucket the row covers: a 1h bucket at 14:00 covers 14:00:00 to 14:59:59.999. |
is_closed | `true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades. | |
ref_price | quote currency (USDT for BTCUSDT) | Reference price: the volume-weighted average price across venues over the bucket. Not the latest trade price: that is the `price` of `/v1/price-change`, i.e. the close of `/v1/klines?live=1`. |
weighting | How venues are combined: `oi` (open-interest weighted) or `volume` (volume weighted). | |
max_spread_bps | basis points (1 bp = 0.01 %) | Gap between the highest and the lowest venue price, relative to ref_price. |
high_venue | Venue with the highest price over the bucket. | |
high_price | quote currency (USDT for BTCUSDT) | Its volume-weighted price over the bucket. |
low_venue | Venue with the lowest price over the bucket. | |
low_price | quote currency (USDT for BTCUSDT) | Its volume-weighted price over the bucket. |
venues | Per-venue prices and premiums (`[{venue, price, premium_bps}]`). | |
venues.venue | Venue name (with the liquidations, the only data that names its venues). | |
venues.price | quote currency (USDT for BTCUSDT) | Volume-weighted price of the venue over the bucket. |
venues.premium_bps | basis points (1 bp = 0.01 %) | Venue price premium (positive) or discount (negative) versus ref_price. |
BytNode 中唯一标明交易所的部分,因为价差离开交易所就没有意义。模型是各交易所溢价:先取多交易所基准价,再计算每个交易所相对该基准的差距。任意两个交易所之间的价差可在客户端由两个溢价相减得出。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
symbol | string | 必填 | 资产。 |
timeframe | string | 必填 | 1m、5m、15m、30m、1h、4h、1d。 |
live | boolean | false | 返回进行中的窗口。 |
limit | integer | 100 | 历史接口上为 1 到 1000。 |
since_ms / until_ms | integer | — | 用于历史接口:带日期的时间窗口,以毫秒为单位,在 limit 之前生效。 |
{
"status": "ok",
"server_time": "2026-10-14T09:06:22.870Z",
"data_type": "spread_interexchange",
"symbol": "BTCUSDT",
"timeframe": "1h",
"market": "futures",
"data": {
"time": "2026-10-14T08:00:00.000Z",
"is_closed": true,
"ref_price": 83706.7967743,
"weighting": "volume",
"max_spread_bps": 18.8831076757,
"high_venue": "venue_a",
"high_price": 83720.69106,
"low_venue": "venue_b",
"low_price": 83562.6266143,
"venues": [
{ "venue": "venue_a", "price": 83720.69106, "premium_bps": 1.65987545135 },
{ "venue": "venue_c", "price": 83715.3204619, "premium_bps": 1.01827903431 }
]
}
}| 字段 | 类型 | 说明 |
|---|---|---|
ref_price | float | 多交易所基准价。 |
weighting | string | oi(按各交易所持仓量加权)或 volume;参考价格为各交易所价格的加权平均。 |
max_spread_bps | float | 最高与最低交易所之间的幅度,以基点表示。 |
high_venue / low_venue | string | 该分桶内价格最高(最低)的交易所,以及该价格。 |
high_price / low_price | float | 该分桶内价格最高(最低)的交易所,以及该价格。 |
venues | array | 每个交易所一个条目:venue、price、premium_bps。按溢价从高到低排序。 |
is_closed | boolean | 仅在 live=1 时为假。 |