关于 debank
这是一个以脚本方式调用 DeBank 区块链数据的技能,适用于投资组合与 DeFi 分析。它可查询跨链钱包资产,以及代币、协议和交易信息。
主要功能
- 01跨链钱包余额与持仓
- 02代币、NFT 和 DeFi 仓位数据
- 03交易历史与净值曲线
- 04代币价格、持有人与链信息
- 05交易模拟与解释
- 06代币和 NFT 授权查询
适用场景
- 01查看跨链钱包投资组合
- 02检查钱包的 DeFi 仓位和 NFT
- 03查询代币价格与交易历史
- 04提交交易前模拟并查看说明
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ starchild-ai-agent/ official-skills --skill debank安装后在 Claude Code 中输入/debank确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
__init__.pydebank.pyexports.pytools/__init__.pychain.pyprotocol.pytoken.pyuser.pyutils.pywallet.py详细介绍
脚本用法
脚本模式技能——阅读此文件,然后从 bash 代码块中调用:
python3 - <<'EOF'
import sys, json
sys.path.insert(0, "/data/workspace/skills/debank")
from exports import db_chain_list, db_user_total_balance, db_user_all_token_list
print(db_chain_list()[:3])
print(db_user_total_balance(user_addr="0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"))
EOF
阅读 exports.py,查看完整的 db_* 函数列表及其确切签名。常用函数:db_chain_list、db_chain、db_token、db_user_total_balance、db_user_all_token_list、db_user_all_simple_protocol_list、db_user_all_complex_protocol_list、db_user_history_list、db_protocol、db_pre_exec_tx、db_explain_tx。
DeBank
DeBank 提供全面的区块链数据,包括钱包资产组合、代币余额、交易历史、DeFi 协议仓位、NFT 和交易模拟。
函数参考(签名)
所有函数都位于 exports.py 中。chain_id 使用 DeBank 的小写代码:eth、bsc、arb、op、base、matic、avax、sol、era、scrl、linea、mnt、blast 等。使用 db_chain_list() 枚举。
user_addr 是钱包地址(小写)。protocol_id 来自 db_protocol_list()。
链和代币参考
| 函数 | 描述 |
|---|---|
db_chain_list() | 列出所有支持的链。 |
db_chain(chain_id) | 单条链的元数据。 |
db_gas_market(chain_id) | 某条链的 Gas 价格。 |
db_token(chain_id, token_id) | 代币详情。token_id = 合约地址(原生代币则为 eth、bnb)。 |
db_token_list_by_ids(chain_id, token_ids) | 批量查询代币。 |
db_token_history_price(chain_id, token_id, start_time, end_time=None) | 历史价格(Unix 时间戳)。 |
db_token_top_holders(chain_id, token_id, start=0) | 持有量最多的地址。 |
用户资产组合(单链)
| 函数 | 描述 |
|---|---|
db_user_chain_balance(user_addr, chain_id) | 某条链上的美元价值。 |
db_user_token_list(user_addr, chain_id, is_all=None) | 某条链上的代币。 |
db_user_token(user_addr, chain_id, token_id) | 单个代币余额。 |
db_user_simple_protocol_list(user_addr, chain_id) | 某条链上的 DeFi 仓位(简要)。 |
db_user_complex_protocol_list(user_addr, chain_id) | 某条链上的 DeFi 仓位(详细)。 |
db_user_nft_list(user_addr, chain_id, is_all=None) | 某条链上的 NFT。 |
db_user_history_list(user_addr, chain_id, start_time=None, page_count=None) | 某条链上的交易历史。 |
db_user_chain_net_curve(user_addr, chain_id) | 某条链上的净资产曲线。 |
db_user_token_authorized_list(user_addr, chain_id) | 代币授权(安全审计)。 |
db_user_nft_authorized_list(user_addr, chain_id) | NFT 授权。 |
用户资产组合(全链——调用开销较大)
| 函数 | 描述 |
|---|---|
db_user_total_balance(user_addr) | 所有链上的美元总额及细分数据。 |
db_user_total_net_curve(user_addr) | 所有链上的净资产曲线。 |
db_user_used_chain_list(user_addr) | 该地址使用过的链。 |
db_user_all_token_list(user_addr, is_all=None) | 所有链上的代币。 |
db_user_all_simple_protocol_list(user_addr) | 所有 DeFi 仓位(简要)。 |
db_user_all_complex_protocol_list(user_addr) | 所有 DeFi 仓位(详细)。 |
db_user_all_nft_list(user_addr, is_all=None) | 所有 NFT。 |
db_user_all_history_list(user_addr, start_time=None, page_count=None) | 所有交易历史。 |
db_user_complex_app_list(user_addr) | 所有应用级仓位(粒度更细)。 |
协议参考
| 函数 | 描述 |
|---|---|
db_protocol(protocol_id) | 协议详情。 |
db_protocol_list(chain_id) | 某条链上的协议。 |
db_protocol_all_list() | 所有链上的协议。 |
db_app_protocol_list() | 应用级协议(分组)。 |
db_user_protocol(user_addr, protocol_id) | 用户在某个协议中的仓位。 |
db_pool(protocol_id, chain_id, pool_id) | 单个池的详情。 |
交易模拟
| 函数 | 说明 |
|---|---|
db_pre_exec_tx(user_addr, chain_id, tx) | 在发送前模拟交易。tx = 标准交易字典。 |
db_explain_tx(user_addr, chain_id, tx) | 以易于理解的方式说明交易。 |
DeBank 使用 snake_case(total_usd_value、chain_id、usd_value)。
美元金额为浮点数。代币数量也是浮点数(已根据精度调整,无需除以
10**decimals)。
何时使用 DeBank
使用 DeBank 进行:
- 用户投资组合 - 查看所有链上的总余额、代币持仓和 NFT
- 交易历史 - 查看单条或所有链上的历史交易
- DeFi 头寸 - 查看协议余额和复杂的投资组合头寸
- 代币数据 - 查看代币详情、价格和大户信息
- 交易模拟 - 在提交前预执行并说明交易
- 授权追踪 - 查看代币和 NFT 授权
- 分析 - 查看 24 小时净值曲线并追踪投资组合
常见工作流
获取用户投资组合
db_user_total_balance(user_addr="0x...") # Total balance across all chains
db_user_all_token_list(user_addr="0x...") # All token holdings
db_user_all_nft_list(user_addr="0x...") # All NFT collections
查看特定链上的代币余额
db_user_token_list(user_addr="0x...", chain_id="eth") # Ethereum tokens
db_user_token_list(user_addr="0x...", chain_id="bsc") # BSC tokens
获取交易历史
db_user_history_list(user_addr="0x...", chain_id="eth") # Eth transactions
db_user_all_history_list(user_addr="0x...") # All chain transactions
查看 DeFi 协议头寸
db_user_simple_protocol_list(user_addr="0x...", chain_id="eth") # Simple balances
db_user_complex_protocol_list(user_addr="0x...", chain_id="eth") # Detailed positions
db_user_all_complex_protocol_list(user_addr="0x...") # All chains
代币信息
db_token(chain_id="eth", token_id="0x...") # Token details
db_token_history_price(chain_id="eth", token_id="0x...", start_time=1234567890, end_time=1234567990)
db_token_top_holders(chain_id="eth", token_id="0x...") # Top 100 holders
交易模拟
db_pre_exec_tx(user_addr="0x...", chain_id="eth", tx={...}) # Enhanced pre-execution
db_explain_tx(user_addr="0x...", chain_id="eth", tx={...}) # Explain transaction
协议数据
db_protocol(protocol_id="uniswap") # Protocol details
db_protocol_list(chain_id="eth") # All protocols on chain
db_protocol_all_list() # All protocols across chains
链信息
db_chain_list() # All supported chains
db_chain(chain_id="eth") # Specific chain details
db_gas_market(chain_id="eth") # Gas prices
重要说明
- API 密钥:需要设置 DEBANK_API_KEY 环境变量(DeBank Cloud API)
- 用户地址:大多数端点都需要有效的区块链地址(0x... 格式)
- 链 ID:使用 DeBank 链标识符(eth、bsc、polygon、arbitrum、optimism 等)
- 速率限制:请留意 API 速率限制和单位成本
- 单位成本:不同端点的单位成本不同(参阅 API 文档)
链 ID 参考
常见链标识符:
- eth → Ethereum 主网
- bsc → BNB Smart Chain
- polygon → Polygon
- arbitrum → Arbitrum One
- optimism → Optimism
- avax → Avalanche C-Chain
- ftm → Fantom
- op → Optimism
- base → Base
**重要:**使用 db_chain_list() 获取受支持链及其标识符的完整列表。
地址格式
所有用户地址都应采用 Ethereum 格式(0x 后跟 40 个十六进制字符):
- 有效:0x1234567890abcdef1234567890abcdef12345678
- 无效:1234567890abcdef1234567890abcdef12345678(缺少 0x 前缀)