okx-defi-portfolio

tarafından okx

Use this skill to 'check my DeFi positions', 'view DeFi holdings', 'show my DeFi portfolio', 'what DeFi am I invested in', 'show my staking positions', 'show my lending positions', 'DeFi balance', 'DeFi 持仓', '查看DeFi持仓', '我的DeFi资产', '持仓详情', '持仓列表', or mentions viewing DeFi holdings, positions, portfolio across protocols — when the user does NOT name a specific DApp. Covers positions overview and per-protocol position detail. Do NOT use for deposit/redeem/claim operations — use...

npx skills add https://github.com/okx/onchainos-skills --skill 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

#CommandDescription
1onchainos defi support-chainsGet supported chains for DeFi
2onchainos defi support-platformsGet supported platforms for DeFi
3onchainos defi positions --address <addr> --chains <chains>Get user DeFi holdings overview
4onchainos defi position-detail --address <addr> --chain <chain> --platform-id <id>Get detailed holdings for a protocol

Chain Support

ChainName / AliaseschainIndex
Ethereumethereum, eth1
BSCbsc, bnb56
Polygonpolygon, matic137
Arbitrumarbitrum, arb42161
Basebase8453
X Layerxlayer, okb196
Avalancheavalanche, avax43114
Optimismoptimism, op10
Fantomfantom, ftm250
Suisui784
Trontron, trx195
TONton607
Linealinea59144
Scrollscroll534352
zkSynczksync324
Solanasolana, sol501

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 --all to get all account IDs, then wallet switch <id> + wallet addresses for 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 saysAction
View positions / portfolio / holdingsonchainos defi positions
View detail for a protocolonchainos defi position-detail
Redeem / claim after viewingSuggest → 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 positions first to get analysisPlatformId

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:

#PlatformanalysisPlatformIdChainsPositionsValue(USD)
1Aave V312345ETH,BSC2$120.00

Rules:

  • analysisPlatformId is MANDATORY in every row — users must copy this value to run position-detail
  • Never omit, hide, or replace analysisPlatformId with 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:

TypeAssetAmountValue(USD)investmentIdaggregateProductIdToken ContractRewards
SupplyUSDT1.002285$1.0025127719310x970223...70.000080 AVAX
PendingsAVAX0.00000091$0.000012Platform reward

Rules:

  • Each token row is one row; merge in investmentId and aggregateProductId from its parent investment entry
  • investmentId is MANDATORY in every row — users need it for redeem/claim (via okx-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 show Platform 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

V3 Pool Positions — Extra Fields

For V3 Pool positions (positionList present), show an additional section per position:

tokenIdStatusRangetickLowertickUpper
93828ACTIVE0.892 – 0.992 USDC/DAI-33500-30450
  • tokenId: from positionList[].tokenId
  • positionStatus: ACTIVE or INACTIVE
  • range: from positionList[].range
  • tickLower / tickUpper: from positionList[].rangeInfo.tickLower / rangeInfo.tickUpper
  • These fields are critical for V3 operations (add liquidity, withdraw, collect V3 fees)

investType Reference

investTypeDescription
1Save (savings/yield)
2Pool (liquidity pool)
3Farm (yield farming)
4Vaults
5Stake
6Borrow
7Staking
8Locked
9Deposit
10Vesting

Post-execution Suggestions

Just completedSuggest
defi positions1. View detail → defi position-detail 2. Redeem → okx-defi-invest 3. Claim rewards → okx-defi-invest
defi position-detail1. Redeem position → use okx-defi-invest with investmentId from table 2. Claim rewards → use okx-defi-invest 3. Add more → use okx-defi-invest
defi position-detail (V3 Pool)1. View depth chart → defi depth-price-chart --investment-id <id> (via okx-defi-invest) 2. View price history → defi depth-price-chart --investment-id <id> --chart-type PRICE

Global Notes

  • CRITICAL — Address-chain compatibility: The --address and --chains parameters must be compatible. EVM addresses (0x…) can only query EVM chains; Solana addresses (base58) can only query solana. 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 pass tron
    • TON address → only pass ton
    • If the user wants positions across both EVM and Solana, make two separate calls with the respective addresses
  • defi positions uses --chains (plural, comma-separated, e.g. --chains ethereum,bsc) — do NOT use --chain
  • defi position-detail uses --chain (singular) — do NOT use --chains
  • The wallet address parameter is --address for both commands
  • position-detail requires analysisPlatformId from positions output as --platform-id
  • The CLI resolves chain names automatically (ethereum1, bsc56, solana501)

okx tarafından daha fazla skill

okx-agent-identity
okx
We need to translate the given text from English/Chinese to Turkish. The text describes an agent skill for ERC-8004 on-chain Agent identity on XLayer. It includes actions like register, create, update, etc., and roles in multiple languages. The instruction says to preserve product names, protocol names, URLs, numbers, technical terms. So "ERC-8004", "XLayer", "agent", "ASP", "evaluator" etc. should remain as is or translated? The instruction says "preserve product names, protocol names, URLs, numbers, and technical terms." So "ERC-8004" and "XLayer" are protocol/product names, keep them. "Agent" might be a technical term, but it's also a common word. However, in context, it's part of the skill name "okx-agent-identity" which is preserved but not in the text. The text uses "agent" repeatedly. Should we translate "agent" to Turkish? The instruction says "preserve technical terms". "Agent" is a technical term in
developmentapi
okx-ai-guide
okx
OKX.AI (Ajan ekonomik sistemi) tanıtımı ve kullanıma başlama girişi. Kullanıcı OKX.AI’nin ne olduğunu, ne yapabileceğini, nasıl kullanılacağını veya nasıl başlanacağını sorduğunda, OKX.AI eğitimi / hızlı başlangıç / yardım istediğinde veya ürün adını herhangi bir yazım / boşluk / büyük-küçük harf / yazım hatası varyantında (OKXAI, okx ai, okx-ai, küçük harfli okx.ai, yanlış yazılmış Çince 啥是okxai) yazdığında — örn. OKX.AI nedir / OKX.AI 是什么 / 怎么用 OKX.AI / OKX.A
researchapidocument
okx-agentic-wallet
okx
OKX Agentic Wallet ve Gas Station özelliği için YETKİLİ kaynak. Gas Station = OKX'in Solana üzerinde üçüncü taraf Relayer aracılığıyla stablecoin-gas özelliği; yalnızca Solana, EIP-7702 yok. Gas Station soruları (nedir / nasıl çalışır / desteklenen token'lar / ücretler / gas station'ı etkinleştirme veya devre dışı bırakma / varsayılan gas token'ını değiştirme / Jito Bundler uyumluluğu) VE herhangi bir cüzdan işlemi için çağrılmalıdır: giriş, OTP doğrulama, hesap ekleme/değiştirme/durum/çıkış, bakiye, varlıklar, portföy, adresler, para yatırma/al
apiweb-scrapingdevelopment
okx-agent-chat
okx
Routing stub — any a2a-agent-chat envelope / agent-task system message is handled by `okx-agent-task`. For missing or uninitialized OKX A2A communication runtime/plugin, read `skills/okx-agent-chat/ensure-okx-a2a-communication-ready.md`.
developmentapicommunication
okx-agent-task
okx
Gelen zarflarda ZORUNLU etkinleştirme: (1) {agentId, message:{source:"system", event, jobId, ...}} — sistem olayı; (2) {msgType:"a2a-agent-chat", jobId, sender:{role}, ...} — ajanlar arası görev sohbeti (alanlar üst düzeyde; sender.role = KARŞI TARAF, siz değil); (3) zarfta "Read okx-agent-task/SKILL.md" ifadesi. AYRICA şu anahtar kelimeler için etkinleştir: 发布任务 / 创建任务 / 帮我发任务 / publish task / create task / 接任务 / 接单 / 协商 / 验收 / 拒绝 / 仲裁 / dispute / stake / unstake / 修改卖家 / 修改预算 / change provider / change budget...
developmentapicommunication
okx-agent-payments-protocol
okx
Bir aracı HTTP 402 / payment-required hatası aldığında veya kullanıcı x402, x402Version, X-PAYMENT, PAYMENT-REQUIRED, PAYMENT-SIGNATURE, WWW-Authenticate: Payment, permit2, upto, metered billing, bir ödeme kanalı / kupon / oturum, channelId / channel_id, bir kanalı açma / kapatma / doldurma / kapatma / ger
okx-security
okx
Bu beceriyi güvenlik taraması için kullanın: işlem güvenliğini kontrol etme, bu işlem güvenli mi, işlem öncesi kontrol, güvenlik taraması, token risk taraması, honeypot tespiti, DApp/URL kimlik avı tespiti, mesaj imzası güvenliği, kötü amaçlı işlem tespiti, onay güvenliği kontrolleri, token onay yönetimi. Tetikleyiciler: 'bu token güvenli mi', 'token güvenliğini kontrol et', 'honeypot kontrolü', 'bu işlemi tara', 'bu takas işlemini tara', 'işlem risk kontrolü', 'bu URL dolandırıcılık mı', 'bu dapp güvenli mi kontrol et', 'kimlik avı...
okx-task-watch
okx
监听任务进展 / 帮我盯着任务 / 任务有动静告诉我 / 历史消息 / 未读消息 / 未决策 / 待决策 / 继续监听 / task watch / user watch / monitor task progress / catch me up on tasks / outstanding decisions — OKX A2A user-session task-notification monitor: live long-poll via `okx-a2a user watch` (also drains backlog of past/missed/unread events on entry) plus un-replied decision_request lister via `okx-a2a user outdated-list`. Not for wallet / gas / task-list / status queries.
developmentapiproductivity