メインコンテンツへスキップ
このページでは、DEXプールと流動性分析のためのCubeを扱います:
  • DEXPoolEvents(DWD) — イベント単位のリザーブと価格を含む流動性追加/削除イベント
  • DEXPools(DWS) — プールスナップショット(現在の流動性と価格、定期的に更新)
  • TokenSupplyUpdates(DWD) — トークンサプライ、時価総額、FDVの更新
例ではSolanaEVMチェーングループを使用しています:Solanaの場合Solana { ... }、EVMチェーン(Polygonを含む)の場合EVM(network: eth | bsc | polygon) { ... }

トークンの流動性プールを取得するには?

スナップショットでトークンAとしてトークンがリストされているDEXプールを検索します。アセットがトークンBとしてのみ表示されるプールには、tokenBを使用した2番目のクエリ(またはwhere句)が必要です。完全なペアコンテキストを持つイベントレベルの行にはDEXPoolEventsを使用してください。
query {
  Solana {
    DEXPools(
      limit: {count: 10}
      tokenA: {is: "TOKEN_ADDRESS"}
    ) {
      Pool {
        Address
        ProgramAddress
        TokenAAddress
        TokenBAddress
        LiquidityUSD
        PriceAtoB
        PriceBtoA
        LastUpdated
      }
    }
  }
}
GraphQL IDEで開く — 上記のクエリを貼り付けて、自動補完とスキーマ探索を使ってインタラクティブに実行できます。
TOKEN_ADDRESSをトークンミント(Solana)またはコントラクトアドレス(EVM)に置き換えてください。トークンがクォート側であるプールも含めるにはtokenB: {is: "TOKEN_ADDRESS"}で繰り返してください。
フィールド説明
Pool.Address流動性プール/マーケットアドレス
Pool.ProgramAddressDEXプログラムまたはファクトリアドレス
Pool.TokenAAddressベース側トークンアドレス
Pool.TokenBAddressクォート側トークンアドレス
Pool.LiquidityUSDプールの合計USD流動性(スナップショット)
Pool.LastUpdatedこのスナップショット行の最終更新日時
  • 流動性でフィルタ: where: {Pool: {LiquidityUSD: {gt: 10000}}}を追加してUSD深度閾値以上のプール
  • 特定のDEX: where: {Pool: {ProgramAddress: {is: "DEX_PROGRAM_OR_FACTORY_ADDRESS"}}}を追加
  • より多くのプール: countを増やしてトークンの追加プールを発見
  • イベント単位のリザーブ: DEXPoolEventstokenAddress/poolAddressorderBy: Block_Time_DESCで使用して追加/削除履歴を取得

特定のプールの詳細を取得するには?

アドレスで1つのプールの最新スナップショットを読み取ります。DEXPoolsは行ごとのブロックタイムラインを公開しません — 履歴のリザーブ系列にはDEXPoolEventsを使用してください。
query {
  Solana {
    DEXPools(
      limit: {count: 1}
      poolAddress: {is: "POOL_ADDRESS"}
    ) {
      Pool {
        Address
        TokenAAddress
        TokenBAddress
        ProgramAddress
        LiquidityUSD
        PriceAtoB
        PriceBtoA
        LastUpdated
      }
    }
  }
}
フィールド説明
Pool.TokenAAddress / Pool.TokenBAddressペアのトークンアドレス
Pool.LiquidityUSDUSD建ての合計流動性(スナップショット)
Pool.LastUpdatedこのプールのスナップショット最終更新
  • リザーブ履歴: DEXPoolEventspoolAddress: {is: "POOL_ADDRESS"}orderBy: Block_Time_DESCで使用
  • イベントの時間範囲: DEXPoolEventswhere: {Block: {Time: {since: "2025-03-01T00:00:00Z"}}}を追加して追加/削除の範囲を限定
poolAddressセレクターはPool.Addressでフィルタリングします。DEXPools(スナップショット)とDEXPoolEvents(イベント)の両方で利用可能です。

プールのランキングやスナップショット流動性を読み取るには?

DEXPools(DWS)は現在の状態の行を保存します(通常数分ごとに更新)。生のイベントをスキャンせずにプールをLiquidityUSDでランク付けし、DEXプログラムを比較するために使用します。
query {
  Solana {
    DEXPools(
      limit: {count: 20}
      tokenA: {is: "TOKEN_ADDRESS"}
    ) {
      Pool {
        Address
        ProgramAddress
        TokenAAddress
        TokenBAddress
        LiquidityUSD
        LastUpdated
      }
    }
  }
}
フィールド説明
Pool.Addressプールアドレス
Pool.ProgramAddressDEXプログラム/ファクトリ
Pool.TokenAAddress / Pool.TokenBAddressペアのトークン
Pool.LiquidityUSDスナップショット流動性(USD)
Pool.LastUpdatedスナップショットの鮮度
  • 流動性でランク: LiquidityUSDでクライアント側ソート、またはスキーマがプールスナップショットのソートを公開している場合orderByを使用
  • アクティブなプール: 最近のLastUpdatedを持つプールを優先
  • DEX比較: Pool.ProgramAddressでグループ化またはフィルタ
DEXPoolEvents(DWD)はリザーブの時系列とすべての流動性イベントに適したCubeです。DEXPools(DWS)は最新のプール状態と発見に最適化されています。

トークンサプライと時価総額を取得するには?

TokenSupplyUpdatesでサプライ、時価総額、価格、FDVを取得します。
query {
  Solana {
    TokenSupplyUpdates(
      limit: {count: 1}
      tokenAddress: {is: "TOKEN_ADDRESS"}
      orderBy: Block_Time_DESC
    ) {
      TokenSupplyUpdate {
        Currency { MintAddress, Decimals }
        PostBalance
        MarketCapInUSD
        PriceInUSD
        FDVInUSD
        TotalSupply
      }
      Block { Time }
    }
  }
}
フィールド説明
TokenSupplyUpdate.Currency.MintAddressトークンアドレス
TokenSupplyUpdate.Currency.Decimalsトークンデシマル
TokenSupplyUpdate.PostBalanceイベント後の現在のサプライ
TokenSupplyUpdate.MarketCapInUSDUSD建ての時価総額
TokenSupplyUpdate.PriceInUSDサプライイベント時のトークン価格
TokenSupplyUpdate.FDVInUSD完全希薄化後バリュエーション
TokenSupplyUpdate.TotalSupplyトークン総サプライ
  • サプライ履歴: countを増やしてサプライの経時変化を確認(ミント/バーンイベント)
  • 時価総額履歴: 複数のサプライ更新をクエリして時価総額の経時グラフを作成
  • 価格との組み合わせ: PriceInUSDTotalSupplyを使用して時価総額の計算を検証
このページではサプライに紐づく時価総額、価格、FDVにTokenSupplyUpdatesを使用しています。追加のトークンメトリクスとサマリーについてはOHLCと統計をご覧ください。

マルチチェーンの例

query {
  Solana {
    DEXPools(
      limit: {count: 5}
      tokenA: {is: "TOKEN_ADDRESS"}
    ) {
      Pool { Address, LiquidityUSD, LastUpdated }
    }
  }
}

次のステップ

DEXトレード

DEXトレーディングデータのクエリ — トークントレード、ウォレットアクティビティ、トップトレーダー。

トランスファー

ウォレット間のオンチェーントークントランスファーの追跡。

残高とホルダー

ウォレット残高、残高履歴、トップホルダーの検索。

OHLCと統計

ローソク足データ、トレード統計、時価総額、トークンメタデータの取得。