跳转到主要内容

GraphQL 端点

所有 GraphQL 查询发往同一端点:
https://graphql.chainstream.io/graphql
同时支持 POSTGET
MethodContent-Type使用场景
POSTapplication/json推荐用于所有查询 —— 支持 variables 与复杂查询
GET查询字符串(?query=...简单查询、浏览器测试、利于缓存
生产环境请使用 POST。GET 将查询编码在 URL 中,存在长度限制,复杂查询不便使用。

认证

X-API-KEY 请求头中传入 API Key 即可完成认证。与 REST Data API 使用同一 API Key,无需单独凭证。
X-API-KEY: your_api_key
ChainStream DashboardApplicationsCreate New App 获取 API Key。Key 以 cs_live_... 开头。

必填请求头

HeaderValue是否必填
Content-Typeapplication/json是(POST)
X-API-KEYcs_live_...

请求格式

GraphQL 请求体为包含两个字段的 JSON 对象:
FieldType说明
querystringGraphQL query 或 mutation 字符串
variablesobject可选,在查询中通过 $variable 语法引用的变量

POST 示例

curl -X POST "https://graphql.chainstream.io/graphql" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: your_api_key" \
  -d '{
    "query": "query ($network: Network!) { DEXTrades(network: $network, limit: {count: 5}) { Block { Time } Trade { Buy { Currency { MintAddress } Amount } } } }",
    "variables": { "network": "sol" }
  }'

GET 示例

curl -G "https://graphql.chainstream.io/graphql" \
  -H "X-API-KEY: your_api_key" \
  --data-urlencode 'query={ DEXTrades(network: sol, limit: {count: 5}) { Block { Time } } }'

支持的网络

在每个顶层 Cube 查询上将 network 作为枚举传入:
Network EnumBlockchainChain ID
solSolana
ethEthereum1
bscBNB Chain (BSC)56
# Solana
{ DEXTrades(network: sol, limit: {count: 5}) { ... } }

# Ethereum
{ DEXTrades(network: eth, limit: {count: 5}) { ... } }

# BSC
{ DEXTrades(network: bsc, limit: {count: 5}) { ... } }

响应格式

所有响应均为 JSON,结构如下:
{
  "data": {
    "DEXTrades": [
      { "Block": { "Time": "2025-03-27T10:15:30Z" }, "..." : "..." }
    ]
  },
  "extensions": {
    "credits": {
      "total": 50,
      "cubes": [
        { "cube": "DEXTrades", "credits": 50, "row_count": 5 }
      ]
    }
  }
}
Field说明
data查询结果 —— 与查询结构一致
errors仅在存在校验或执行错误时出现
extensions.credits.total本次查询消耗的 credit 单位总计
extensions.credits.cubes按 Cube 拆分:Cube 名称、计费 credits 与返回行数
在产生 credits 消耗时,响应会包含 extensions.credits 字段。Credits 计算方式见 计费与额度

错误响应

当查询格式错误或执行失败时,响应会包含 errors 数组:
{
  "data": null,
  "errors": [
    {
      "message": "Unknown field 'InvalidField' on type 'DEXTrades'",
      "locations": [{ "line": 3, "column": 5 }]
    }
  ]
}
在接入应用前,可使用 GraphQL IDE 交互式校验查询。IDE 提供自动补全与行内错误高亮。

下一步

运行首次查询

跟随分步教程,在 IDE 或 cURL 中执行真实查询。

探索 Schema

深入了解 25 个 Cube、字段类型、过滤运算符与聚合函数。