跳转到主要内容
本文档介绍使用 ChainStream 进行全面 Token 分析的框架,涵盖基本面数据、链上指标、持有者分析和风险评估。

分析框架概览

基本信息

名称/符号、小数位、合约地址、创建时间

市场数据

价格、市值、流动性、交易量

持有者分析

持有者数量、Top 10/100 占比、创建者持仓

交易统计

买卖次数、交易量、价格变化

1. 基本信息

API 端点

GET /v1/token/{chain}/{tokenAddress}

核心字段

字段类型描述
chainstring区块链网络标识符,如 sol
namestring代币名称
symbolstring代币符号
decimalsinteger代币小数位数
addressstring代币铸造地址
imageUrlstring代币图片 URL
tokenCreatedAtinteger代币创建时间戳(毫秒)
descriptionstring代币描述
tokenCreatorsarray代币创建者地址列表

响应示例

{
  "chain": "sol",
  "name": "USD Coin",
  "symbol": "USDC",
  "decimals": 9,
  "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "imageUrl": "https://raw.githubusercontent.com/.../logo.png",
  "tokenCreatedAt": 1710417600000,
  "description": "USDC is a stablecoin pegged to the US dollar",
  "tokenCreators": [
    {
      "address": "...",
      "share": 100
    }
  ]
}

2. 市场数据

市场数据包含在 Token 详情接口的 marketData 字段中。

价格与市值

字段类型描述
priceInUsdstring代币价格(美元)
priceInSolstring代币价格(SOL)
marketCapInUsdstring流通市值(美元)
marketCapInSolstring流通市值(SOL)
totalSupplystring总供应量

流动性指标

字段类型描述健康标准
maxPoolTvlInUsdstring最大池的 TVL(美元)深度越大滑点越小
totalTvlInUsdstring所有池的总 TVL(美元)> 市值 5%
maxPoolTvlInSolstring最大池的 TVL(SOL)-
totalTvlInSolstring所有池的总 TVL(SOL)-

持有者概览

字段类型描述健康标准
holdersstring代币持有者总数越多越分散
top10HoldingsRatiostring前10名持有者占比< 0.5 (50%)
top10TotalHoldingsstring前10名持有者总持有量-
top100HoldingsRatiostring前100名持有者占比< 0.7 (70%)
top100TotalHoldingsstring前100名持有者总持有量-

响应示例

{
  "marketData": {
    "priceInUsd": "0.00123456",
    "priceInSol": "0.0000089",
    "marketCapInUsd": "1234567.89",
    "totalSupply": "1000000000",
    "holders": "5432",
    "top10HoldingsRatio": "0.35",
    "top100HoldingsRatio": "0.58",
    "maxPoolTvlInUsd": "50000.00",
    "totalTvlInUsd": "85000.00"
  }
}

3. 交易统计

交易统计数据包含在 Token 详情接口的 stats 字段中,也可通过专用端点获取。

API 端点

GET /v1/token/{chain}/{tokenAddress}/stats

统计字段(按时间周期)

支持的时间周期:1m5m15m30m1h4h24h
字段模式描述示例字段
price{period}周期内价格price1m, price5m, price1h
buys{period}周期内买入次数buys1m, buys5m, buys1h
sells{period}周期内卖出次数sells1m, sells5m, sells1h
buyVolumesInUsd{period}周期内买入交易量(美元)buyVolumesInUsd1m
sellVolumesInUsd{period}周期内卖出交易量(美元)sellVolumesInUsd1m
volumesInUsd{period}周期内总交易量(美元)volumesInUsd1m
priceChangeRatioInUsd{period}周期内价格变化比率priceChangeRatioInUsd1h

响应示例

{
  "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "price1m": "1.234",
  "buys1m": "150",
  "sells1m": "120",
  "buyVolumesInUsd1m": "50000.45",
  "sellVolumesInUsd1m": "45000.32",
  "volumesInUsd1m": "95000.77",
  "buys1h": "2500",
  "sells1h": "2100",
  "volumesInUsd1h": "1500000.00",
  "priceChangeRatioInUsd1h": "0.025"
}

4. 持有者分析

API 端点

GET /v1/token/{chain}/{tokenAddress}/holders

查询参数

参数类型必填描述
cursorstring分页游标
limitnumber每页结果数量(1-100,默认20)
directionstring分页方向(nextprev

持有者字段

字段类型描述
walletAddressstring钱包地址
amountstring持有数量
amountInUsdstring持有金额(美元)
percentagestring持有占比

响应示例

{
  "hasNext": true,
  "hasPrev": false,
  "startCursor": "abc123",
  "endCursor": "xyz789",
  "data": [
    {
      "walletAddress": "HN7cABqLq46Es1jh92dQQisAq662SmxELLLsHHe4YWrH",
      "amount": "1000000000000000000",
      "amountInUsd": "12345.67",
      "percentage": "10.5"
    }
  ]
}

持有者分布评估

特征
  • Top 10 占比 < 50%
  • Top 100 占比 < 70%
  • 持有者数量较多
  • 分布均匀,去中心化
风险等级:🟢 低风险

持有者类型识别

类型识别方式意义
项目方/团队合约部署者、tokenCreators 中的地址解锁风险
巨鲸持有 > 1%市场影响力
Smart Money高胜率交易者(需配合钱包分析)信息优势
CEX交易所热钱包流动性来源

5. 风险评估

风险评估维度

维度权重评估指标
集中度风险30%top10HoldingsRatiotop100HoldingsRatio
流动性风险25%totalTvlInUsd、TVL/市值比率
新币风险20%tokenCreatedAt(创建时间)
交易活跃度15%holders、交易量、买卖次数
创建者持仓10%创建者地址的持仓占比

风险标识

标识等级触发条件
🔴 高风险Criticaltop10HoldingsRatio > 0.8、TVL < 市值1%、创建不足24小时
🟡 中风险Warningtop10HoldingsRatio > 0.5、创建不足7天
🟢 低风险Safe各项指标健康

分析流程

1

获取基本信息

调用 GET /v1/token/{chain}/{tokenAddress} 获取完整代币信息
  • 确认合约地址正确
  • 检查创建时间 tokenCreatedAt
2

分析市场数据

查看 marketData 字段
  • 当前价格 priceInUsd
  • 市值 marketCapInUsd
  • 流动性 totalTvlInUsd
3

评估持有者分布

查看 marketData 中的持有者数据
  • 持有者数量 holders
  • Top 10 占比 top10HoldingsRatio
  • Top 100 占比 top100HoldingsRatio
4

检查交易活跃度

查看 stats 字段
  • 交易量 volumesInUsd1hvolumesInUsd24h
  • 买卖比率 buys1h vs sells1h
5

综合风险评估

基于以上数据计算风险等级
  • 高集中度 + 低流动性 = 🔴 高风险
  • 健康分布 + 充足流动性 = 🟢 低风险

实战示例

示例:分析新上线 Token

import { ChainStreamClient } from '@anthropic/chainstream';

const client = new ChainStreamClient('YOUR_ACCESS_TOKEN');

async function analyzeToken(chain: string, tokenAddress: string) {
  // 1. 获取代币完整信息
  const token = await client.token.getToken(chain, tokenAddress);
  
  // 2. 检查创建时间
  const ageInDays = (Date.now() - token.tokenCreatedAt) / (1000 * 60 * 60 * 24);
  if (ageInDays < 7) {
    console.warn('⚠️ 新币风险:创建不足 7 天');
  }
  
  // 3. 分析持有者分布
  const top10Ratio = parseFloat(token.marketData.top10HoldingsRatio);
  if (top10Ratio > 0.5) {
    console.warn('⚠️ 集中度风险:Top 10 持有 > 50%');
  }
  
  // 4. 检查流动性
  const tvl = parseFloat(token.marketData.totalTvlInUsd);
  const marketCap = parseFloat(token.marketData.marketCapInUsd);
  if (tvl < marketCap * 0.05) {
    console.warn('⚠️ 流动性风险:TVL 不足市值 5%');
  }
  
  // 5. 综合评估
  const riskLevel = calculateRiskLevel(token);
  console.log(`风险等级: ${riskLevel}`);
  
  return {
    token,
    ageInDays,
    top10Ratio,
    tvlRatio: tvl / marketCap,
    riskLevel
  };
}

function calculateRiskLevel(token: any): string {
  const top10Ratio = parseFloat(token.marketData.top10HoldingsRatio);
  const tvl = parseFloat(token.marketData.totalTvlInUsd);
  const marketCap = parseFloat(token.marketData.marketCapInUsd);
  
  if (top10Ratio > 0.8 || tvl < marketCap * 0.01) {
    return '🔴 高风险';
  } else if (top10Ratio > 0.5) {
    return '🟡 中风险';
  }
  return '🟢 低风险';
}

API 端点汇总

分析需求API 端点
代币详情(含市场数据、统计)GET /v1/token/{chain}/{tokenAddress}
代币元数据GET /v1/token/{chain}/{tokenAddress}/metadata
代币统计GET /v1/token/{chain}/{tokenAddress}/stats
持有者列表GET /v1/token/{chain}/{tokenAddress}/holders
Top 持有者GET /v1/token/{chain}/{tokenAddress}/topholders
代币流动池GET /v1/token/{chain}/{tokenAddress}/pools
代币市场数据GET /v1/token/{chain}/{tokenAddress}/marketdata

相关文档