Wrapped Tokens Explained: Why ETH Becomes WETH (And Why It Matters for Taxes)

Understanding Wrapped Assets, Staking Derivatives, and Tax Classification

You're looking at your portfolio and see:

  • ETH
  • WETH
  • wstETH
  • cbETH
  • rETH

All of these show an ETH logo. Are they the same? Different? Is this taxable?

Welcome to the confusing world of wrapped tokens.

The Problem: Native Tokens vs. ERC-20

Ethereum has a unique quirk that creates this confusion.

ETH (Native Token)

  • Built into Ethereum at the protocol level
  • Can't interact with smart contracts the same way other tokens can
  • Predates the ERC-20 standard (created before token standards existed)

Every Other Token (ERC-20)

  • Follows a standard interface that all contracts expect
  • Can be easily traded, deposited, approved by smart contracts
  • Works seamlessly in DeFi

The problem: ETH is the most valuable asset on Ethereum, but it can't interact with DeFi protocols as smoothly as other tokens.

Enter WETH: Wrapped Ether

WETH = Wrapped ETH = ERC-20 version of ETH

It's a smart contract that:

  1. Accepts ETH deposits
  2. Mints an equal amount of WETH (ERC-20 token)
  3. Holds your ETH in escrow
  4. Always allows 1:1 redemption

WETH Contract: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

How Wrapping Works

Wrap (ETH → WETH):

You: Send 1 ETH to WETH contract
Contract: Lock your 1 ETH
Contract: Mint 1 WETH to your wallet
You: Now have 1 WETH (can use in DeFi)

Unwrap (WETH → ETH):

You: Send 1 WETH to WETH contract
Contract: Burn your 1 WETH
Contract: Release 1 ETH to your wallet
You: Now have 1 ETH

Always 1:1. Always redeemable.

When Wrapping Happens (Often Automatically)

You might wrap/unwrap without realizing:

Uniswap:

  • You try to swap ETH for USDC
  • Uniswap automatically wraps your ETH → WETH
  • Then swaps WETH for USDC

OpenSea:

  • You bid on an NFT with WETH
  • When you accept an offer for your NFT, you receive WETH
  • You unwrap to ETH if you want

Aave, Compound, etc.:

  • Most lending protocols use WETH, not ETH

You see the wrap/unwrap in your transaction history:

Deposit 1 ETH (wrap)
Swap 1 WETH for 1200 USDC

[Visual suggestion: Diagram showing ETH ↔ WETH conversion at 1:1]

Types of Wrapped Tokens

Not all "wrapped" tokens are the same. There are 3 distinct categories:

Category 1: Protocol Wrappers (Like WETH)

Purpose: Make native tokens compatible with DeFi

Examples:

  • WETH: Wrapped ETH (Ethereum)
  • WBTC: Wrapped Bitcoin (Bitcoin on Ethereum)
  • WMATIC: Wrapped MATIC (Polygon)
  • WAVAX: Wrapped AVAX (Avalanche)

Key characteristic: 1:1 backing, always redeemable, generally same asset

Tax treatment: Most tax pros treat ETH/WETH as the same asset (though IRS hasn't given clear guidance)


Category 2: Bridge-Wrapped Tokens

Purpose: Represent assets from another blockchain

Examples:

  • ETH on Arbitrum (technically bridge-wrapped)
  • ETH on Optimism
  • ETH on Base
  • USDC.e (Bridged USDC on Arbitrum)

How they work:

  • Lock ETH on Ethereum
  • Mint "ETH" on Arbitrum
  • That Arbitrum ETH is backed 1:1 by locked Ethereum ETH

Tax treatment: Non-taxable transfer (cost basis carries over)

Learn more: How Bridge Contracts Work


Category 3: Derivative/Staked Tokens (NOT Simple Wraps)

Purpose: Represent staked or interest-bearing versions of assets

Examples:

  • wstETH: Wrapped Staked ETH (Lido)
  • cbETH: Coinbase Staked ETH
  • rETH: Rocket Pool Staked ETH
  • stETH: Lido Staked ETH
  • aUSDC: Aave interest-bearing USDC

Key characteristic: NOT 1:1. Price can fluctuate. Different asset.

Tax treatment: Acquiring these is likely a taxable swap (you're exchanging ETH for a derivative)

This is the critical distinction most people miss.

The Tax Confusion: Same Asset vs. Different Asset

✅ ETH ↔ WETH (Likely Non-Taxable)

Transaction: Wrap 1 ETH into 1 WETH

IRS Guidance: None (unclear)

Most tax professionals' view:

  • This is like exchanging a $100 bill for five $20 bills
  • Same value, same underlying asset
  • Non-taxable event

Conservative approach: Some CPAs argue it's technically a disposal/acquisition, but in practice, most treat it as the same asset for cost basis tracking.

Moonscape's approach: We treat ETH/WETH as the same asset by default, with option to override if your tax pro disagrees.


⚠️ ETH → wstETH (Likely Taxable)

Transaction: Stake 1 ETH, receive 0.9 wstETH

What's different:

  • Not 1:1: You get 0.9 wstETH for 1 ETH (ratio changes over time)
  • Different value: wstETH price ≠ ETH price
  • Earns rewards: wstETH represents staked ETH that earns staking yields
  • Different asset: This is a derivative, not a wrapper

Tax treatment:

  • Disposition: You "sold" 1 ETH
  • Acquisition: You "bought" 0.9 wstETH at market value
  • Capital gain/loss: If ETH went up since you bought it, you owe capital gains tax

Example:

You bought 1 ETH for $1,500 (your cost basis)
ETH is now worth $2,000
You stake with Lido, receive 0.9 wstETH (worth ~$2,000)

Taxable event:
  - Disposed 1 ETH (basis $1,500, value $2,000)
  - Capital gain: $500
  - New asset: 0.9 wstETH (new basis $2,000)

This is a taxable swap.


⚠️ ETH → cbETH (Likely Taxable)

Transaction: Stake ETH on Coinbase, receive cbETH

Same logic as wstETH:

  • Not 1:1 (cbETH represents your staked ETH + rewards)
  • Different price
  • Different asset
  • Likely taxable

⚠️ stETH (Rebasing Token - Even More Complex)

What it is: Lido Staked ETH (older version, before wstETH)

How it works:

  • Stake 1 ETH, receive 1 stETH
  • stETH balance increases daily as you earn staking rewards
  • Today: 1 stETH
  • Tomorrow: 1.00027 stETH
  • Next year: 1.04 stETH

Tax treatment (debated):

Option 1 (Conservative):

  • Daily rebases = income (every day you receive more stETH)
  • Nightmare to track

Option 2 (Aggressive):

  • Defer until you sell/unwrap
  • Only recognize gain when you exit

IRS hasn't given clear guidance.

This is why Lido created wstETH (wrapped stETH) - it doesn't rebase, making taxes simpler.

Real-World Scenario

Let's walk through a typical DeFi user's journey:

Starting Point

  • Buy 2 ETH for $1,500 each = $3,000 cost basis

Transaction 1: Uniswap Swap

  • Swap 1 ETH for USDC on Uniswap
  • Behind the scenes: ETH auto-wraps to WETH, then swaps to USDC

Tax treatment:

  • ETH → WETH: Non-taxable (same asset)
  • WETH → USDC: Taxable swap
    • Disposed 1 WETH (value $2,000, basis $1,500)
    • Capital gain: $500

Transaction 2: Bridge to Arbitrum

  • Bridge 1 ETH to Arbitrum

Tax treatment:

  • Non-taxable transfer
  • Cost basis on Arbitrum ETH: $1,500 (carries over)

Transaction 3: Stake with Lido

  • Stake 1 ETH (Arbitrum), receive wstETH

Tax treatment:

  • Taxable swap
  • Disposed 1 ETH (value $2,100, basis $1,500)
  • Capital gain: $600
  • New asset: wstETH (basis $2,100)

Summary

Total taxable gains: $500 + $600 = $1,100

Common mistakes:

  • ❌ Treating all ETH variants as the same
  • ❌ Not recognizing staking as a taxable event
  • ❌ Not tracking cost basis across wrapped versions

How to Tell if a Wrap is Taxable

Ask These Questions:

1. Is it 1:1 redeemable?

  • ✅ Yes → Likely same asset (WETH, WMATIC)
  • ❌ No → Different asset (wstETH, cbETH)

2. Does the ratio change over time?

  • ✅ Changes → Different asset (wstETH appreciates vs ETH)
  • ❌ Fixed → Likely same asset (WETH always 1:1)

3. Does it earn yield or rewards?

  • ✅ Yes → Different asset (staking derivatives)
  • ❌ No → Likely same asset (WETH)

4. Can you trade it separately?

  • ✅ Yes at different price → Different asset
  • ❌ Same price as underlying → Likely same asset

Quick Reference Table

Token 1:1? Yield? Tax Treatment
WETH Same as ETH (non-taxable wrap)
WBTC Same as BTC (non-taxable wrap)
ETH (Arbitrum) Same as ETH (non-taxable bridge)
wstETH Different asset (taxable swap)
cbETH Different asset (taxable swap)
rETH Different asset (taxable swap)
stETH Different asset (taxable, rebasing)
aUSDC Different asset (taxable)

Common Wrapped Token Contracts

Moonscape recognizes these automatically:

Protocol Wrappers

  • WETH: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
  • WBTC: 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599
  • WMATIC: 0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270

Staking Derivatives (Taxable)

  • wstETH: 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0
  • stETH: 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84
  • cbETH: 0xBe9895146f7AF43049ca1c1AE358B0541Ea49704
  • rETH: 0xae78736Cd615f374D3085123A210448E74Fc6393

Interest-Bearing Tokens (Taxable)

  • aUSDC (Aave): 0xBcca60bB61934080951369a648Fb03DF4F96263C
  • cUSDC (Compound): 0x39AA39c021dfbaE8faC545936693aC917d5E7563

How Moonscape Handles Wrapped Tokens

Auto-Detection

When you wrap/unwrap, we detect it:

Instead of:

Sent 1 ETH to 0xC02aaA...
Received 1 WETH from 0xC02aaA...

You see:

Wrapped 1 ETH → 1 WETH (non-taxable)

Smart Classification

WETH/WMATIC/WBTC:

  • Treated as same asset as underlying
  • Cost basis preserved
  • No taxable event

wstETH/cbETH/rETH:

  • Treated as different asset
  • Flagged as taxable swap
  • Calculates capital gain/loss

Cost Basis Tracking

Example flow:

  1. Buy 1 ETH for $1,500
  2. Wrap to WETH (basis stays $1,500)
  3. Bridge to Arbitrum (basis stays $1,500)
  4. Swap to USDC (recognize $500 gain if sold at $2,000)

Moonscape tracks your cost basis across all ETH variants automatically.

Staking Detection

When you stake with Lido, Rocket Pool, or Coinbase:

Alert:

⚠️ Staking Event Detected
You exchanged 1 ETH for 0.9 wstETH
This is likely a taxable swap. Capital gain: $600

[Review Transaction] [Override if Needed]

We flag these for review since tax treatment varies by jurisdiction and tax professional opinion.

Best Practices

1. Know What You're Getting

Before wrapping/staking:

  • WETH, WMATIC: Safe, likely non-taxable
  • wstETH, cbETH: Taxable swap, be prepared for tax implications

2. Track Everything

Even if ETH/WETH are the same for tax purposes, you need to track:

  • When you wrapped
  • Original cost basis
  • Any swaps while in WETH form

3. Consult a Tax Pro for Staking

Staking derivatives (wstETH, etc.) are complex and IRS guidance is unclear. Get professional advice.

4. Use Software That Understands the Difference

Most tax software sees:

  • WETH = different asset than ETH
  • Requires manual merging

Moonscape knows:

  • WETH = same asset as ETH (auto-handled)
  • wstETH = different asset (auto-flagged)

The Bottom Line

Not all "wrapped" tokens are the same:

Simple wrappers (WETH):

  • 1:1 backing
  • Same asset
  • Non-taxable (most tax pros agree)

Staking derivatives (wstETH):

  • NOT 1:1
  • Different asset
  • Taxable swap

Bridge-wrapped (ETH on Arbitrum):

  • 1:1 backing
  • Same asset on different chain
  • Non-taxable transfer

The key: Understanding which is which prevents tax mistakes and overpayment.


Auto-Classify Wrapped Token Transactions

Moonscape recognizes 20+ wrapper contracts and automatically:

✅ Treats WETH/WMATIC as same asset
✅ Flags wstETH/cbETH as taxable swaps
✅ Preserves cost basis across ETH variants
✅ Alerts you to staking events

Try Moonscape →

Built for people who'd rather track than guess.
Moonscape — your crypto, your taxes, fully decoded.

Follow us on X (@MoonscapeHQ)



Tags: #WETH #WrappedTokens #StakedETH #Lido #CryptoTax #DeFi

Start with a free diagnostic scan.

Show us the mess — redacted is fine. You get back how many transactions we found, how many missing cost bases, how many unmatched transfers, and how many tax years are affected. Yours to keep either way.

Get my free scanAbout two business days · fixed quote from £499
Read nextFoundations · 3
14 Jul 2026
What does a crypto tax accountant cost?
Real numbers, and what you are actually paying for.
5 min
14 Jul 2026
Koinly is missing my transactions. Here is how to fix it.
Six causes, in the order you should check them.
7 min
14 Jul 2026
How to reconstruct years of missing crypto records
The methodology, in the order that actually works.
8 min