Uniswap V3 LP Position Tracking: A Position Is an NFT, Not a Balance (2026)
Uniswap V3 LP Position Tracking: A Position Is an NFT, Not a Balance (2026)
Reviewed by Wag3s Editorial Team — verified against the Uniswap V3 concentrated-liquidity model (NFT positions, price ranges, separately-accrued fees) · Last reviewed May 2026
Uniswap V3 LP Position Tracking: A Position Is an NFT, Not a Balance
Uniswap V2 gave you a fungible LP token you could read like a balance. V3 does not: a position is a unique NFT with a price range, earning fees only in range, with a composition that moves with price. A balance-based tracker cannot represent it. This guide is the V3 model and how to track it.
TL;DR
- A V3 LP position is a non-fungible NFT, not a fungible LP token — no single ERC-20 balance represents it.
- It earns fees only while the price is in its range; out of range it stops earning and skews to one asset.
- The two-asset split is not fixed — it rebalances with price within the range.
- Fees accrue separately and must be collected — not auto-compounded into principal.
- Follow the position-NFT lifecycle (mint / modify / collect / burn), not a balance.
- Tax is jurisdiction-specific — track mechanics, confirm tax separately. Same decomposition discipline as #141.
A position is an NFT with a range
In Uniswap V2 an LP position was a fungible LP token — readable like a balance. In V3, a position is a non-fungible NFT: a distinct token with its own price range and its own accrued, uncollected fees. There is no single ERC-20 balance that represents it. Tracking must therefore follow the position-NFT identity through its lifecycle — mint, modify, collect, burn — not read a fungible balance. This is the object-identity discipline applied to liquidity.
Range decides everything
A V3 position only earns fees while the current price is within its range. Consequences for tracking:
- In range → earning fees; underlying is a price-dependent mix of the pair.
- Out of range → stops earning; composition skews toward one asset.
A tracker that ignores in-range/out-of-range state misreads both the fee accrual and the asset mix. Range is not a detail — it is the position's economic state.
The two-asset split moves
The position's underlying is not a fixed pair of amounts. As price moves within the range, the position rebalances between the two assets; out of range it can be entirely one asset. So "the position holds X of A and Y of B" is only valid at a point in time and must be recomputed as price moves — the impermanent-loss/rebalancing effect, made explicit by the range.
Fees are separate
Accrued fees in V3 are tracked separately and must be explicitly collected — they are not auto-compounded into the position's principal. A tracker must:
- capture uncollected accrued fees as their own component;
- treat collect as its own event;
- not assume fees are inside the position's principal amounts.
Folding fees into principal (or missing them until collect) is the recurring V3 error — the same "separate the reward stream" rule as yield farming tracking.
Tax is jurisdiction-specific
Whether mint, modify, collect, or burn is a taxable event — and how fee income is treated — is framework- and jurisdiction-specific and must not be assumed (see cost-basis methods). The NFT/range/fee mechanics are the tracking layer; the tax characterisation is a separate, adviser-confirmed question.
Practical guidance
- Model the position as an NFT, not a fungible LP balance — follow its lifecycle.
- Track in-range/out-of-range state — it drives fees and composition.
- Recompute the two-asset split as price moves; it is not static.
- Capture uncollected fees separately; treat collect as its own event.
- Confirm tax treatment of mint/modify/collect/burn per jurisdiction.
- Reconcile the position-NFT to the protocol with an audit trail.
How vendor tools handle Uniswap V3
Koinly and Zerion model V3 NFT positions. Confirm the tool tracks the position-NFT lifecycle (not a fungible balance), reflects in/out-of-range state and the moving asset split, and captures uncollected fees separately — treating a V3 position like a V2 LP token is the structural error.
How Wag3s helps
Wag3s Folio models each Uniswap V3 position as an NFT through its mint/modify/collect/burn lifecycle, reflects in-range/out-of-range state and the price-dependent asset split, captures uncollected fees as a separate component, and surfaces the data for the jurisdiction-specific tax characterisation. See the Folio product page.
Further reading
- DeFi Position Reconciliation
- Liquidity Pool Accounting
- Pendle PT/YT Tracking
- Yield Farming Tracking
- Crypto Cost Basis Methods 2026
- DeFi Lending Position Tracking
Sources
- Uniswap V3 — concentrated liquidity; a liquidity position is a non-fungible position (NFT) with a price range
- A V3 position earns fees only while the price is within its range; the underlying asset split shifts with price
- Accrued fees are tracked separately and must be explicitly collected (not auto-compounded into principal)
Lido stETH vs wstETH Tracking: The Rebase Is the Whole Problem (2026)
stETH is a rebasing token — your balance grows daily as staking rewards accrue. wstETH is non-rebasing — the balance is fixed and value rides an increasing exchange rate. Why the rebase is a stream of balance changes a portfolio must characterise, and why wstETH moves the same value into a price.
Pendle PT/YT Tracking: One Asset Split Into Two, With a Clock (2026)
Pendle splits a yield-bearing asset into a Principal Token and a Yield Token. PT redeems 1:1 for the underlying at maturity and trades at a discount before; YT carries the future yield and decays to zero at maturity. Why PT+YT is a time-bound decomposition a portfolio must not value at par early.
Every chain, integration, and competitor mentioned in this article gets its own page — coverage detail, comparison signals, and the audit trail your finance team needs.
- Chain
Base
Coinbase L2 with USDC-native treasury flows.
View page - Integration
Uniswap
V2 / V3 / V4 swap and LP decoding.
View page - Chain
Ethereum
ERC-20, DeFi, gas, restaking — the largest ecosystem.
View page - Chain
Solana
SPL tokens, native stake, Jupiter, Metaplex NFTs.
View page - Integration
NetSuite integration
Mid-market and enterprise crypto subledger.
View page - Integration
QuickBooks integration
SMB GL with daily JE sync.
View page