メインコンテンツへスキップ

概要

すべてのGraphQLクエリは、クエリされたCube、リクエストされた行数、集計の複雑さに基づいて**クレジットユニット(CU)**を消費します。クレジットはREST APIと同じ課金プランから差し引かれます — APIキーは両方で共通です。
GraphQL APIはREST Data APIと同じAPIキーと課金プランを共有します。GraphQLクエリで消費されたクレジットは全体の使用量にカウントされます。

クレジット計算式

クレジットは以下の式でCubeごとに計算されます:
Credits = BaseCost × LimitFactor × AggregationFactor × MetricFactor
ファクター計算説明
BaseCostCubeごとの基本価格(下表参照)Cubeの複雑さにより異なる固定コスト
LimitFactorceil(limit / 100)、最小1リクエストされた行数に応じてスケール
AggregationFactor1.0(なし)、1.5(GROUP BY)、2.0(HAVING)集計やHAVINGフィルタを使用するクエリではより高い
MetricFactor1.0 + (metric_count × 0.2)追加のメトリクス(count、sumなど)ごとに増加
デフォルトリミット(25行)で集計なしのシンプルなクエリは基本コストのみ支払います。より多くの行をリクエストしたり集計メトリクスを追加すると、クレジットが増加します。

計算例

BaseCost = 50, LimitFactor = ceil(10/100) = 1
AggregationFactor = 1.0, MetricFactor = 1.0
Credits = 50 × 1 × 1.0 × 1.0 = 50 CU
BaseCost = 50, LimitFactor = ceil(500/100) = 5
AggregationFactor = 1.0, MetricFactor = 1.0
Credits = 50 × 5 × 1.0 × 1.0 = 250 CU
BaseCost = 50, LimitFactor = ceil(500/100) = 5
AggregationFactor = 1.5 (GROUP BY), MetricFactor = 1.0 + 2×0.2 = 1.4
Credits = 50 × 5 × 1.5 × 1.4 = 525 CU

Cubeごとの基本コスト

Cube基本コスト(CU)備考
DEXTrades50最大のテーブル、最も多くのディメンション
DEXTradeByTokens50DEXTradesと同じ基盤データ
DEXPoolEvents30流動性イベント
Pairs30OHLCローソク足データ(Tradingグループ)
Tokens30トークントレード統計(Tradingグループ)
WalletTokenPnL25DWSサマリー
Transfers15
BalanceUpdates10
EventsCalls20EVM専用トレース/イベントデータ
Instructions20Solana専用
PredictionTrades20予測市場データ
その他すべてのCube20デフォルト基本コスト
基本コストはクエリの複雑さと各Cubeの基盤データ量を反映しています。extensions.creditsで報告される実際のCube名はサーバーによって決定されます — 常にレスポンス値を正式な課金リファレンスとしてください。

レスポンス:extensions.credits

すべてのGraphQLレスポンスにはextensionsフィールドにクレジット消費の詳細が含まれます:
{
  "data": {
    "DEXTrades": [ ... ]
  },
  "extensions": {
    "credits": {
      "total": 50,
      "cubes": [
        {
          "cube": "DEXTrades",
          "credits": 50,
          "row_count": 10
        }
      ]
    }
  }
}
フィールド説明
totalIntクエリ全体で消費された合計クレジット
cubesArrayCubeごとの内訳
cubes[].cubeStringCube名
cubes[].creditsIntこのCubeに請求されたクレジット
cubes[].row_countInt返された行数
extensions.creditsフィールドはクレジットが消費された場合(つまりtotal > 0)に存在します。0行を返すクエリでも基本コストは発生します。

IDEでの使用量モニタリング

GraphQL IDEのステータスバーは各クエリ後にクレジット消費を表示します:
  • CUインジケータ: 消費されたCU合計を表示(例:50 CU
  • Latency: リクエスト所要時間(ミリ秒)
  • Response size: ペイロードサイズ

クレジット使用量の最適化ヒント

フィールドを減らす

必要なディメンションのみをリクエスト。フィールドが少ないほど処理データも少なくなります。

適切なリミットを使用

limit.countを実用的な範囲で低く保つ。クレジットはceil(limit / 100)に応じてスケールします。

事前集計Cubeを使用

集計データにはDWD Cube(DEXTrades)でメトリクスを実行するより、DWM/DWS Cube(Pairs、Tokens、TokenHolders)を優先してください。

関連ドキュメント

一般的な課金とユニット

ChainStreamの課金プラン、ユニットクォータ、支払い方法の概要。

メトリクスと集計

集計メトリクスがクエリクレジットにどう影響するかを学習。