xca文档
接口

代币报告

代币的市场数据、安全信息、Holder Score、持有人指标、集群、开发者历史和交易活动。

GET/api/v1/tokens/{chain}/{address}

返回 XCA 为某个代币生成的最新报告。读取报告永远不会触发扫描:如果状态为 NONE,说明该代币尚未被扫描,请先调用 POST /scans。

参数#

chainpath必填
链 ID。目前仅支持 solana。"solana"
addresspath必填
代币的 mint 地址。string

请求#

curl -s "https://app.xca.fun/api/v1/tokens/solana/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" \
  -H "Authorization: Bearer $XCA_API_KEY"
在线调试
粘贴你的 API 密钥即可发送真实请求。

响应#

chain
链 ID。string
address
代币的 mint 地址。string
status
报告状态。NONE 表示该代币从未被扫描过。"NONE" | "QUEUED" | "RUNNING" | "DONE" | "ERROR"
depth
LIGHT 表示新交易对的自动扫描,FULL 表示完整分析。"LIGHT" | "FULL" | null
upgrading
LIGHT 报告正在升级为 FULL。boolean
step
扫描运行期间的当前步骤。string | null
progress
扫描进度,取值 0 到 100。number
errorMessage
状态为 ERROR 时,上次扫描失败的原因。string | null
symbol
代币符号。string | null
name
代币名称。string | null
imageUrl
代币 Logo 的 URL。string | null
market
来自 DexScreener 的主交易对。object | null
pairAddress
流动性最好的交易对的地址。string | null
dexId
该交易对所在的 DEX。string | null
url
该交易对在 DexScreener 上的页面。string | null
name
交易对数据中的代币名称。string | null
symbol
交易对数据中的代币符号。string | null
quoteSymbol
交易对的计价资产,例如 SOL。string | null
imageUrl
来自 DexScreener 的代币 Logo。string | null
priceUsd
价格(美元)。number | null
liquidityUsd
所有池子的流动性(美元)。number | null
fdvUsd
完全稀释估值(美元)。number | null
marketCapUsd
市值(美元)。number | null
volume24hUsd
24 小时交易量(美元)。number | null
txns24h
24 小时内的买入和卖出交易数。{ buys, sells } | null
change
5 分钟、1 小时、6 小时和 24 小时的价格变化(百分比)。{ m5, h1, h6, h24 }
pairCreatedAt
交易对的创建时间。string | null
poolAddresses
该代币所有已知池子的地址。string[]
websites
项目网站。{ url, label }[]
socials
项目的社交媒体链接。{ type, url }[]
fetchedAt
市场数据的获取时间。string
security
关于该 mint 的链上信息。object | null
mintAuthority
有权铸造新代币的地址;已撤销时为 null。string | null
freezeAuthority
有权冻结持有人账户的地址;已撤销时为 null。string | null
program
该 mint 所属的代币程序。"spl-token" | "spl-token-2022" | "unknown"
supply
以整枚代币计的总供应量。number
decimals
代币的小数位数。number
creator
创建该代币的钱包(如已知)。string | null
createdAt
mint 的创建时间。string | null
computedAt
报告的计算时间。string | null
stale
报告已超过缓存有效期。boolean
holderScore
Holder Score,从 0(危险)到 100(干净)。number | null
riskLevel
根据评分得出的风险等级。"low" | "medium" | "high" | null
metrics
持仓分布指标;包含哪些键取决于你的套餐。object | null
limited
持有人数据不完整(受数据提供商限制)。boolean
holdersTotal
持有人总数。number
holdersAnalyzed
纳入分析的持有人数。number
profiled
拥有完整钱包画像的持有人数。number
top10Pct
前 10 大真实持有人的持仓占比(不含池子、销毁地址和交易所)。number
topHolderPct
最大真实持有人的持仓占比。number
floatPct
流通量:池子和销毁地址之外的份额占比。number
devPct
创建者的持仓占比。number
devBundlePct
与创建者捆绑的钱包的持仓占比。number
sniperCount
狙击手钱包数量。number
sniperPct
狙击手的持仓占比。number
freshCount
新钱包数量。number
freshPct
新钱包的持仓占比。number
clusterPct
拥有共同出资方的钱包集群的持仓占比。number
smartCount
聪明钱持有人数量。number
smartPct
聪明钱的持仓占比。number
poolPct
流动性池的持仓占比。number
burnPct
已转入销毁地址的份额占比。number
avgPnlUsd
已建立画像的持有人近 30 天的平均盈亏(美元)。number | null
launchAt
开始交易的时间。string | null
launchSlot
首笔交易所在的 Solana slot。number | null
scoreVersion
为该报告评分时所用的 Holder Score 模型版本。number
breakdown
每个 Holder Score 因子及其分数和实测值。{ key, points, value, total?, cap? }[]
mainReason
扣分最多的因子。{ key, points, value, total?, cap? } | null
clusters
由同一钱包注资的持有人分组。object[] | null
id
集群 ID,由持有人的 clusterId 引用。string
funder
为成员注资的钱包。string
funderLabel
出资方的已知标签,例如某个交易所。string | null
members
成员钱包。string[]
sharePct
该集群的持仓占比。number
clustersCount
集群数量,即使集群列表被锁定也会返回。number
devHistory
创建者此前的发币记录。object | null
creator
创建者钱包。string | null
launches
创建者发行过的代币数。number
rugs
失去流动性的发币数。number
avgLifespanSec
创建者所发代币的平均存活时间(如已知)。number | null
tokens
发币列表,按从新到旧排序。{ address, symbol, name, createdAt, liquidityUsd, fdvUsd, rugged }[]
approximate
根据创建者最早的几笔买入推断得出,请视为估算值。true
devTeaser
发币数和跑路数,即使开发者历史被锁定也会返回。{ launches, rugs } | null
activity
主交易对上的近期交易。object | null
recent
最新的兑换交易;time 为毫秒级 Unix 时间戳。{ signature, time, wallet, side, amount, valueUsd }[]
topTraders
该代币盈利最多的交易者。{ wallet, boughtUsd, soldUsd, pnlUsd, trades }[]
locked
你的套餐未包含的功能;其字段为 null 或被省略。string[]

响应示例#

{
  "chain": "solana",
  "address": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
  "status": "DONE",
  "depth": "FULL",
  "upgrading": false,
  "step": "done",
  "progress": 100,
  "errorMessage": null,
  "symbol": "Bonk",
  "name": "Bonk",
  "imageUrl": "https://arweave.net/hQiPZOsRZXGXBJd_82PhVdlM_hACsT_q6wqwf5cSY7I",
  "market": {
    "pairAddress": "6oFWm7KPLfxnwMb3z5xwBoXNSPP3JJyirAPqPSiVcnsp",
    "dexId": "raydium",
    "url": "https://dexscreener.com/solana/6ofwm7kplfxnwmb3z5xwboxnspp3jjyirapqpsivcnsp",
    "name": "Bonk",
    "symbol": "Bonk",
    "quoteSymbol": "SOL",
    "imageUrl": "https://arweave.net/hQiPZOsRZXGXBJd_82PhVdlM_hACsT_q6wqwf5cSY7I",
    "priceUsd": 0.00002134,
    "liquidityUsd": 2864210.4,
    "fdvUsd": 1897000000,
    "marketCapUsd": 1652000000,
    "volume24hUsd": 18450000,
    "txns24h": {
      "buys": 18210,
      "sells": 16930
    },
    "change": {
      "m5": 0.4,
      "h1": -1.2,
      "h6": 3.8,
      "h24": 5.1
    },
    "pairCreatedAt": "2022-12-25T11:04:12.000Z",
    "poolAddresses": [
      "6oFWm7KPLfxnwMb3z5xwBoXNSPP3JJyirAPqPSiVcnsp"
    ],
    "websites": [
      {
        "url": "https://bonkcoin.com",
        "label": "Website"
      }
    ],
    "socials": [
      {
        "type": "twitter",
        "url": "https://x.com/bonk_inu"
      }
    ],
    "fetchedAt": "2026-10-02T09:12:40.000Z"
  },
  "security": {
    "mintAuthority": null,
    "freezeAuthority": null,
    "program": "spl-token",
    "supply": 88870000000000,
    "decimals": 5,
    "creator": "9AhKqLR67hwapvG8SA2JFXaCshXc9nALJjpKaHZrsbkw",
    "createdAt": "2022-12-25T10:52:01.000Z"
  },
  "computedAt": "2026-10-02T09:12:44.000Z",
  "stale": false,
  "holderScore": 84,
  "riskLevel": "low",
  "metrics": {
    "limited": false,
    "holdersTotal": 912345,
    "holdersAnalyzed": 4000,
    "profiled": 100,
    "top10Pct": 64.2,
    "topHolderPct": 31.7,
    "floatPct": 96.6,
    "devPct": 0,
    "devBundlePct": 0.3,
    "sniperCount": 2,
    "sniperPct": 6.6,
    "freshCount": 41,
    "freshPct": 17.6,
    "clusterPct": 8.8,
    "smartCount": 7,
    "smartPct": 2.1,
    "poolPct": 3.4,
    "burnPct": 0,
    "avgPnlUsd": 1840.5,
    "launchAt": "2022-12-25T11:04:12.000Z",
    "launchSlot": 168410720,
    "scoreVersion": 2,
    "breakdown": [
      {
        "key": "top10",
        "points": -17.2,
        "value": 66.5
      },
      {
        "key": "topHolder",
        "points": -5.9,
        "value": 32.8
      },
      {
        "key": "devBundle",
        "points": 0,
        "value": 0.3
      },
      {
        "key": "snipers",
        "points": -0.6,
        "value": 6.8
      },
      {
        "key": "clusters",
        "points": -1.8,
        "value": 9.1
      },
      {
        "key": "fresh",
        "points": -0.6,
        "value": 18.2
      },
      {
        "key": "holders",
        "points": 0,
        "value": 912345
      },
      {
        "key": "authorities",
        "points": 0,
        "value": 0
      },
      {
        "key": "devRugs",
        "points": 0,
        "value": 0,
        "total": 1
      },
      {
        "key": "liquidity",
        "points": 0,
        "value": 2864210.4
      },
      {
        "key": "smartMoneyBonus",
        "points": 10,
        "value": 7
      }
    ],
    "mainReason": {
      "key": "top10",
      "points": -17.2,
      "value": 66.5
    }
  },
  "clusters": [
    {
      "id": "c1",
      "funder": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
      "funderLabel": null,
      "members": [
        "3Kv1…",
        "8Zq4…",
        "Fh2T…"
      ],
      "sharePct": 1.8
    }
  ],
  "clustersCount": 3,
  "devHistory": {
    "creator": "9AhKqLR67hwapvG8SA2JFXaCshXc9nALJjpKaHZrsbkw",
    "launches": 1,
    "rugs": 0,
    "avgLifespanSec": null,
    "tokens": [],
    "approximate": true
  },
  "devTeaser": {
    "launches": 1,
    "rugs": 0
  },
  "activity": {
    "recent": [
      {
        "signature": "4Vt2…",
        "time": 1790932360000,
        "wallet": "7xKX…",
        "side": "buy",
        "amount": 152000000,
        "valueUsd": 3244.1
      }
    ],
    "topTraders": [
      {
        "wallet": "2bQm…",
        "boughtUsd": 41200,
        "soldUsd": 78900,
        "pnlUsd": 37700,
        "trades": 18
      }
    ]
  },
  "locked": []
}

状态码#

200成功
400validation — 某个参数或请求体无效;详见 error.issues。
401unauthorized — API 密钥缺失、格式错误或已被吊销。
402planRequired — 你的套餐不包含 API 访问权限或该功能。
429rateLimited — 每分钟请求过多,或月度配额已用完。

报告状态#

NONE从未扫描过。请使用 POST /scans 发起扫描。
QUEUED等待空闲的 worker。
RUNNING正在分析中;参见 step 和 progress。
DONE已完成;报告已完整。
ERROR上次扫描失败;请查看 errorMessage 后重试。

注意事项#

  • 你的套餐未包含的功能,其字段为 null 或被省略,对应的键会列在 locked 中。
  • 当报告超过缓存有效期时,stale 为 true;再次调用 POST /scans 即可刷新。
  • LIGHT 报告来自对新交易对的自动扫描,在有人打开之前不含钱包盈亏;打开后会进行升级,升级期间 upgrading 为 true。
  • 占比均为占总供应量的百分比,包括池子持有的代币。