概述
每條 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。

