okx-defi-portfolio
クロスチェーンDeFi投資ポートフォリオを表示。複数プロトコルの保有状況と資産分布を要約し、各チェーンのDeFiプロジェクトの収益とリスクをリアルタイムで追跡。
npx skills add okx/onchainos-skills --skill okx-defi-portfolioBefore / After 効果比較
1 组各DeFiプロトコルとブロックチェーンエクスプローラーに個別にログインし、各チェーン上の保有アドレス、資産数量、収益状況を手動で記録する。異なるプラットフォーム間での切り替えが必要で、1時間以上かかる。
1つのコマンドですべてのチェーンとプロトコルのDeFi保有状況を要約し、資産分布と総価値を自動で計算し、収益データをリアルタイムで更新、3分で完全なポートフォリオ分析を完了する。
okx-defi-portfolio
OKX DeFi Portfolio
2 commands for viewing DeFi positions and holdings across protocols and chains.
Skill Routing
-
For DeFi deposit/redeem/claim → use
okx-defi-invest -
For token price/chart → use
okx-dex-market -
For wallet token balances → use
okx-wallet-portfolio -
For DEX spot swap → use
okx-dex-swap
Quickstart
# Get DeFi holdings overview across chains
onchainos defi positions \
--address 0xYourWallet \
--chains ethereum,bsc,solana
# Get detailed holdings for a specific protocol (analysisPlatformId from positions output)
onchainos defi position-detail \
--address 0xYourWallet \
--chain ethereum \
--platform-id 67890
Command Index
Command Description
1
onchainos defi support-chains
Get supported chains for DeFi
2
onchainos defi support-platforms
Get supported platforms for DeFi
3
onchainos defi positions --address <addr> --chains <chains>
Get user DeFi holdings overview
4
onchainos defi position-detail --address <addr> --chain <chain> --platform-id <id>
Get detailed holdings for a protocol
Chain Support
Chain Name / Aliases chainIndex
Ethereum
ethereum, eth
1
BSC
bsc, bnb
56
Polygon
polygon, matic
137
Arbitrum
arbitrum, arb
42161
Base
base
8453
X Layer
xlayer, okb
196
Avalanche
avalanche, avax
43114
Optimism
optimism, op
10
Fantom
fantom, ftm
250
Sui
sui
784
Tron
tron, trx
195
TON
ton
607
Linea
linea
59144
Scroll
scroll
534352
zkSync
zksync
324
Solana
solana, sol
501
Operation Flow
Step 0: Address Resolution
When the user does NOT provide a wallet address, resolve it automatically from the Agentic Wallet before running any defi command:
1. onchainos wallet status → check if logged in, get active account
2. onchainos wallet addresses → get addresses grouped by chain category:
- XLayer addresses
- EVM addresses (Ethereum, BSC, Polygon, etc.)
- Solana addresses
3. Match address to target chain:
- EVM chains → use EVM address
- Solana → use Solana address
- XLayer → use XLayer address
Rules:
-
If the user provides an explicit address, use it directly — skip this step
-
If wallet is not logged in, ask the user to log in first (→
okx-agentic-wallet) or provide an address manually -
If the user says "check all accounts" or "all wallets", use
wallet balance --allto get all account IDs, thenwallet switch <id>+wallet addressesfor each account, and query positions for each -
Always confirm the resolved address with the user before proceeding if the account has multiple addresses of the same type
Step 1: Identify Intent
User says Action
View positions / portfolio / holdings
onchainos defi positions
View detail for a protocol
onchainos defi position-detail
Redeem / claim after viewing
Suggest → use okx-defi-invest
Step 2: Collect Parameters
-
Missing wallet address → resolve via Step 0 (wallet status → wallet addresses), or ask user if not logged in
-
Missing chains → ask user which chains to query, or suggest common ones (ethereum, bsc, solana)
-
Missing platform-id → run
defi positionsfirst to getanalysisPlatformId
Step 3: Display Results
Displaying Positions Results
When displaying defi positions output, you MUST use exactly these columns in this order — no substitutions, no omissions:
Platform analysisPlatformId Chains Positions Value(USD)
1 Aave V3 12345 ETH,BSC 2 $120.00
Rules:
-
analysisPlatformIdis MANDATORY in every row — users must copy this value to runposition-detail -
Never omit, hide, or replace
analysisPlatformIdwith any other field -
Never group platforms — show every platform as its own row regardless of value size
-
Raw JSON path:
walletIdPlatformList[*].platformList[*]— each element is one platform row
platformName → Platform
-
analysisPlatformId→ analysisPlatformId -
networkBalanceList[*].network→ Chains (join with comma) -
investmentCount→ Positions -
currencyAmount→ Value(USD)
Displaying Position Detail Results
Output shape: { "ok": true, "data": [ { "walletIdPlatformDetailList": [...] }, ... ] } — data is an array. Never call .get() on data directly; iterate over it as a list.
When displaying defi position-detail output, render all tokens in a single flat table with these exact columns:
Type Asset Amount Value(USD) investmentId aggregateProductId Token Contract Rewards
Supply USDT 1.002285 $1.0025 127 71931 0x970223...7 0.000080 AVAX
Pending sAVAX 0.00000091 $0.000012 – – – Platform reward
Rules:
-
Each token row is one row; merge in
investmentIdandaggregateProductIdfrom its parent investment entry -
investmentIdis MANDATORY in every row — users need it forredeem/claim(viaokx-defi-invest) -
aggregateProductId— show if present, otherwise– -
Token Contract: show the full contract address without truncation; show
–if native/empty -
Rewards: show pending reward amount + symbol if present,
–if none; for platform rewards showPlatform reward -
Type: map investType → Supply/Borrow/Stake/Farm/Pool etc; pending rewards row uses
Pending -
Health rate: show separately below the table with warning if
healthRate < 1.5
investType Reference
investType Description
1 Save (savings/yield)
2 Pool (liquidity pool)
3 Farm (yield farming)
4 Vaults
5 Stake
6 Borrow
7 Staking
8 Locked
9 Deposit
10 Vesting
Post-execution Suggestions
Just completed Suggest
defi positions
- View detail →
defi position-detail2. Redeem →okx-defi-invest3. Claim rewards →okx-defi-invest
defi position-detail
- Redeem position → use
okx-defi-investwithinvestmentIdfrom table 2. Claim rewards → useokx-defi-invest3. Add more → useokx-defi-invest
Global Notes
- CRITICAL — Address-chain compatibility: The
--addressand--chainsparameters must be compatible. EVM addresses (0x…) can only query EVM chains; Solana addresses (base58) can only querysolana. Never mix them in a single call — the API will return error 84019 (Address format error).
0x… address → only pass EVM chains: ethereum,bsc,polygon,arbitrum,base,xlayer,avalanche,optimism,fantom,linea,scroll,zksync
-
base58 address → only pass
solana -
Sui address → only pass
sui -
Tron address (
T…) → only passtron -
TON address → only pass
ton -
If the user wants positions across both EVM and Solana, make two separate calls with the respective addresses
-
defi positionsuses--chains(plural, comma-separated, e.g.--chains ethereum,bsc) — do NOT use--chain -
defi position-detailuses--chain(singular) — do NOT use--chains -
The wallet address parameter is
--addressfor both commands -
position-detailrequiresanalysisPlatformIdfrompositionsoutput as--platform-id -
The CLI resolves chain names automatically (
ethereum→1,bsc→56,solana→501)
Weekly Installs536Repositoryokx/onchainos-skillsGitHub Stars188First Seen14 days agoSecurity AuditsGen Agent Trust HubPassSocketPassSnykWarnInstalled oncodex524cursor524github-copilot523opencode523gemini-cli522kimi-cli522
ユーザーレビュー (0)
レビューを書く
レビューなし
統計データ
ユーザー評価
この Skill を評価