Portfolio Overview
Fetch a consolidated view of all token holdings with USD valuations across all supported chains (Base, HyperEVM, Monad) and DeFi positions (Aave V3 on Base).
Prerequisites
- Active session required. If not authenticated, run
authenticate-walletskill first.
Rules
- This command fetches all chains in parallel — no
--chainflag needed. - Use
--jsonwhen the output will be consumed by another skill or pipeline. - Token prices are sourced live from Fibrous. Values are approximate and reflect DEX prices, not CEX quotes.
- Chains with zero holdings are automatically hidden.
- DeFi positions (Aave V3) are included if the user has any collateral or debt on Base.
Commands
npx fibx@latest portfolio [--json]
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
json |
flag | Output as JSON | No |
Output
Table Mode (default)
Displays chain-grouped token holdings with USD values, Aave V3 DeFi positions (if any), and a total portfolio value.
JSON Mode (--json)
{
"wallet": "0x...",
"chains": [
{
"chain": "base",
"totalUsd": 205.48,
"assets": [
{ "symbol": "ETH", "balance": "0.0042", "price": 2350.0, "usdValue": 9.87 },
{ "symbol": "USDC", "balance": "125.50", "price": 1.0, "usdValue": 125.5 }
]
}
],
"defi": [
{
"protocol": "Aave V3",
"chain": "base",
"collateralUsd": 500.0,
"debtUsd": 200.0,
"healthFactor": "2.50",
"netUsd": 300.0
}
],
"totalUsd": 517.98
}
Examples
User: "Show me my portfolio"
npx fibx@latest portfolio
User: "What's my total net worth?"
npx fibx@latest portfolio
User: "Get my portfolio as JSON"
npx fibx@latest portfolio --json
Error Handling
| Error | Action |
|---|---|
Not authenticated |
Run authenticate-wallet skill first. |
Network error |
Retry once. If persistent, use config to set custom RPC. |
Rate limit / 429 |
Use config skill to set a custom RPC. |
Related Skills
- Use
balancefor detailed single-chain balances without USD values. - Use
aaveto manage individual DeFi positions shown in the portfolio. - Use
tradeto rebalance assets across tokens. - Use
configto set a custom RPC if you encounter rate limit errors.