I was checking a Uniswap pool at 2 a.m. once and realized I had no clear view of what I’d actually earned versus what I’d left tied up. Oof. That feeling — a jumble of curiosity and low-level panic — is why I wrote this.
Short version: tracking LP positions and yield farms is doable, but you need a repeatable workflow. Long version: it takes a mix of on‑chain sleuthing, the right dashboards, and a little bookkeeping to make sense of APR vs. realized P&L, impermanent loss, and reward token mechanics.
Here’s a practical guide shaped by real DeFi scrambles — the lessons I wish I’d had earlier.

Why single‑view tracking matters (and what usually goes wrong)
People think portfolio trackers are just about price ticks. Nope. What matters for LPs and farmers is: token exposure, share of pool, earned rewards, accrued fees, and the timing of entry/exit — all of which affect realized returns. Mistakes I see all the time: counting rewards at current price as profit, ignoring accrued but unclaimed rewards, or losing track of pool versions when protocols migrate (Uniswap v2 → v3 vibes).
Two quick examples: if you add to a pool during high volatility, you might lock in a worse position than you expect. And if you auto‑compound rewards, your “nominal APY” might look great — until gas eats the upside on small harvests. These are the wrinkles that turn a sexy APY number into a mediocre outcome.
Core signals to monitor
Track these continuously:
- LP token balance and the underlying token composition (not just dollar value)
- Pool TVL and depth (thin pools amplify impermanent loss and slippage)
- Unclaimed reward balances and reward token liquidity
- Transaction history by type — adds, removes, swaps, claims — so you can attribute realized vs. unrealized P&L
- Protocol contract upgrades or migration notices
- Fee tier changes or reward schedule changes
Why these? Because they let you split questions like: “Did I make X from swap fees?” vs. “Did token price movement drive the gains?”
Practical toolkit and data sources
Start with a read‑only approach. Keep private keys offline and use watch addresses or provider APIs. For day‑to‑day: block explorers (transaction and event logs), The Graph subgraphs for protocol state, and a solid portfolio UI for quick syntheses. For deeper dives: on‑chain event parsing, Dune or custom queries, and your own CSV ledger for cash flows.
If you want a single convenient place to look first, check the debank official site — their UI is handy for cross‑chain positions and gives a quick sense of LPs, farms, and protocol exposure.
Other useful assets (no links): Dune dashboards for historical analytics, The Graph subgraphs to pull pool snapshots, Etherscan/Polygonscan for raw logs, and Alchemy or Infura for RPC access. Combine them so UI + raw data = accuracy.
How I actually track an LP position (step‑by‑step)
1) Capture the entry transaction and tag it in a ledger: wallet address, timestamp, pool address, LP tokens received, and the underlying token amounts. This is the anchor for everything else.
2) Monitor emitted events for that LP token: Transfer events (for balance changes), Mint/Burn events on the pool (for adds/removes), and any RewardPaid or Claim events from farm contracts. This tells you what changed without guessing.
3) Convert rewards into a base accounting currency periodically (e.g., weekly), and record realized vs. unrealized changes. If you harvest, mark that as realized. If you don’t, leave it as accrued revenue but tag price at snapshot.
4) Calculate fees earned by using pool share * cumulative fees accrued between snapshots — some subgraphs expose fee accumulators, which helps a lot. If not, you can infer from pool reserves movement and swap volumes.
5) Reconcile on a monthly cadence: reconcile on‑chain balances with your tracker totals, adjust for wrapped/unwrapped token conversions, and verify there are no duplicate entries (approvals, migrations, etc.).
Dealing with tricky scenarios
Protocol migrations: when a farm migrates rewards to a new contract, make sure to track both the old and new claimable balances. Sometimes rewards are bridged or distributed as vesting streams — treat those as scheduled inflows, not immediate profit.
Impermanent loss (IL): don’t eyeball IL. Compute it: simulate holding the two tokens vs. holding them separately at the same entry timestamp. Many dashboards will show a rough IL estimate, but running your own calculation on actual entry prices is safer.
Reward token volatility: if rewards are paid in low‑liquidity tokens, their APY headline can be meaningless. Always check the market depth for reward tokens and consider immediate swaps vs. vesting if you need liquidity.
Automation and alerting
Set up these alerts:
- Large pool TVL changes or large single transfers in/out of pools you’re in
- New contract ownership changes or pending governance votes
- Reward schedule changes or reward token distribution pauses
- Wallet approvals for new contracts (unexpected approvals are a red flag)
Use webhook services with on‑chain watchers (Blocknative, Tenderly alerts, or simple RPC polling) to trigger Slack/Telegram alerts. Keep thresholds conservative so you don’t sleep through the alerts or ignore them from fatigue.
A realistic assessment of automation vs. hands‑on
Automate the boring parts: snapshots, reward conversions, and simple alerts. Stay hands‑on for decisions: rebalancing, exit timing, and interpreting migration notices. I’m biased toward being hands-on before moving large sums — bots are great but they follow rules, and DeFi throws novel curveballs every few months.
Privacy and safety notes
Never paste private keys into dashboards. Use watch‑only modes and ledger/Hardware wallets for any signing. For contract-heavy strategies, split capital: keep a small experimental wallet and a larger, conservative wallet. That way, when somethin’ weird happens, you have a containment zone.
FAQ
How do I calculate my true LP return?
Start with realized gains from claims + fees you’ve withdrawn. Add unrealized gains: your current LP share value minus your net contributions. Subtract impermanent loss by comparing to a buy‑and‑hold of underlying tokens at entry prices. It’s tedious, but that gives the cleanest picture.
Can I trust portfolio trackers for tax reporting?
Trackers are a starting point. They often misclassify migrations, bridges, or wrapped token swaps. Use raw on‑chain data to produce a ledger and consult a crypto‑savvy accountant for jurisdictional tax treatment.
How often should I rebalance or harvest?
Depends on gas, reward token liquidity, and APY. Small positions: less frequent, monthly or quarterly. Large positions: weekly or on specific thresholds. Always compare harvest gas cost vs. marginal reward gained.
