Portfolio Overview & Optimization
Display a comprehensive DeFi portfolio dashboard aggregating token balances, staking positions, Troves vault positions, Endur liquid staking (LST), lending positions, DCA orders, and confidential Tongo balances — all with USD valuations. Rebalance the portfolio to a target allocation via automated batch swaps.
Prerequisites
- Active session required.
- For rebalancing: sufficient token balances + gas for batch swap transactions.
Rules
- Use
portfolioas the FIRST command when the user asks "what do I have?" or wants an overall assessment. - The
portfoliocommand is read-only — it never modifies any on-chain state. - USD prices are sourced from the StarkZap SDK and may have slight variations.
- For
portfolio-rebalance, ALWAYS use--simulatefirst to preview the plan before executing. - Target allocations must sum to 100%. If they don't, inform the user and ask them to adjust.
- After rebalancing, run
portfolioagain to confirm the new allocation.
Commands
Portfolio Dashboard
npx starkfi@latest portfolio [--json]
Portfolio Rebalance
# Rebalance to target allocation
npx starkfi@latest portfolio-rebalance --target "<allocation>" [--slippage <n>] [--simulate] [--json]
Parameters
portfolio
| Parameter | Type | Description | Required |
|---|---|---|---|
--json | flag | Output as JSON | No |
portfolio-rebalance
| Parameter | Type | Description | Required |
|---|---|---|---|
--target | string | Target allocation (e.g. "50 ETH, 30 USDC, 20 STRK") | Yes |
--slippage | number | Slippage tolerance % (default: 1) | No |
--simulate | flag | Preview plan without executing | No |
--json | flag | Output as JSON | No |
Target allocation format: Comma-separated <percentage> <token> pairs that sum to 100.
Dashboard Sections
The portfolio displays seven sections:
- Token Balances — STRK, ETH, and all ERC-20 tokens with non-zero balances and their USD values.
- Staking Positions — Active stakes across all validators/pools with pending rewards. Shows unpooling amounts and cooldown dates when exit intents are active.
- Lending Positions — Active Vesu V2 positions: supplied and borrowed amounts with pool details.
- DCA Orders — Active Dollar-Cost Averaging recurring swap orders.
- Confidential Tongo Balance — Private active and pending balances under Tongo Cash.
- Troves Vault Positions — Active deposits in Troves DeFi yield strategies with current value and APY.
- LST Positions — xSTRK holdings from Endur liquid staking with current STRK value and yield accrued.
Examples
User: "Show me my portfolio"
npx starkfi@latest portfolio
User: "What's my total value on Starknet?"
npx starkfi@latest portfolio
User: "Get my portfolio as JSON for analysis"
npx starkfi@latest portfolio --json
User: "Rebalance to 50% ETH, 30% USDC, 20% STRK"
# 1. View current allocation
npx starkfi@latest portfolio
# 2. Preview the rebalance plan
npx starkfi@latest portfolio-rebalance --target "50 ETH, 30 USDC, 20 STRK" --simulate
# 3. Execute after user confirms
npx starkfi@latest portfolio-rebalance --target "50 ETH, 30 USDC, 20 STRK"
npx starkfi@latest tx-status <hash>
# 4. Verify new allocation
npx starkfi@latest portfolio
User: "I want 60% ETH and 40% STRK"
npx starkfi@latest portfolio-rebalance --target "60 ETH, 40 STRK" --simulate
User: "Optimize my portfolio with 2% slippage"
npx starkfi@latest portfolio-rebalance --target "50 ETH, 30 USDC, 20 STRK" --slippage 2
Error Handling
| Error | Action |
|---|---|
Not authenticated | Run authenticate-wallet skill first. |
Partial failure | Some sections may show errors while others succeed. The portfolio uses fault-tolerant aggregation. |
Network error | Retry once. Use config to set custom RPC. |
Invalid allocation | Ensure target percentages sum to 100 and token symbols are valid. |
Rebalance failed | Check balances, ensure tokens have sufficient liquidity on supported providers. |
Insufficient balance | Not enough tokens to execute swaps — check balance first. |
Related Skills
- Use
balancefor a focused view of token balances only. - Use
stakingstake-statusfor detailed staking positions. - Use
lendinglend-statusfor detailed lending positions. - Use
lendinglend-monitorto monitor health factors across lending positions. - Use
dcadca-listto view active DCA orders. - Use
trovestroves-positionfor detailed vault positions. - Use
lstlst-positionfor detailed liquid staking positions. - Use
tradeif you need to swap a single token pair (not full rebalance).