debank
Multi-chain wallet portfolios: token balances, tx history, DeFi positions, NFTs. Use when inspecting any EVM address (e.g. show vitalik.eth balances, decode this tx, what DeFi protocols does 0x... use).
How do I install this agent skill?
npx skills add https://github.com/starchild-ai-agent/official-skills --skill debankIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The DeBank skill is a blockchain portfolio tracker that uses the official DeBank Cloud API. It follows secure practices for handling API credentials via environment variables and uses a specialized module loading strategy to avoid naming conflicts with the Python standard library. It is flagged for a potential indirect prompt injection surface as it ingests and processes external blockchain data.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Script Usage
Script-mode skill — read this file, then invoke from a bash block:
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
Read exports.py for the full list of db_* functions and exact
signatures. Common ones: 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 provides comprehensive blockchain data including wallet portfolios, token balances, transaction history, DeFi protocol positions, NFTs, and transaction simulation.
Function Reference (signatures)
All functions are in exports.py. chain_id uses DeBank's lowercase
codes: eth, bsc, arb, op, base, matic, avax, sol, era,
scrl, linea, mnt, blast, etc. — use db_chain_list() to enumerate.
user_addr is the wallet address (lowercase). protocol_id from
db_protocol_list().
Chain & Token reference
| Function | Description |
|---|---|
db_chain_list() | List all supported chains. |
db_chain(chain_id) | One chain's metadata. |
db_gas_market(chain_id) | Gas prices for a chain. |
db_token(chain_id, token_id) | Token detail. token_id = contract address (or eth, bnb for native). |
db_token_list_by_ids(chain_id, token_ids) | Batch token lookup. |
db_token_history_price(chain_id, token_id, start_time, end_time=None) | Historical prices (unix timestamps). |
db_token_top_holders(chain_id, token_id, start=0) | Top holders. |
User portfolio (single-chain)
| Function | Description |
|---|---|
db_user_chain_balance(user_addr, chain_id) | USD value on one chain. |
db_user_token_list(user_addr, chain_id, is_all=None) | Tokens on one chain. |
db_user_token(user_addr, chain_id, token_id) | One token balance. |
db_user_simple_protocol_list(user_addr, chain_id) | DeFi positions (light) on one chain. |
db_user_complex_protocol_list(user_addr, chain_id) | DeFi positions (detailed) on one chain. |
db_user_nft_list(user_addr, chain_id, is_all=None) | NFTs on one chain. |
db_user_history_list(user_addr, chain_id, start_time=None, page_count=None) | Tx history on one chain. |
db_user_chain_net_curve(user_addr, chain_id) | Net worth curve on one chain. |
db_user_token_authorized_list(user_addr, chain_id) | Token approvals (security audit). |
db_user_nft_authorized_list(user_addr, chain_id) | NFT approvals. |
User portfolio (all-chain — heavier calls)
| Function | Description |
|---|---|
db_user_total_balance(user_addr) | Total USD across all chains + breakdown. |
db_user_total_net_curve(user_addr) | Net worth curve across all chains. |
db_user_used_chain_list(user_addr) | Which chains the address has used. |
db_user_all_token_list(user_addr, is_all=None) | All tokens across all chains. |
db_user_all_simple_protocol_list(user_addr) | All DeFi positions (light). |
db_user_all_complex_protocol_list(user_addr) | All DeFi positions (detailed). |
db_user_all_nft_list(user_addr, is_all=None) | All NFTs. |
db_user_all_history_list(user_addr, start_time=None, page_count=None) | All tx history. |
db_user_complex_app_list(user_addr) | All app-level positions (more granular). |
Protocol reference
| Function | Description |
|---|---|
db_protocol(protocol_id) | Protocol detail. |
db_protocol_list(chain_id) | Protocols on one chain. |
db_protocol_all_list() | All protocols across chains. |
db_app_protocol_list() | App-level protocols (groups). |
db_user_protocol(user_addr, protocol_id) | User's position in one protocol. |
db_pool(protocol_id, chain_id, pool_id) | One pool's detail. |
Tx simulation
| Function | Description |
|---|---|
db_pre_exec_tx(user_addr, chain_id, tx) | Simulate tx before sending. tx = standard tx dict. |
db_explain_tx(user_addr, chain_id, tx) | Human-readable explanation of a tx. |
DeBank uses snake_case (total_usd_value, chain_id, usd_value).
USD values are floats. Token amounts are floats (already adjusted for
decimals — no need to divide by 10**decimals).
When to Use DeBank
Use DeBank for:
- User Portfolio - Total balance, token holdings, NFTs across all chains
- Transaction History - Historical transactions on single or all chains
- DeFi Positions - Protocol balances and complex portfolio positions
- Token Data - Token details, prices, and top holders
- Transaction Simulation - Pre-execute and explain transactions before submission
- Authorization Tracking - View token and NFT approvals
- Analytics - 24-hour net worth curves and portfolio tracking
Common Workflows
Get User Portfolio
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
Check Token Balances on Specific Chain
db_user_token_list(user_addr="0x...", chain_id="eth") # Ethereum tokens
db_user_token_list(user_addr="0x...", chain_id="bsc") # BSC tokens
Get Transaction History
db_user_history_list(user_addr="0x...", chain_id="eth") # Eth transactions
db_user_all_history_list(user_addr="0x...") # All chain transactions
Check DeFi Protocol Positions
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
Token Information
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
Transaction Simulation
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
Protocol Data
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
Chain Information
db_chain_list() # All supported chains
db_chain(chain_id="eth") # Specific chain details
db_gas_market(chain_id="eth") # Gas prices
Important Notes
- API Key: Requires DEBANK_API_KEY environment variable (DeBank Cloud API)
- User Address: Most endpoints require a valid blockchain address (0x... format)
- Chain IDs: Use DeBank chain identifiers (eth, bsc, polygon, arbitrum, optimism, etc.)
- Rate Limits: Be mindful of API rate limits and unit costs
- Unit Costs: Different endpoints have different unit costs (see API documentation)
Chain ID Reference
Common chain identifiers:
- eth → Ethereum Mainnet
- bsc → BNB Smart Chain
- polygon → Polygon
- arbitrum → Arbitrum One
- optimism → Optimism
- avax → Avalanche C-Chain
- ftm → Fantom
- op → Optimism
- base → Base
Important: Use db_chain_list() to get the complete list of supported chains and their identifiers.
Address Format
All user addresses should be in Ethereum format (0x followed by 40 hexadecimal characters):
- Valid: 0x1234567890abcdef1234567890abcdef12345678
- Invalid: 1234567890abcdef1234567890abcdef12345678 (missing 0x prefix)
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/starchild-ai-agent/official-skills/debank">View debank on skillZs</a>