概述
每条 GraphQL 查询会根据所查 Cube、请求行数与聚合复杂度消耗 Credit Units (CU)。Credits 与 REST API 使用同一套计费计划 — 你的 API Key 在两者间通用。GraphQL API 与 REST Data API 共用同一 API Key 与计费计划。GraphQL 查询消耗的 Credits 计入整体用量。
Credit 计算公式
Credits 按 Cube 分别计算,公式如下:| Factor | Calculation | Description |
|---|---|---|
| BaseCost | 各 Cube 基础价(见下表) | 随 Cube 复杂度变化的固定成本 |
| LimitFactor | ceil(limit / 100),最小为 1 | 随请求行数缩放 |
| AggregationFactor | 1.0(无)、1.5(GROUP BY)、2.0(HAVING) | 使用聚合或 HAVING 过滤时更高 |
| MetricFactor | 1.0 + (metric_count × 0.2) | 每增加一个 metric(如 count、sum)都会提高 |
计算示例
简单查询:10 行 DEXTrades
简单查询:10 行 DEXTrades
大结果集:500 行 DEXTrades
大结果集:500 行 DEXTrades
聚合查询:500 行 + GROUP BY + 2 个 metrics
聚合查询:500 行 + GROUP BY + 2 个 metrics
各 Cube 基础成本
| Cube | Base Cost (CU) | 说明 |
|---|---|---|
| DEXTrades | 50 | 维度最多、体量最大的表 |
| DEXTradeByTokens | 50 | 与 DEXTrades 同源数据 |
| DEXPoolEvents | 30 | 流动性事件 |
| Pairs | 30 | OHLC K 线数据(Trading 组) |
| Tokens | 30 | 代币成交统计(Trading 组) |
| WalletTokenPnL | 25 | DWS 汇总 |
| Transfers | 15 | |
| BalanceUpdates | 10 | |
| Events、Calls | 20 | EVM 专属事件/调用追踪 |
| Instructions | 20 | Solana 专属 |
| PredictionTrades | 20 | 预测市场数据 |
| 其余所有 Cube | 20 | 默认基础成本 |
基础成本反映查询复杂度与各 Cube 底层数据规模。
extensions.credits 中返回的实际 Cube 名称由服务端决定 — 请以响应值为计费依据。响应:extensions.credits
每条 GraphQL 响应都会在 extensions 中附带 Credits 消耗详情:
| Field | Type | Description |
|---|---|---|
total | Int | 整条查询消耗的 Credits 合计 |
cubes | Array | 按 Cube 拆分 |
cubes[].cube | String | Cube 名称 |
cubes[].credits | Int | 该 Cube 计费的 Credits |
cubes[].row_count | Int | 返回行数 |
在发生扣费(即
total > 0)时会出现 extensions.credits。即使返回 0 行,仍会收取基础成本。在 IDE 中查看用量
GraphQL IDE 状态栏会在每次查询后显示 Credits 消耗:- CU 指示:显示消耗的 CU 总数(例如
50 CU) - Latency:请求耗时(毫秒)
- Response size:响应体大小
优化 Credits 使用的建议
少选字段
只请求需要的维度字段。字段越少,处理的数据量通常越小。
合理 limit
在业务允许范围内尽量压低
limit.count。Credits 随 ceil(limit / 100) 缩放。优先预聚合 Cube
需要汇总数据时,优先使用 DWM/DWS Cube(如 Pairs、Tokens、TokenHolders),而不是在 DWD Cube(如 DEXTrades)上堆 metrics。
相关文档
计费与 Units 总览
ChainStream 计费计划、单位配额与支付方式概览。
Metrics 与聚合
了解聚合 metrics 如何影响查询 Credits。

