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
db_* 関数の完全なリストと正確なシグネチャについては exports.py を参照してください。よく使うもの: 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) | 1 つのチェーンのメタデータ。 |
db_gas_market(chain_id) | チェーンのガス価格。 |
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) | 1 つのチェーン上の USD 価値。 |
db_user_token_list(user_addr, chain_id, is_all=None) | 1 つのチェーン上のトークン。 |
db_user_token(user_addr, chain_id, token_id) | 1 つのトークン残高。 |
db_user_simple_protocol_list(user_addr, chain_id) | 1 つのチェーン上の DeFi ポジション (簡易)。 |
db_user_complex_protocol_list(user_addr, chain_id) | 1 つのチェーン上の DeFi ポジション (詳細)。 |
db_user_nft_list(user_addr, chain_id, is_all=None) | 1 つのチェーン上の NFT。 |
db_user_history_list(user_addr, chain_id, start_time=None, page_count=None) | 1 つのチェーン上のトランザクション履歴。 |
db_user_chain_net_curve(user_addr, chain_id) | 1 つのチェーン上の純資産曲線。 |
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) | 全チェーン合計の USD + 内訳。 |
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) | 1 つのチェーン上のプロトコル。 |
db_protocol_all_list() | チェーン全体のすべてのプロトコル。 |
db_app_protocol_list() | アプリレベルのプロトコル (グループ)。 |
db_user_protocol(user_addr, protocol_id) | 1 つのプロトコルにおけるユーザーのポジション。 |
db_pool(protocol_id, chain_id, pool_id) | 1 つのプールの詳細。 |
Tx シミュレーション
| 関数 | 説明 |
|---|---|
db_pre_exec_tx(user_addr, chain_id, tx) | 送信前にトランザクションをシミュレートします。tx = 標準的なトランザクション dict。 |
db_explain_tx(user_addr, chain_id, tx) | トランザクションを人間が読める形式で説明します。 |
DeBank はスネークケースを使用します(total_usd_value、chain_id、usd_value)。
USD の値は浮動小数点数です。トークン量も浮動小数点数です(すでに
decimals が調整済み — 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 Mainnet
- 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 文字の 16 進数文字)である必要があります:
- 有効: 0x1234567890abcdef1234567890abcdef12345678
- 無効: 1234567890abcdef1234567890abcdef12345678(0x プレフィックスがない)