W3G/
๐ŸงพCrypto Tax
๐ŸงพCRYPTO TAX
Medium8 min readMar 17, 2026

How DeFi Taxes Actually Work: Staking, Yield, and LP Positions Explained for Real

Most DeFi users misclassify staking rewards, LP income, and yield tokens. This guide covers the actual tax treatment and where the common assumptions break.

What you'll learn
โ†’Distinguish staking reward types for correct classification
โ†’Identify taxable events inside liquidity pool mechanics
โ†’Track cost basis through wrapped and receipt tokens
โ†’Avoid the most common DeFi tax reporting errors

Most DeFi tax guides tell you "staking rewards are taxed as income." That's not wrong, but it's incomplete enough to cost you money or trigger an audit. The real complexity is in the mechanics: when exactly the taxable event occurs, how to handle receipt tokens, what happens inside an LP position rebalance, and why your cost basis is probably wrong if you're tracking it manually. This guide covers the tax layer most people skip โ€” the one that sits between "I used DeFi" and "I filed correctly."

This article addresses U.S. federal tax treatment. Other jurisdictions differ significantly. The IRS has issued limited direct guidance on DeFi; much of this relies on existing tax principles, IRS notices (particularly Notice 2023-34 on staking), and professional consensus. Where treatment is genuinely unsettled, this guide says so.

01

Staking Rewards Are Income โ€” But the Trigger Point Is Disputed

You probably know staking rewards are treated as ordinary income. The open question is when. The IRS addressed this partially in Revenue Ruling 2023-14, which confirmed that staking rewards for cash-method taxpayers are included in gross income when the taxpayer gains "dominion and control" โ€” meaning when you can sell, exchange, or otherwise dispose of the tokens. For most proof-of-stake chains like Ethereum, that's the moment rewards hit your wallet or become claimable.

The nuance matters because not all staking works the same way. When you stake ETH through Lido, you receive stETH, a liquid staking token that rebases daily. Your stETH balance increases every day to reflect earned rewards. Each rebase is arguably a receipt of new income. Contrast that with Rocket Pool's rETH, which doesn't rebase โ€” instead, rETH's exchange rate against ETH increases over time. You don't receive new tokens; your existing tokens become worth more. The tax treatment likely differs: stETH rebases look like periodic income events, while rETH appreciation may only be taxed at disposition as a capital gain.

This distinction is not settled law. But it directly affects whether you owe income tax continuously or only when you sell. The conservative approach โ€” and the one most tax professionals recommend โ€” is to treat rebase increases as income at fair market value on the day received.

  • Lido stETH: balance increases daily via rebase โ†’ each increase is likely ordinary income at FMV that day
  • Rocket Pool rETH: no new tokens received โ†’ likely capital gain only on sale, but some advisors disagree
  • Native Ethereum staking (solo validator): rewards accrue on the Beacon Chain โ†’ income when withdrawn or when dominion-and-control is established
  • Coinbase cbETH: similar to rETH โ€” exchange-rate model, not rebase

โš  Common mistake: Treating all staking mechanisms identically. If you hold stETH and rETH, applying the same tax logic to both is almost certainly wrong. Check whether your staking token rebases (balance changes) or appreciates (price changes) โ€” the tax treatment follows from that mechanical difference.

Rebase Tokens (stETH, aTokens)
Exchange-Rate Tokens (rETH, yVault)
โœ“Token balance increases daily
โœ“Token balance stays constant
โœ“Each rebase likely triggers ordinary income
โœ“Value per token increases over time
โœ“Must track FMV on each rebase date
โœ“Tax may be deferred until sale
โœ“More frequent taxable events
โœ“Simpler tracking, fewer taxable events
02

Receipt Tokens and the Deposit Question

When you deposit ETH into Lido and receive stETH, is that a taxable event? The standard explanation says no โ€” it's like-kind or simply a deposit. What's actually happening is murkier. You're exchanging one asset (ETH) for a different asset (stETH) that trades at a slightly different price, has different smart contract risk, and is issued by a different protocol. Under U.S. tax law, an exchange of one crypto asset for another is generally a taxable disposition.

That said, many tax professionals treat the deposit as a non-taxable event, arguing it's analogous to depositing dollars into a bank โ€” you're not selling, you're wrapping. The IRS hasn't ruled definitively on this. The safest approach: track the cost basis of your original ETH, carry it over to stETH, and note the date. If the IRS later rules the swap is taxable, you'll have the data. If they don't, no harm done.

The same logic applies to Aave aTokens, Compound cTokens, and Yearn yVault tokens. Each time you deposit USDC into Aave and receive aUSDC, you've entered a gray zone. The practical difference: aUSDC rebases (balance increases), while yVault tokens use the exchange-rate model. Track them accordingly.

โš  Common mistake: Ignoring receipt tokens entirely in your tax records. Even if the deposit isn't taxable, you need the cost basis of the receipt token for when you eventually withdraw or sell. If you skip this step, your capital gains calculation at exit will be wrong.

03

Yield Farming: Every Claim Is a Taxable Event

Yield farming income โ€” the COMP, SUSHI, or ARB tokens you claim from protocol incentive programs โ€” is ordinary income at the fair market value at the moment you claim. Not when it accrues. Not when you sell. When you execute the claim transaction and the tokens land in your wallet.

This is one area where the IRS position is relatively clear and aligns with how most tax software handles it. The complexity comes from the volume: if you're farming across Convex, Aura, and Pendle, you might have dozens of claim events per month across multiple tokens. Each one needs a timestamp, a USD value at that timestamp, and a record of the token quantity.

Your cost basis in the claimed tokens equals the income you reported. If you claim 500 ARB at $1.10 each, you report $550 in ordinary income, and your cost basis in those 500 ARB is $550. If you later sell them at $1.50, you owe capital gains tax on $200. The holding period for long-term vs. short-term starts from the claim date.

  • Auto-compounding vaults (e.g., Yearn, Beefy): rewards are claimed and reinvested by the protocol automatically. Each auto-compound is likely a taxable income event, even though you didn't click anything. The vault's strategy contract executed the claim on your behalf.
  • Vesting or locked rewards: if tokens are locked and you cannot sell or transfer them, you may not have dominion and control yet. Treatment depends on the specific lockup terms.

โš  Common mistake: Waiting to report yield farming income until you sell the reward tokens. That creates two problems: you underreport income in the year you claimed, and you miscalculate capital gains in the year you sell (because your cost basis should be the FMV at claim, not zero).

04

Liquidity Pools: The Hidden Taxable Event Most People Miss

Providing liquidity to an AMM like Uniswap or Curve is where taxes get genuinely complicated. Here's the sequence that matters:

1. Deposit: You supply two tokens (e.g., ETH and USDC) to a Uniswap V3 pool. You receive an LP position (in V3, this is an NFT). Whether this deposit is a taxable disposition is debated โ€” same gray zone as staking deposits. Conservative treatment: taxable exchange.

2. While in the pool: The AMM continuously rebalances your position. If ETH rises, the pool sells some of your ETH for USDC. If ETH falls, it buys ETH with your USDC. This rebalancing may constitute a series of taxable swaps happening continuously inside the contract. This is the event most people miss entirely.

3. Fees earned: Trading fees accrue to your position. In Uniswap V3, fees are claimable separately. Each claim is likely ordinary income.

4. Withdrawal: You remove liquidity and receive a different ratio of tokens than you deposited. The difference between what you put in and what you take out involves both impermanent loss and earned fees.

The IRS has not issued specific guidance on AMM rebalancing. Two approaches exist in practice: (a) treat the entire LP lifecycle as a single taxable event at withdrawal, calculating gain or loss on the full position, or (b) attempt to track each internal swap. Approach (a) is more practical and is what most tax software (Koinly, CoinTracker, TokenTax) attempts. Approach (b) is theoretically more accurate but nearly impossible to execute manually.

Impermanent loss is not directly deductible as a standalone loss. It's baked into your overall gain or loss calculation when you exit the position. If you deposited $10,000 worth of assets and withdrew $9,400 worth (after impermanent loss, net of fees), the $600 difference factors into your capital gain or loss โ€” but only if you treat the deposit as a taxable event or calculate basis correctly.

โš  Common mistake: Reporting only the fee income from an LP position and ignoring the rebalancing entirely. If you deposited 1 ETH + 2,000 USDC and withdrew 0.8 ETH + 2,400 USDC, the composition change has tax implications regardless of whether the total USD value went up or down.

LP Tax Events in Order
1
Deposit assets into pool
Possible taxable disposition when you exchange tokens for an LP position or NFT โ€” record cost basis of assets deposited.
2
AMM rebalances your position
The pool continuously swaps between your two tokens as prices move โ€” each internal swap may be a taxable event.
3
Claim accrued trading fees
Fee claims are ordinary income at FMV on the claim date โ€” in Uniswap V3, this is a separate manual transaction.
4
Withdraw liquidity
You receive a different token ratio than deposited โ€” calculate total gain or loss including impermanent loss and fees.
05

How to Track This Yourself

No tax software handles all of this perfectly. But you can verify the key data points:

  • Etherscan token transfers: For any wallet, the "Token Transfers" tab shows every inbound token event โ€” including staking rebases (for stETH), yield claims, and LP withdrawals. Export this as CSV.
  • DeFiLlama yields page (defillama.com/yields): Cross-reference what yield rate you were earning at a given time to sanity-check your income calculations. If the pool was paying 5% APR and you had $10,000 in it for 3 months, your income should be roughly $125 โ€” not $1,200.
  • Uniswap V3 position manager: Connect your wallet at app.uniswap.org, view closed positions, and check the exact tokens deposited vs. withdrawn.
  • Revert.finance (now Revert Lend, but historical analytics exist): Tracks Uniswap V3 position P&L including fees earned and impermanent loss over time.
  • Staking dashboards: For Lido, check stake.lido.fi for your reward history. For native staking, beaconcha.in tracks validator rewards by epoch.

Export raw transaction data before relying on any tax software's automatic classification. The software often miscategorizes DeFi interactions โ€” labeling an LP deposit as a "send" or a yield claim as a "trade."

DeFi Tax Record Verification
โœ“
Export token transfer history from Etherscan for every active wallet
โœ“
Confirm each receipt token (stETH, aUSDC, LP NFTs) has a recorded cost basis
โœ“
Cross-reference yield income against DeFiLlama historical APR data
โœ“
Check tax software classifications โ€” LP deposits often mislabeled as sends
โœ“
Record claim dates and FMV for every harvested reward token
โœ“
Verify LP withdrawal amounts match on-chain data, not just software estimates
06

What to Do When the Rules Aren't Clear

Several areas covered above involve genuine legal ambiguity. The IRS has not ruled on whether LP deposits are dispositions, whether AMM rebalancing creates internal taxable swaps, or whether exchange-rate receipt tokens (rETH) differ from rebase tokens (stETH) for tax purposes.

When rules are unsettled, the practical move is: pick a consistent, defensible method and document your reasoning. The IRS is more likely to penalize inconsistency or obvious underreporting than a good-faith position applied uniformly. If you treat LP deposits as non-taxable, treat all of them that way โ€” don't cherry-pick based on which treatment gives you a lower bill in a given year.

For positions above $50,000 or complex multi-protocol strategies, a CPA with specific DeFi experience is worth the cost. The keyword to look for: experience with DeFi protocol-level transaction analysis, not just "crypto tax preparation."

โš  Common mistake: Assuming that because the rules are unclear, you don't need to report. The IRS expects you to report all income. Ambiguity is about how to report, not whether to report.

โš 
Ambiguity Doesn't Mean Optional
The IRS has not issued specific guidance on LP rebalancing, receipt token deposits, or exchange-rate vs. rebase tax treatment. But all crypto income must be reported. Choose a consistent, defensible method across all positions and document your reasoning โ€” inconsistency is a bigger audit risk than an imperfect classification.
07

Next Steps

  • Audit your receipt tokens: Check every wallet for stETH, aTokens, cTokens, yVault shares, and LP NFTs. Verify that each one has a recorded cost basis and acquisition date in your tax tracking system.
  • Export and review raw transactions: Pull CSVs from Etherscan and your tax software. Compare them side-by-side for at least one DeFi protocol you've used โ€” mismatches are common.
  • Read IRS Revenue Ruling 2023-14: It's 3 pages and directly addresses staking. It won't answer every question, but it establishes the baseline the IRS is working from.
  • Evaluate your LP positions for unreported rebalancing: If you provided liquidity to any AMM in a prior tax year and only reported fee income, consider whether an amended return is warranted.

Written by Web3Guides AI

More Crypto Tax guides