Portfolio Widget
The Portfolio widget displays your cross-chain token holdings with real-time prices and enables instant selling across Solana and EVM chains.
Features
- Combined Cross-Chain View - "All" tab merges holdings from all chains
- Multi-Chain Support - Solana, Ethereum, BSC, Base, and Polygon
- Parallel Fetching - All chains load simultaneously for fast updates
- Instant Tab Switching - No refetch when switching chains (computed from cache)
- Chain Badges - Colored pills identify which chain each token is on
- Sort Controls - Sort by Value, P&L, or Chain in combined view
- Quick Sell - Sell tokens directly from the portfolio
- Entry Price Tracking - Set entry prices and track P&L per token
- Header Value - Total portfolio value displayed in the app header
Requirements
To use the Portfolio widget, unlock at least one terminal wallet:
- Solana wallet — for SOL chain holdings
- EVM wallet — for Ethereum, BSC, and Base holdings
Wallets are managed in Settings → Trading Accounts.
Combined View ("All" Tab)
The default "All" tab shows holdings from every chain with a wallet:
- Holdings are merged and sorted by USD value (default)
- Each token shows a colored chain badge (e.g., purple for Solana, blue for Ethereum)
- Tokens with the same symbol on different chains appear as separate rows
- Sort buttons let you reorder by Value, P&L, or Chain
- A card / table view toggle switches the holdings layout
Per-Chain Tabs
Click any chain tab to filter to just that chain's tokens. Tab switching is instant — data is already cached from the initial parallel fetch.
Each tab shows:
- A loading spinner while that chain is fetching
- An error icon if fetching failed (other chains still display)
Holdings Display
Each token row shows:
- Token Symbol — clickable link to block explorer
- Chain Badge — colored pill in "All" view (SOL/ETH/BSC/BASE)
- Balance — number of tokens held
- USD Value — current total value
- Per-Token Price — shown as
@ $84.09when no entry price is set - P&L % — shown when an entry price is set
Entry Prices
Click any token row to expand it, then:
- Click Set to enter your buy price
- P&L is calculated as
(current - entry) × balance - Entry prices persist in localStorage across sessions
Quick Sell
Instantly sell tokens using the quick sell buttons:
| Button | Action |
|---|---|
| 25% | Sell 25% of holdings |
| 50% | Sell 50% of holdings |
| 75% | Sell 75% of holdings |
| 100% | Sell entire position |
How It Works
Solana tokens:
- Click a percentage button → Jupiter quote → sign & send → receive USDC
EVM tokens (ETH/BSC/Base):
- Click a percentage button → 0x quote → token approval (if needed) → sign & send → receive native token (ETH/BNB)
In the "All" view, quick sell automatically detects which chain the token is on and uses the correct swap route.
Quick sell uses market orders with slippage. For large positions, consider the Swap widget for better price control.
On-Chain TP / SL
Expand a holding to attach a client-side take-profit or stop-loss: set a trigger price and a sell percentage, and the on-chain order engine fires a quick-sell through the Swap engine when the token's price crosses the trigger. Active TP/SL show on the holding with a one-click cancel. This is how buys made from Trenches or the News Feed get bracketed after the fill.
Header Portfolio Value
The app header shows your total portfolio value at a glance:
- Compact format —
$12.3K,$1.2M, etc. - Click to expand — dropdown with per-chain breakdown and chain-colored labels
- Wallet status — shows "Locked" with a lock icon when wallets exist but aren't unlocked
- Hidden when empty — shows
$0.00only when wallets are unlocked but have no holdings
Settings
Click the Settings gear icon to customize sell percentages:
- Enter percentage values (comma-separated)
- Click Save to apply
- Percentages persist across sessions
Info bar shows which swap router is used per chain:
- SOL → Jupiter (→ USDC)
- EVM → 0x (→ native token)
Data Sources
- Helius DAS API — Solana token metadata and balances
- EVM Portfolio API — ERC-20 balances via chain RPCs
- Jupiter / DexScreener — Token prices
- 0x — EVM swap quotes and execution
For best results on Solana, configure a Helius API key in your environment variables.
Troubleshooting
Tokens Not Showing
- Ensure at least one wallet is unlocked
- Check that tokens have a value > $1
- Click the refresh button to re-fetch all chains
One Chain Shows Error
- Other chains will still display normally
- The failed chain tab shows an error icon
- Click refresh to retry all chains
Sell Failed
- Check wallet has enough native token for gas fees (SOL / ETH / BNB)
- Ensure sufficient token balance
- For EVM tokens, approval may be needed first (handled automatically)