Skip to content

DefiLlama

DefiLlama 是最全面的 DeFi 数据聚合平台,覆盖 3000+ 协议、200+ 链的 TVL、DEX 交易量、稳定币等核心指标。

核心价值:免费、无需 API Key、数据全面、更新及时,是 DeFi 数据分析的首选入口。

核心数据类型

TVL(总锁仓量)

TVL 是衡量 DeFi 协议资金规模的核心指标,表示用户存入协议的资产总价值。

  • 计算方式:协议中所有锁定资产的美元价值之和
  • 关键区分:TVL 包含借出资产(不重复计算),自有代币是否计入 TVL 需注意
  • 数据更新:每小时更新一次

DEX Volume(去中心化交易所交易量)

  • 覆盖 1000+ DEX 协议
  • 支持按链、按协议、按时间范围筛选
  • 24h / 7d / 30d 多时间维度

Fees / Revenue(协议费用与收入)

  • Fees:用户使用协议支付的总费用
  • Revenue:协议实际捕获的收入(Fees 的一部分)
  • 这是评估协议商业模式的关键数据

Stablecoins(稳定币)

  • 稳定币市值分布与趋势
  • 按链分布、按类型分布(法币抵押、加密抵押、算法稳定币)
  • 脱锚风险监控

为什么选 DefiLlama

  • 完全免费,无需 API Key
  • 数据更新及时(每小时)
  • 支持按链、按协议、按类别筛选
  • 中国大陆可直接访问
  • 数据准确性高,有专门的 方法论页面 说明计算方式
  • 开源,社区驱动,GitHub 仓库 可查看适配器代码

常用页面

页面地址用途
TVL 总览/chart/chain/All全链 TVL 趋势
稳定币/stablecoins稳定币市值分布
DEX 排名/dexsDEX 交易量对比
链对比/chains各链 TVL 排名
协议详情/protocol/{name}单个协议 TVL 详情
费用排名/fees协议费用与收入排名
衍生品/derivatives永续合约与期权数据
收益率/yields各池子收益率对比
空投/airdrops潜在空投项目

6 个常用 API 端点及示例

DefiLlama API 完全免费、无需注册、无速率限制(但请合理使用)。

1. 获取所有链的 TVL

GET https://api.llama.fi/v2/chains
bash
curl -s "https://api.llama.fi/v2/chains" | python3 -m json.tool | head -30

返回示例:

json
[
  {
    "name": "Ethereum",
    "chainId": 1,
    "tvl": 58000000000,
    "chainCoinGeckoId": "ethereum",
    "gecko_id": null
  },
  ...
]

用途:快速获取各链 TVL 排名,识别资金流向。对比不同时期的数据可发现资金迁移趋势。

2. 获取某条链的历史 TVL

GET https://api.llama.fi/v2/historicalChainTvl/{chain}
bash
# 获取 Ethereum 历史每日 TVL
curl -s "https://api.llama.fi/v2/historicalChainTvl/Ethereum" | python3 -m json.tool | head -20

返回示例:

json
[
  {
    "date": 1600214400,
    "tvl": 950000000
  },
  ...
]

用途:绘制 TVL 趋势图,识别 TVL 拐点。注意时间戳为 Unix 秒。

3. 获取所有协议列表

GET https://api.llama.fi/protocols
bash
# 获取协议列表并筛选 Lending 协议
curl -s "https://api.llama.fi/protocols" | \
  python3 -c "
import json, sys
data = json.load(sys.stdin)
lending = [p for p in data if p.get('category') == 'Lending']
for p in sorted(lending, key=lambda x: x.get('tvl', 0), reverse=True)[:10]:
    print(f\"{p['name']}: TVL={p['tvl']/1e9:.2f}B\")
"

返回每个协议的详细信息:名称、TVL、链、类别、链上地址、历史 TVL 数据等。

用途:协议对标分析、类别筛选、链上地址查找。

4. 获取稳定币数据

GET https://api.llama.fi/stablecoins
bash
curl -s "https://api.llama.fi/stablecoins" | \
  python3 -c "
import json, sys
data = json.load(sys.stdin)
for coin in data['peggedAssets'][:10]:
    print(f\"{coin['name']}: {coin.get('symbol', 'N/A')} mcap={coin.get('currentChainCirculating', {}).get('Ethereum', 0)/1e9:.2f}B\")
"

用途:监控稳定币市值变化、脱锚风险、链分布。稳定币流入/流出是市场情绪的重要先行指标。

5. 获取代币当前价格

GET https://coins.llama.fi/prices/current/{coins}
bash
# 获取 ETH 和 BTC 当前价格
# 格式:{chain}:{address},原生代币用 chain:coingecko_id
curl -s "https://coins.llama.fi/prices/current/ethereum:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,coingecko:ethereum" | \
  python3 -m json.tool

用途:获取实时价格,用于 TVL 计算、交易量换算。支持任意链上代币。

6. 获取 DEX 概览数据

GET https://api.llama.fi/overview/dexs
bash
curl -s "https://api.llama.fi/overview/dexs" | \
  python3 -c "
import json, sys
data = json.load(sys.stdin)
for d in data.get('protocols', [])[:10]:
    print(f\"{d['name']}: 24h_vol={d.get('total24h', 0)/1e6:.1f}M, total_tvl={d.get('totalDataChart', [{}])[-1].get('totalLiquidityUSD', 0)/1e9:.2f}B\")
"

用途:DEX 市场份额分析、交易量趋势、流动性分布。

如何从 TVL 变化判断协议健康度

分析框架

TVL 是评估协议健康度最直观的指标,但需要深入分析,不能只看绝对数字。

1. 区分真实增长与价格效应

真实 TVL 变化 = 名义 TVL 变化 - 锁仓代币价格变化
  • 如果 ETH 上涨 30%,而协议 TVL 只涨了 25%,说明资金实际在流出
  • DefiLlama 提供 "TVL (excl. own token)" 过滤,去掉协议自身代币价格的影响

2. TVL 增长的健康度评估

TVL 增长模式信号可信度
稳步增长,与行业同步有机增长
突增后回落流动性挖矿吸引
持续流出协议风险或竞品分流
增长但代币价格下跌代币通胀激励

3. TVL 构成分析

  • 资产多样性:TVL 是否集中在单一资产?集中度高 = 风险高
  • 用户分散度:Top 10 地址占比多少?鲸鱼主导 = 去中心化程度低
  • 自有代币占比:协议代币占 TVL 比例高,说明 TVL 虚高

4. TVL 与协议收入的比值

TVL/收入比 = TVL / 年化收入
  • 比值过高:TVL 效率低,资金未被有效利用
  • 比值过低:可能收入高但风险也高(高杠杆)

实战案例:判断协议是否"健康"

bash
# 获取 Aave 的历史 TVL
curl -s "https://api.llama.fi/protocol/aave" | \
  python3 -c "
import json, sys
data = json.load(sys.stdin)
# 最近 30 天 TVL 变化
tvl_data = data.get('tvl', [])
if len(tvl_data) > 30:
    recent = tvl_data[-1][1]
    month_ago = tvl_data[-30][1]
    change = (recent - month_ago) / month_ago * 100
    print(f'30d TVL change: {change:+.1f}%')
    print(f'Current TVL: \${recent/1e9:.2f}B')
"

关键警告信号

  • TVL 突降 10%+:可能有安全事件或竞品挖矿启动
  • TVL 增长但交易量下降:资金在但没人用,可能是"粘性"不足
  • TVL 集中在单一链:多链部署进度不达标
  • 稳定币 TVL 异常流出:可能是脱锚风险或市场恐慌

API 使用最佳实践

  1. 缓存结果:TVL 数据每小时更新,无需每分钟请求
  2. 批量获取:优先用 /protocols 一次获取所有协议数据,而非逐个请求
  3. 时间戳处理:API 返回的时间戳为 Unix 秒,转换为日期用 datetime.fromtimestamp()
  4. 错误处理:偶尔会有协议数据缺失,代码中需要处理 null 值
  5. 历史数据:历史 TVL 端点返回全量数据(可能几 MB),建议客户端过滤时间范围

与本平台的关系

DefiLlama 是本平台以下数据页的核心数据源:

  • TVL 总览页:链级和协议级 TVL 数据
  • DeFi 协议对比页:协议 TVL、交易量、费用的横向对比
  • 稳定币监控页:稳定币市值、链分布数据
  • 链对比页:各链 TVL 排名和趋势