/api/sd/basis/history
GET部分可用FRESH

基差历史(小时级)

单个币种的小时级基差序列,按交易所提供,并给出跨交易所聚合值(中位数、均值、OI 加权)。

GET/api/sd/basis/history
部分覆盖. 采集始于 2026-11-11。响应会给出 `history.available_from`、`n_hours` 与 `expected_hours` 的对比以及 `complete`;没有数据的小时不会出现,也不做插值。

请求

查询参数

名称类型必填默认值可选值说明
coinstring必填——币种代码,不区分大小写(例如 `BTC`)。缺失或格式错误时返回 400。 示例: BTC
kindstring可选perpperp, spot_perp`perp`:标记价格相对同一交易所的指数价格。`spot_perp`:永续合约价格相对同一交易所的现货价格。
rangestring可选24h24h, 7d, 30d回溯范围,每小时一个点。
exchangestring可选——单个交易所 ID。默认:全部交易所。未知的 ID 返回 400。

请求示例

curl -s "https://www.coinboss.com/api/sd/basis/history?coin=BTC"

响应字段

字段表根据真实响应生成,因此所列内容与端点实际返回的完全一致。路径中 a[] 表示数组元素,{*} 表示以动态名称(如币种或交易所)为键的对象。

字段类型单位说明
successboolean—请求成功时为 true。失败时响应体为 `{ success: false, code, error, request_id }`。
schemastring—本响应的结构 ID。仅当已有字段的含义或类型发生变化时才会改变。
nownumberms响应生成时的服务器时间。
coinstring—币种代码(大写)。
kindstring—`perp` 或 `spot_perp`。
rangestring—实际采用的回溯范围。
intervalstring—序列数据点的间隔。
exchangestring|null—交易所 ID(小写)。
aggregatearray—该部分的跨交易所聚合值。
aggregate[]object—该部分的跨交易所聚合值。
aggregate[].tnumberms时间桶的起始时间。
aggregate[].median_pctnumber%每家交易所取一个主合约计算的基差中位数。
aggregate[].mean_pctnumber%与中位数相同集合上的简单平均值。
aggregate[].oi_weighted_pctnumber%按持仓量加权的基差;没有 OI 权重的行不计入。
aggregate[].n_exchangesnumber—计入聚合值的交易所。
seriesarray—每个交易所一条序列。
series[]object—每个交易所一条序列。
series[].exchangestring—交易所 ID(小写)。
series[].symbolstring—CoinBoss 存储格式的合约代码。
series[].primaryboolean—该合约在中位数和平均值中代表其交易所时为 true。
series[].in_aggregateboolean—该行通过纳入规则时为 true。
series[].pointsarray—`[hour start in ms, basis in %]` 数据对,按时间从早到晚排列。
series[].points[]array—`[hour start in ms, basis in %]` 数据对,按时间从早到晚排列。
series[].points[][]number—`[hour start in ms, basis in %]` 数据对,按时间从早到晚排列。
historyobject—所请求范围中有多少数据可用。
history.requested_fromnumberms所请求范围的起始时间。
history.available_fromnumberms已存储的第一个小时。
history.available_tonumberms已存储的最后一个小时。
history.n_hoursnumber—该范围内可用的小时数。
history.expected_hoursnumber—该范围完整时应有的小时数。
history.completeboolean—所请求范围内的每个小时均已存储时为 true。
coverageobject—这些数值包含什么、不包含什么。在与其他数据源比较合计之前,请先比对这一点。
coverage.included_exchangesarray—新鲜数据已计入的数据源。
coverage.included_exchanges[]string—新鲜数据已计入的数据源。
coverage.unavailablearray—无法计入的数据源,每项均附原因。它们绝不会按 0 计。
coverage.unavailable[]object—无法计入的数据源,每项均附原因。它们绝不会按 0 计。
coverage.unavailable[].exchangestring—交易所 ID(小写)。
coverage.unavailable[].reasonstring—机器可读的原因代码。
coverage.unavailable[].detailstring—供人阅读的原因说明。
coverage.stale_excludedarray—因最近一次更新超出新鲜窗口而被排除的行。 在生成此表所用的样本中为空
methodobject—以纯文本说明本响应所用的公式,每个字段一条。
method.series.pointsstring—`series.points` 的公式说明,纯文本。
method.aggregate.median_pctstring—`aggregate.median_pct` 的公式说明,纯文本。
method.aggregate.oi_weighted_pctstring—`aggregate.oi_weighted_pct` 的公式说明,纯文本。
method.intervalstring—`interval` 的公式说明,纯文本。
metaobject—本响应的数据来源与新鲜度。
meta.schemastring—本响应的结构 ID。仅当已有字段的含义或类型发生变化时才会改变。
meta.sourcearray—采集数据所用的上游公开端点。
meta.source[]object—采集数据所用的上游公开端点。
meta.source[].exchangestring—交易所 ID(小写)。
meta.source[].endpointstring—采集器读取的数据源公开端点(仅用于说明数据来源;客户端不会调用它)。
meta.observed_atnull—数据源为该数据给出的时间戳。
meta.received_atnumbermsCoinBoss 采集器收到该数据的时间。
meta.fetched_atnumberms本响应的组装时间。
meta.windowstring—这些数值覆盖的时间窗口。
meta.qualitystring—FRESH、PARTIAL、STALE、BROKEN 或 UNAVAILABLE,根据数据时间戳和覆盖范围判定。
meta.is_staleboolean—数据早于其新鲜窗口时为 true。
meta.cache_ttl_snumbers本响应的缓存有效期。
meta.fallbackstring—采集器或数据源出现故障时端点返回的内容。

生成于 2026-11-11 23:00 UTC,基于 3 个真实响应。

响应示例

/api/sd/basis/history?coin=BTC · 真实响应,采集于 2026-11-13 03:58:08 UTC。 为便于展示,较长的数组和映射已被截短:series 原有 20 项; aggregate 原有 25 项; meta.source 原有 20 项; series[].points 原有 25 项; coverage.included_exchanges 原有 20 项。

  • {
    • "success": true,
    • "schema": "coinboss.sd.basis/1",
    • "now": 1794542288014,
    • "coin": "BTC",
    • "kind": "perp",
    • "range": "24h",
    • "interval": "1h",
    • "exchange": null,
    • "aggregate": [
      • { … 5 },
      • { … 5 }
      ],
    • "series": [
      • { … 5 },
      • { … 5 }
      ],
    • "history": {
      • "requested_from": 1794452400000,
      • "available_from": 1794452400000,
      • "available_to": 1794538800000,
      • "n_hours": 25,
      • "expected_hours": 24,
      • "complete": true
      },
    • "coverage": {
      • "included_exchanges": [ … 8 ],
      • "unavailable": [ … 2 ],
      • "stale_excluded": []
      },
    • "method": {
      • "series.points": "[hour_ts, (mark_price - index_price) / index_price * 100] from the first collector round after each full hour; hours where the two timestamps were more than 60 …",
      • "aggregate.median_pct": "median over one primary contract per exchange in that hour; excluded: |value| > 10, contracts with no trade in 24 h, exchanges whose index is not a comparable i…",
      • "aggregate.oi_weighted_pct": "sum(value * oi_usd) / sum(oi_usd) over all included contracts that have an OI snapshot for the same hour (oi_history / sd_contract_hourly, single-sided); null w…",
      • "interval": "fixed 1 h buckets, no interpolation; missing hours are simply absent"
      },
    • "meta": {
      • "schema": "coinboss.sd.basis/1",
      • "source": [ … 2 ],
      • "observed_at": null,
      • "received_at": 1794538827406,
      • "fetched_at": 1794542288014,
      • "window": "24h",
      • "quality": "FRESH",
      • "is_stale": false,
      • "cache_ttl_s": 300,
      • "fallback": "history is served as stored; hours without a snapshot are absent, never interpolated"
      }
    }

已验证的样本

除上面的示例外,探针还会使用以下参数调用该端点,并在每次调用时校验结构。

参数HTTP延迟结果
coin=ETH&kind=spot_perp20041 ms通过 FRESH
coin=BTC&exchange=binance20032 ms通过 FRESH
coin=BTC&range=1y4001 ms通过 返回预期的错误

检查于 2026-11-13 03:58:08 UTC

详细信息

身份验证
无。公开端点。
速率限制
每个 IP 每分钟 1200 次请求
服务端缓存
5m
边缘微缓存
10s
更新频率
采集器每 60 秒运行一轮;数据行在 180 秒内视为新鲜。小时快照用于生成历史数据。
时间窗口
24h / 7d / 30d,小时桶。
数据来源
21 家衍生品交易所公布的标记价格、指数价格和最新成交价,以及同一交易所的现货价格,由 CoinBoss 采集并存储(sd_px_latest、sd_px_hourly)。
交易所覆盖范围
21 家交易所。不公布指数价格或标记价格的交易所列在 `coverage.unavailable` 下;两条价格腿的时间相差超过 60 秒的行返回 `null`。未计入聚合值的行列在 `coverage.excluded_from_aggregate` 下,并附原因。
分页
不分页;`range` 决定数据点数量的上限。
排序
按时间升序。
单位
All basis values in percent. Prices in the quote currency of the contract (USDT / USDC / USD). `oi_usd` single-sided.
计算方法
Each point is the snapshot taken in the first ten minutes of the hour. The OI weight of a historical hour is the open interest recorded in that hour; without it `oi_weighted_pct` is `null`.
时间戳
除非字段说明另有注明,均为 Unix 纪元毫秒(UTC)
响应格式
json
稳定性
稳定
上线时间
2026-11-11

实时状态

部分可用检查于 2026-11-13 03:58:08 UTCHTTP 20045 ms结构一致最新数据点距今 58m

采集始于 2026-11-11。响应会给出 `history.available_from`、`n_hours` 与 `expected_hours` 的对比以及 `complete`;没有数据的小时不会出现,也不做插值。

近 30 天可用性

407 次检查中 100% 通过

错误

所有端点的失败响应格式一致。完整列表见错误页面。 错误与速率限制 →

错误码HTTP含义处理方式
INVALID_PARAM400缺少必填参数,或某个取值不被接受。已知是哪个参数时,`param` 会给出其名称。请勿原样重试;请修正请求。
UNAUTHORIZED401已发送 `CB-API-KEY` 请求头,但该密钥未知或已被吊销。公开数据无需密钥,请去掉该请求头或使用有效密钥。请勿原样重试。
FORBIDDEN403该路由不属于公开 API(内部或仅限账户使用)。请勿重试。
NOT_FOUND404未知路由,或所请求的币种 / 交易所 / 基金不存在。请勿重试;请对照目录检查路径和标识符。
RATE_LIMITED429请求数超过每分钟限额。`Retry-After` 给出需要等待的秒数。等待 `Retry-After` 指定的时间后,再以退避方式重试。
INTERNAL500意外的服务器错误。错误信息有意保持通用;报告问题时请附上 `request_id`。几秒后重试一次;若问题持续,请附上请求 ID 报告。
UPSTREAM_FAILED503该端点背后的数据源未及时响应。不会返回过期数据或替代数值来顶替。以退避方式重试;并查看状态页。
UNAVAILABLE501 / 503数据集暂时未就绪(缓存预热中),或该端点尚无合法的公开数据源。请稍后重试;目录会标出因设计原因而不可用的端点。
REQUEST_FAILED200部分较旧的端点会以 HTTP 200 返回 `success: false`。请务必检查 `success`,而不只是 HTTP 状态码。取决于具体信息;按请求失败处理。

试一试

GET/api/sd/basis/history部分可用
参数

string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.

string · 默认 perp — `perp`: mark price against the index price of the same exchange. `spot_perp`: perpetual price against the spot price of the same exchange.

string · 默认 24h — Look-back range, one point per hour.

string — One exchange id. Default: all exchanges. An unknown id returns 400.

请求 URLhttps://www.coinboss.com/api/sd/basis/history?coin=BTC
选择一个端点,然后点击“发送请求”。响应、响应头和耗时将显示在这里。