DeFi is where crypto taxes get really complicated. Swaps, yield farming, lending, borrowing, bridges, liquid staking — every action can be a taxable event. Here's the complete guide to navigating DeFi taxation.
The Basic Rule
Every time you exchange one token for another, it's a taxable event.
This applies to everything: DEX swaps, bridges, liquid staking, yield farming — all of it.
Taxable Events in DeFi
🔄 Token Swaps (DEX)
Swapping Token A for Token B = two taxable events:
- Selling Token A (capital gain/loss)
- Buying Token B (cost basis = sale proceeds)
Examples: Uniswap, SushiSwap, Curve, Raydium, Orca, Jupiter
🌾 Yield Farming / Staking
Rewards earned = ordinary income at fair market value when received.
Examples: Yearn, Convex, Lido, Rocket Pool
💧 Liquidity Provision
Adding liquidity = two taxable events:
- Disposing of tokens to provide liquidity
- Receiving LP tokens (cost basis = tokens provided)
Examples: Uniswap V3, Balancer, Raydium
🏦 Lending (Aave, Compound)
Depositing: Generally non-taxable (like moving to your own wallet)
Earning interest: Ordinary income
Withdrawing: Capital gain/loss on the difference
🌉 Cross-Chain Bridges
Same asset bridge (ETH → Arbitrum ETH): Non-taxable (transfer)
Cross-asset bridge (ETH → MATIC): Taxable swap
Note: Most tools get this wrong — they double-count!
↔️ Wrapped Assets
1:1 Wraps (ETH → WETH): Generally non-taxable
Most CPAs treat wrapped tokens as the same asset for tax purposes.
The Bridge Problem
⚠️ Most Tax Software Gets This Wrong
When you bridge ETH from Ethereum to Arbitrum, many tools incorrectly count it as:
- Selling ETH on Ethereum (taxable gain/loss)
- Buying ETH on Arbitrum (taxable income)
Result: You pay taxes on money you never received.
Common DeFi Scenarios
Uniswap
Every swap on Uniswap creates two taxable events. The tax software must capture both legs of the transaction and calculate gain/loss correctly.
Aave
- Supply (deposit) — Generally non-taxable
- aToken rewards — Ordinary income
- Borrow — Not taxable (like a loan)
- Repay — May trigger gain/loss
- Withdraw — Capital gain/loss calculation
Lido (stETH)
- Staking ETH — Non-taxable (same asset)
- Receiving stETH — Non-taxable
- stETH rewards — Ordinary income
- Unstaking — Non-taxable
Jupiter (Solana)
Jupiter routes swaps through multiple DEXs. Each route leg may create separate taxable events. Our system captures the net result correctly.
How Arthur Labs Handles DeFi
Our Different800 mb-3iation
- Bridge detection — Correctly identifies non-taxable transfers
- Protocol recognition — Knows 60+ DeFi contracts
- Multi-chain — Handles DeFi across all 12 chains
- Correct classification — Income vs. capital gains properly labeled
What to Track
For every DeFi transaction, record:
- Transaction hash — The on-chain record
- Date and time — For price lookup
- Tokens involved — What you sent and received
- USD values — At time of transaction
- Protocol name — For classification
Don't Let DeFi Break Your Taxes
We handle swaps, bridges, lending, and yield correctly.
Scan Your Wallet →Disclaimer: This article is for educational purposes only. DeFi taxation is complex and evolving — consult a qualified tax professional.