Skip to content

Portfolio Tracker

Portfolio dashboard — real-time balance, P&L, positions across chains. The PortfolioTracker tracks wallet balances, token holdings, and calculates total portfolio value across multiple chains.


Classes

  members:
    - get_summary
    - get_history
    - get_pnl
  show_root_heading: true
  show_source: true

  members:
    - to_dict
  show_root_heading: true
  show_source: true

  members:
    - to_dict
  show_root_heading: true
  show_source: true

  members:
    - to_dict
  show_root_heading: true
  show_source: true

Usage

Get Portfolio Summary

```python from web3_agent_kit import PortfolioTracker, Wallet, Chain, ChainManager chain_manager = ChainManager(chains=[Chain.ETHEREUM, Chain.BASE, Chain.ARBITRUM]) wallet = Wallet.from_env("PRIVATE_KEY", chain_manager=chain_manager) tracker = PortfolioTracker(chain_manager, wallet) summary = tracker.get_summary() print(summary)

📊 Portfolio: 0x1234...

💰 Total Value: $12,345.67

🔗 ETHEREUM: $8,000.00

Native: 1.5000 ETH ($5,250.00)

USDC: 2750.0000 ($2,750.00)

```

Track P&L

```python

Take initial snapshot

tracker.get_summary()

... time passes ...

Take another snapshot

tracker.get_summary()

Calculate P&L

pnl = tracker.get_pnl() print(f"P&L: ${pnl['pnl_absolute']:.2f} ({pnl['pnl_percent']:.1f}%)") ```

Export as JSON

python summary = tracker.get_summary() data = summary.to_dict() import json print(json.dumps(data, indent=2))


Known Tokens

The tracker automatically detects these tokens: | Chain | Tokens | |-------|--------| | Ethereum | WETH, USDC, USDT, DAI, WBTC, LINK, UNI | | Base | WETH, USDC, USDbC, DAI, AERO | | Arbitrum | WETH, USDC, USDT, ARB, GMX |