What Most Trackers Get Wrong About Liquidity Pool Positions
Your liquidity pool position has four numbers most trackers collapse into one. Here's what they miss about LP tokens, impermanent loss, and accrued fees, and what it costs you.
You provided liquidity to a Uniswap pool six months ago. Your tracker shows the LP token in your wallet and a current dollar value next to it. That's it.
What it doesn't show is everything that makes the position interesting. The composition of the underlying assets has changed. Trading fees have accumulated, in different ways depending on which protocol version you used. Your position has experienced impermanent loss relative to just holding the assets. And the cost basis of the tokens you'll receive when you exit depends on a tax interpretation the IRS hasn't formally resolved.
If you're using your tracker to make decisions, you're working with one number where four matter. Here's why.
Why LP Positions Are Harder to Track Than Other Crypto
When you buy 1 ETH on Coinbase and hold it, your tracker has a clean job. Acquisition price, current price, holding period. Three numbers, all in one place.
A liquidity pool position breaks every assumption that makes simple tracking work.
The position rebalances on its own. Every time someone trades against the pool you provided liquidity to, your share of the underlying assets changes. You deposited equal value of ETH and USDC. After a price move, you might hold a different ratio. You didn't make those trades. The pool did, and your share rebalanced as a result.
Fees accumulate differently depending on the protocol version. On Uniswap V2, swap fees stay in the pool and grow the value of your existing LP tokens. There's no separate fee balance to claim because the fees are already embedded in what your LP token will redeem for. On Uniswap V3, fees are tracked separately from your liquidity position and must be explicitly collected via the contract, either through a standalone collect call or as part of withdrawing liquidity. Generic trackers handle both versions but rarely separate the fee component from the price-driven changes in the underlying assets, which makes it hard to see what your position has actually earned.
The same position can mean different things on different protocols. Uniswap V2 pools rebalance across the full price range. V3 pools concentrate liquidity in a chosen range and behave differently when prices move outside that range. Curve stable pools have different math. Balancer supports multiple assets at custom weights. A “liquidity pool position” isn't one product, it's a category of products with different mechanics.
This is why generic crypto trackers struggle with the deeper picture of LP positions. Most major trackers do recognize LP tokens and show their dollar value, sometimes with the underlying token composition. What they don't typically surface is the comparison against just holding, plus other context like impermanent loss attribution and how the cost basis carries through deposit and withdrawal. A wallet dashboard tells you what's there. It doesn't tell you what it's actually worth as a decision. For a broader look at tracking DeFi positions across protocols, including why balance viewers and portfolio trackers capture different things, see our DeFi tracking guide.
The Four Numbers Your LP Position Actually Has
To make a real decision about your LP position, you need to know:
1. The current underlying composition.
Your share of the pool right now in terms of the actual tokens. If you deposited 1 ETH and 3,000 USDC into a 50/50 ETH/USDC pool, and ETH has since doubled, your share is now approximately 0.71 ETH and 4,243 USDC, plus a small amount more from accumulated fees. The asset mix is meaningfully different from what you put in, and as we'll see in the worked example below, the total value can be lower than if you had just held the original tokens. If you're trying to track ETH exposure across your portfolio, the LP token alone hides this.
2. Accrued trading fees.
Fees from trades against the pool. On V2 these stay in the pool, growing the underlying assets your LP token represents. On V3 they accrue separately and you have to claim them. Either way, the fees you've earned are part of your position's actual return, separate from the underlying asset value movement. Most generic trackers don't surface them as a separate line.
3. Performance vs holding.
The opportunity cost of providing liquidity instead of just holding the assets, commonly called impermanent loss. The “impermanent” name reflects that the loss is unrealized while you stay in the pool. If prices return to your deposit ratio, the IL disappears. The loss only becomes locked in when you withdraw at any price ratio different from your deposit. To know whether your LP position is actually profitable, you have to compare its current value (including any fees earned) to what you would have if you had just held. That comparison requires tracking the underlying prices through the holding period, not just the LP token's current value.
4. The cost basis treatment when you exit.
When you withdraw from the pool, you receive different amounts of the underlying tokens than what you put in. There's an open tax question about whether the original deposit was a “disposition” of your tokens or just a deposit. The IRS has not issued specific guidance on liquidity pools, and tax practitioners take different positions. Some treat the deposit as a taxable exchange (you gave up ETH and USDC, received an LP token, and the cost basis on tokens received at exit starts fresh). Others treat the LP token as a receipt and carry your original basis through. The position you take affects every future decision on those tokens. For a full breakdown of how DeFi cost basis works across protocol interactions including LP deposits and withdrawals, see our DeFi cost basis guide.
A Worked Example
You deposited into the Uniswap V2 ETH/USDC pool when ETH was at $3,000. You provided 1 ETH and 3,000 USDC, total value $6,000. You received an LP token in return.
Six months pass. ETH is now at $6,000, the pool has seen plenty of trading volume, and you decide to check on your position.
Your tracker shows a current LP value somewhere around $8,500 to $9,200, depending on how much fee revenue the pool has accumulated and whether the tracker is reading reserves correctly. Either way, it's a single number with no breakdown.
Here's what's actually happening underneath.
The pool's automated rebalancing has shifted your share. Because ETH went up, arbitrageurs traded ETH out of the pool and USDC in until the pool's price matched the external market. Using the constant product formula (x × y = k), if no fees had accrued, your share at the new price would be approximately 0.71 ETH and 4,243 USDC. That redeems for about $8,485 at current prices.
If you had simply held the original 1 ETH and 3,000 USDC, your portfolio would now be worth $6,000 (the ETH at $6,000) plus $3,000 (the USDC), or $9,000.
So the IL-isolated baseline (the LP value attributable just to price movement and rebalancing) is about $8,485 versus $9,000 if you'd held. That's an impermanent loss of approximately $515, or 5.7%, which matches the standard IL formula for a 2x price move on a 50/50 pool.
On top of that, V2 fees accumulate by growing the pool's reserves. Your LP token's actual redemption value is the IL baseline plus your share of the fees the pool has collected since you deposited. If those fees added $700 to your share, your total LP value is around $9,185, or $185 better than holding. If they added $200, your total is $8,685, or $315 worse than holding.
The point isn't whether this specific position made money. The point is that the single LP value number tells you almost nothing about the actual return. Behind that number is impermanent loss against holding, fee income that may or may not offset it, and a different asset composition than you started with.
If you withdraw now, you receive ETH and USDC in the same proportions you'd expect from the IL-isolated calculation, but the absolute amounts are slightly higher because accumulated fees have grown the pool. It all comes out as a single redemption with no breakdown of what's principal, what's IL, and what's fee income.
V3 Adds Another Layer
Uniswap V3 introduced concentrated liquidity. Instead of providing liquidity across the entire price range like V2, you choose a specific range where your liquidity is active.
This makes V3 positions more capital efficient when prices stay in range, but it adds complexity:
When the price moves outside your range, your position becomes 100% one asset. If you provided liquidity in the ETH/USDC pool with a range of $3,000 to $5,000 and ETH moves to $6,000, your position is now 100% USDC. You stopped earning fees the moment the price exited your range.
Fees don't auto-compound. On V3 you have to explicitly collect trading fees, either through a standalone collect transaction or as part of withdrawing your liquidity. Until you do, they sit separately from your principal liquidity. A tracker that shows your LP position's current value without surfacing unclaimed fees is hiding income you've already earned.
Each V3 position is unique. Two people who provided the same amount of liquidity to the same pool can have wildly different returns based on their chosen range. A V3 LP position can't be tracked with the same logic as a V2 position.
Most generic trackers show V3 position value and unclaimed fees but stop short of the deeper analytics V3 needs. Whether your position is currently in range matters for whether you're earning anything at all. Whether your fee income is keeping up with impermanent loss matters for whether you should stay in. Neither is information you can get from a dashboard reading your token balance.
What “Tracking an LP Position Correctly” Actually Means
A tracker that handles LP positions properly does several things at once.
First, it reads the pool contract to determine your current share of the underlying assets rather than just showing the LP token balance. For V3, that means reading your specific position's range and whether it's currently active.
Accrued fees get tracked explicitly. For V3, uncollected fees are separated from principal so you can see what the position has earned vs what's just market movement on the underlying assets.
A “vs holding” benchmark runs continuously, so you can see whether the LP position is actually outperforming a simple hold strategy. This is the number that tells you whether to stay in or exit.
And cost basis on the deposit and withdrawal cycle is handled consistently, so when you eventually sell the tokens you receive on exit, the basis follows whatever tax position you've adopted.
This isn't a feature that wallet dashboards or tax software prioritize. Wallet dashboards optimize for showing what you have right now. Tax software optimizes for producing an annual report. Continuous LP tracking sits in between. The same gap applies to lending position tracking on Aave and Compound, where receipt token mechanics and silent interest accrual create their own category of tracker failures.
LP positions have four numbers. Cryptofolio tracks all of them.
Cryptofolio tracks liquidity pool positions with full underlying asset visibility, separate fee accrual, and consistent cost basis treatment through every deposit and withdrawal.
Why This Matters for Decision-Making
The cost of bad LP tracking isn't just messy taxes. It's bad decisions made on incomplete information.
If you don't know your position's vs-holding performance, you can't tell whether your LPing strategy is actually working. You might be earning fees but losing more to impermanent loss than you realize, and the LP token's price appreciation hides it.
Underlying asset composition matters too. Someone who deposited 50/50 into an ETH/USDC pool when ETH was $3,000 has very different ETH exposure today depending on which way the price moved. Your portfolio's “ETH exposure” line is wrong if it doesn't include the ETH inside your LP positions.
And inconsistent cost basis handling across deposits and withdrawals means every future sale of those tokens will use a number that doesn't match your filed tax position. That compounds across your entire portfolio over time.
LP positions reward attention. Tracker tools that abstract them into a single dollar value strip the attention they need.
The Bottom Line
A liquidity pool position isn't one number. It's at minimum four: the current underlying composition, accrued fees, performance versus holding, and the cost basis treatment when you exit.
Most crypto trackers show you one of those four well. Specialist tools like Revert and APY.Vision can do two or three for V3 positions, but combining all four with continuous cost basis through deposits and withdrawals is rare across the category.
If you're providing liquidity, the question to ask your portfolio tracker isn't “does it support DeFi” or “does it show my LP token.” It's whether it can tell you what's actually happening inside the pool, and whether it can carry the cost basis treatment through a deposit and withdrawal cycle without breaking it.
Most can't. That's where Cryptofolio comes in.
Disclaimer: This article is for informational purposes only and does not constitute legal, tax, financial, or investment advice. Cryptocurrency tax rules are complex, depend on your specific situation, and are subject to frequent regulatory changes. The tax treatment of liquidity pool deposits and withdrawals remains unsettled, and different tax professionals may take different positions. Consult a qualified professional for advice on your individual circumstances.