The spreadsheet problem
Every DeFi user I know has a spreadsheet. Mine had 14 tabs. It was updated manually. It was always wrong.
The problem: on-chain positions change every block. A spreadsheet updated once a day is financially useless.
What I built instead
A simple Next.js dashboard that:
- Connects to your Phantom wallet
- Reads all token balances via @solana/web3.js
- Fetches prices from Jupiter's price API
- Computes realized + unrealized P&L from transaction history
The whole thing runs in the browser. No backend. No database. Your wallet is your database.
The stack
@solana/web3.jsfor on-chain reads- Jupiter Price API for token prices
@solana/spl-tokenfor token account parsing- React + Recharts for the dashboard UI
Coming soon as part of ChainLedger โ follow the blog for updates.