DeFi·

Liquidity Pool Accounting: LP Tokens, Impermanent Loss & Tax

How to account for liquidity pool positions across Uniswap, Curve, and Balancer — LP token issuance, impermanent loss treatment, and the tax events you can't skip.
Author avatar Wag3s TeamEditorial team specializing in Web3 finance, crypto tax, and DAO operations. Based in Zurich, Switzerland.

Reviewed by Wag3s Editorial Team — verified against IRS, HMRC, and BMF guidance on DeFi · Last reviewed April 2026

Liquidity Pool Accounting: LP Tokens, Impermanent Loss & Tax

The first question most LPs ask is whether providing liquidity is taxable. The honest answer: it depends on jurisdiction, and most LPs underestimate how many distinct taxable events one position can produce. A simple Uniswap v2 deposit produces at least four taxable events over the life of the position. Concentrated liquidity (v3) and incentivized pools produce more.

This guide starts with the tax events because that's the question that drives most reader intent, then covers the accounting model underneath. If you only need the tax view, the next two sections cover it.

The four taxable events

Every LP position generates four distinct event types that may have tax consequences. The treatment varies by jurisdiction, but the events themselves are universal.

EventWhat happens on-chainLikely treatment (US)Likely treatment (UK)Likely treatment (DE)
DepositTwo tokens out, LP token inDisposal + acquisition (taxable swap)Disposal of original tokens (CGT event)Often non-taxable if no economic disposal
Fee claim / accrualFees grow inside the LP token, or claimed separatelyOrdinary income at receiptMiscellaneous income or CGT on disposalIncome at fair value (§22 EStG)
WithdrawLP token burned, two tokens outDisposal of LP token, acquisition of underlyingsCGT on disposalGenerally taxable swap
Rebalance / migratePosition moved to new contract or rangeOften a disposalOften a disposalCase-by-case

Note that this table reflects defensible interpretations, not settled law. The IRS has not issued specific guidance on LP tokens. HMRC's CRYPTO22600 series addresses DeFi but leaves many edge cases open. Germany's BMF letter from May 2022 is the most explicit, but its application to LP positions is still debated.

Treating deposit as a swap vs as a contribution

The most consequential question is whether depositing into a pool is a taxable disposal of the underlying tokens.

The "swap" view: you exchanged ETH and USDC for a different asset (the LP token). That's a disposal at fair market value. You realize gain or loss on each token at deposit, and your LP token has a new cost basis equal to the FMV of what you contributed.

The "contribution" view: depositing into a pool is economically similar to contributing capital to a partnership. You haven't sold anything. Your basis in the underlying carries through to your share of the pool. There's no taxable event until withdrawal.

US practitioners are split. Many follow the swap view by default because it's the safer audit position and matches the AICPA's broader treatment of token exchanges. The UK leans toward swap treatment under HMRC's guidance on "beneficial ownership" transfer. Germany has a more flexible standard: if the depositor retains economic exposure to the underlying assets, it can be argued that no disposal occurred.

You don't get to pick the treatment opportunistically. Choose one, document the rationale, apply it consistently.

What an LP position actually is, mechanically

Now the accounting view. When you provide liquidity to a Uniswap, Curve, or Balancer pool, three things happen in a single transaction:

  1. You transfer two (or more) tokens to a smart contract
  2. The contract issues you an LP token representing your proportional share of the pool
  3. Your LP token starts accruing trading fees as swaps happen against the pool

That LP token is the asset on your balance sheet. It's a claim on a basket of underlying assets, and the composition of that basket changes continuously as traders rebalance the pool. If you deposited 1 ETH and 3,000 USDC into an ETH/USDC 50/50 pool, you don't own "1 ETH and 3,000 USDC" anymore. You own a share of the pool, and that share will be paid out in whatever ratio the pool holds when you redeem.

This is the first conceptual gap with traditional accounting. You haven't held cash in escrow. You haven't lent assets out. You hold a derivative claim whose composition mutates without any explicit transaction touching your wallet.

LP token valuation: at deposit, monthly, at withdrawal

LP tokens don't have an obvious market price. There's no order book for a Uniswap v3 NFT or a Curve gauge LP token. Valuation has to be derived from the underlying.

At deposit. Use the FMV of the tokens you contributed. If you deposited 1 ETH at $3,200 and 3,200 USDC, your LP token's initial cost basis is $6,400. Record gas fees as a transaction cost.

Monthly (or whatever your reporting cadence). For balance-sheet purposes, mark the LP token to its underlying value. Pull the pool's current reserves, calculate your proportional share, and price each token at the reporting date. Trading fees accrued and not yet claimed are typically reflected in this number for v2-style pools, since they grow the value of the LP token directly.

At withdrawal. Compare the FMV of what you received (token A + token B + any unclaimed fees) against your LP token cost basis. The delta is your realized gain or loss. This is also the moment impermanent loss becomes real.

Impermanent loss: realized vs unrealized, how to track it

Impermanent loss is the difference between holding two tokens in your wallet versus holding them in a pool. If ETH doubles while you're providing ETH/USDC liquidity, the pool's automated rebalancing means you end up with less ETH than you started with. The "loss" is the gap between what you have and what you would have had if you'd held.

Two important points:

  1. Impermanent loss is not a deductible loss until it's realized. While the position is open, it's an unrealized economic effect. You can't claim it on your tax return.
  2. At withdrawal, impermanent loss is baked into your gain/loss calculation. You don't book it separately. If your LP token had a $6,400 basis and you withdrew $5,800 of underlyings, the $600 loss already incorporates impermanent loss, accrued fees, and price movement.

For management reporting, it's still useful to track impermanent loss separately. It tells you whether the position is earning enough in fees to compensate for the rebalancing drag. But for tax, it's part of the realized gain or loss, not a standalone line item.

Concentrated liquidity (Uniswap v3): different model, different headaches

Uniswap v3 broke the LP token model. Instead of a fungible ERC-20, your position is an ERC-721 NFT representing liquidity within a specific price range. This changes the accounting in three ways.

Each position is unique. Two LPs in the same pool with different ranges hold different assets. You can't aggregate v3 positions the way you'd aggregate v2 LP tokens.

Out-of-range positions earn nothing. When the price moves outside your range, your liquidity stops earning fees and converts entirely into the "wrong" token. This is concentrated impermanent loss, and it can be severe.

Fees are tracked separately from principal. v3 collects fees in the actual underlying tokens and holds them on the position contract. You can claim fees without removing liquidity. That makes fee accruals more visible and arguably more clearly "income at receipt" rather than "embedded in LP token value."

For accounting, v3 positions are generally easier to handle on the income side (fees are explicit) and harder on the principal side (each NFT needs its own cost basis tracking, and rebalancing into a new range is typically a taxable event).

Yield from fees: ordinary income or capital gain?

This is one of the murkiest questions in DeFi tax.

In v2-style pools, fees grow the value of your LP token. There's no separate event when fees accrue. When you withdraw, your gain over basis includes both price appreciation and accrued fees. Most US practitioners treat the entire withdrawal gain as capital gain (long or short term depending on holding period), because there's no clean way to separate fee income from price appreciation without simulating the pool's history.

In v3-style pools, fees are claimed explicitly. There's a clear "fee claim" transaction with a discrete dollar amount. Most defensible treatment: ordinary income at the time of claim, valued at the FMV of the tokens received. The claimed tokens then have a cost basis equal to that FMV for any subsequent disposal.

UK and German treatment leans more toward "miscellaneous income" or "income from other sources" for explicitly claimed fees. The mechanism for tracking is similar: record at FMV on claim date, treat as taxable in the period received.

Cross-chain LP positions and bridge complications

Many LPs deploy capital across chains. ETH/USDC on Uniswap mainnet, the same pair on Arbitrum, on Base, on Optimism. The accounting headache is the bridge.

When you bridge ETH from mainnet to Arbitrum, three interpretations exist:

  1. Same asset, different location: no taxable event, basis carries over
  2. Disposal + acquisition: you "sold" mainnet ETH and "bought" Arbitrum ETH at FMV
  3. Wrapping event: the bridged token is technically a different asset (a wrapped representation), so there may be a deemed disposal

Most jurisdictions haven't ruled on this. The conservative position is to treat bridges as non-events when the underlying asset is economically identical, and as disposals when the bridged token is a clearly distinct synthetic (like wstETH on a chain that doesn't have native staking). Document your interpretation and apply it consistently across all bridge transactions.

Sample journal entries for a Uniswap v3 position

Assume you deposit 5 ETH at $3,200 and 16,000 USDC into a Uniswap v3 ETH/USDC position with a tight range. Three months later, you claim $400 of accrued fees in mixed tokens, then close the position when ETH is at $3,600.

Deposit (treating as a swap):

Dr  LP NFT (asset)                32,000.00
Cr    ETH                                    16,000.00
Cr    USDC                                   16,000.00
Cr    Realized gain on ETH disposal              0.00   (if basis = FMV)

If your ETH basis was $14,000 (avg cost), you'd recognize $2,000 of gain on disposal and the credit lines change accordingly.

Fee claim three months later:

Dr  ETH                              250.00
Dr  USDC                             150.00
Cr    Fee income (ordinary)                     400.00

The new ETH and USDC sit on your books at $250 and $150 respectively as their cost basis going forward.

Position close at ETH = $3,600 (assume you receive 4.2 ETH and 16,800 USDC):

Dr  ETH                           15,120.00
Dr  USDC                          16,800.00
Cr    LP NFT                                  32,000.00
Dr    Realized loss on LP disposal                80.00

The $80 loss reflects the net of price gain on ETH (+$1,968 vs basis) minus the impermanent loss from the rebalance (you ended up with less ETH than you started with). In a real position, fees claimed earlier offset some of this drag.

These are illustrative. Real entries depend on your chart of accounts, jurisdictional treatment, and whether you're using GAAP, IFRS, or a tax-only basis.

FAQ

Q: Are auto-compounding vaults different? A: Yes. A Yearn or Beefy vault that compounds rewards into the LP position generates a stream of small reward-claim and re-deposit events. Each compound is potentially a taxable income event followed by a deposit event. Most accounting tools aggregate these for reporting, but the underlying treatment doesn't change.

Q: What about gauge rewards on Curve or Convex? A: Gauge rewards (CRV, CVX, etc.) are typically treated as ordinary income at receipt, valued at FMV on claim date. They're separate from the LP token's underlying fee accrual. If you re-stake them, you have a new cost basis equal to the income recognized.

Q: Do I need to value my LP position monthly? A: For tax purposes in most jurisdictions, no — only realized events matter. For management accounting, internal reporting, or audit purposes, yes. A Folio or Ledger setup will mark LP positions to fair value on whatever cadence you configure.

Q: How does Wag3s handle this? A: Wag3s Folio parses each protocol interaction, including LP deposits, fee claims, and withdrawals across Uniswap v2/v3, Curve, Balancer, and most major DEXs. It tracks LP token cost basis per position, computes impermanent loss for reporting, and classifies fee income separately from principal gains. For B2B teams running treasury through DeFi, Wag3s Ledger produces journal entries directly into your accounting stack.

Q: What if my jurisdiction hasn't issued LP guidance? A: Pick the most defensible treatment based on closest analogues (typically token swap rules), document your methodology, apply it consistently, and revisit when guidance arrives. The worst position is silent inconsistency — different treatments for similar transactions across periods.

Further reading

  • Wag3s Folio, LP-aware portfolio and tax tracking for active DeFi participants
  • Wag3s Ledger, accounting and journal-entry generation for finance teams running DeFi
  • DeFi Accounting, the broader framework for yields, swaps, and LP positions
  • Yield Farming Tracking, handling auto-compounding vaults and reward streams
  • IRS Notice 2014-21, foundational US guidance on virtual currency tax treatment
  • AICPA Practice Aid: Accounting for and Auditing of Digital Assets, current best-practice framework for crypto on financial statements

LP accounting sits at the intersection of unsettled tax law and rapidly evolving protocol design. The patterns here will hold for current AMM models. When the next generation of liquidity primitives lands, the principles transfer; the specific entries will not.

Editorial disclaimer
This article is informational and does not constitute accounting or tax advice. LP accounting and tax treatment are unsettled in many jurisdictions. Consult a qualified adviser familiar with DeFi.