Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
WETH is ETH wrapped in an ERC-20 shell so DeFi apps, DEXs, and NFT platforms can use it. Same price, different token — and you risk being stuck if you run out of native ETH.
Wrapped ETH (WETH) is ETH locked inside a smart contract and reissued as an ERC-20 token, pegged 1:1 to ETH, so that DeFi apps, DEXs, and NFT marketplaces can use it directly.
Here is what that looks like in practice. You check your wallet after a swap on Uniswap and notice a new token called WETH sitting next to your ETH. You did not ask for it. You do not know if it is worth the same or something different. And you have no idea what to do with it. This trips up new DeFi users constantly. WETH is not a scam, a mistake, or a separate coin speculating on Ethereum’s value. It is ETH in a different technical format — one that the majority of DeFi protocols, NFT bidding systems, and L2 bridges need to function.
The reason this format exists goes back to a two-year gap in Ethereum’s own history. ETH launched in 2015, but the ERC-20 token standard that every DeFi protocol runs on was not finalized until 2017. That gap left ETH permanently outside the ERC-20 interface, and WETH is the workaround the market settled on.
Ethereum launched in 2015. The ERC-20 standard — the common token interface that almost every DeFi protocol uses — was not finalized until 2017. That two-year gap created a lasting compatibility problem.
Every ERC-20 token follows the same function interface: transfer, approve, allowance. Smart contracts call those functions whenever they handle tokens. Native ETH does not implement that interface. ETH predates ERC-20, so it behaves differently under the hood. When Uniswap, Aave, or a lending protocol wants to accept your ETH alongside other tokens, the contract cannot treat ETH the same way it treats every other asset on the list.
Think of it like a chip-and-pin card reader that accepts any standardised card but not raw gold coins — even if the coins and cards have the same face value. WETH is the card that represents the coins.
The solution is the WETH smart contract. You send ETH to the contract. The contract mints the same amount of WETH. The WETH is an ERC-20 token that any DeFi app can handle. Want your ETH back? Send the WETH back to the contract and it returns native ETH. The peg is enforced mechanically by the contract itself, not by a bank or an issuer.
The canonical WETH contract on Ethereum mainnet is the WETH9 contract at address 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2. Verify this address before any interaction — spoofed WETH contracts exist.
MakerDAO was among the first major DeFi protocols to require WETH, which pushed the standard into widespread adoption. Today, roughly 3% of the total ETH supply sits wrapped as WETH in DeFi protocols and wallets at any given time.
Two functions drive the entire WETH mechanism. The deposit() function accepts ETH and mints an equal amount of WETH. The withdraw() function accepts WETH, burns it, and returns ETH to your wallet. That is the whole protocol.
Most users never call these functions directly. When you swap ETH for another token on Uniswap or 1inch, the DEX wraps your ETH automatically in the same transaction. You receive the output token without ever seeing a separate wrapping step. The same is true on MetaMask’s built-in swap. Wrapping happens silently in the background.
When you do need to wrap or unwrap manually — for example, to create a WETH bid on an NFT marketplace — you can do it through Uniswap’s interface, MetaMask’s swap, or any compatible DEX. Both steps cost a small gas fee because they are contract calls, paid in native ETH.
Here is how the two directions compare:
| Action | What Happens |
|---|---|
| Wrap (deposit) | You send ETH to the WETH9 contract. The contract mints equal WETH to your wallet. |
| Unwrap (withdraw) | You send WETH to the WETH9 contract. The contract burns it and returns ETH to your wallet. |
One rule holds in both directions: gas fees must be paid in native ETH. WETH cannot cover transaction costs — not on Ethereum mainnet, not on any EVM-compatible L2. If your wallet holds only WETH with no ETH buffer, you cannot execute any transaction, including the unwrap itself. Keep a small ETH reserve at all times. This catches more newcomers than any other single WETH misconception.
Most yield farming in crypto strategies run on ERC-20 logic, so WETH is the entry point — you need the wrapped version before most DeFi yield protocols will accept your ETH.
WETH shows up across three major on-chain use cases. In each one, the reason is identical: any system that uses ERC-20 logic to manage assets requires WETH, not native ETH.
In all three cases you are not converting ETH into something riskier. You are just giving ETH a format those platforms can read.
Bridging ETH to an L2 is where wrapped ETH confusion peaks. Users expect to receive ETH on the other side. Instead, they often receive WETH. Here is why.
L2 networks like Arbitrum, Base, and Optimism settle transactions through smart contracts on Ethereum mainnet. When ETH crosses from mainnet to an L2, the bridge contract locks the ETH on mainnet and instructs the L2 to credit you an equivalent amount. That credit arrives as WETH on the L2, not native ETH, because L2 protocols use ERC-20 logic for token accounting — the same reason WETH exists on mainnet.
Each L2 has its own canonical WETH contract deployed independently:
| L2 Network | Canonical WETH Contract Address |
|---|---|
| Arbitrum | 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1 |
| Base | 0x4200000000000000000000000000000000000006 |
| Optimism | 0x4200000000000000000000000000000000000006 |
| Polygon | 0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619 |
These are separate tokens on separate networks. WETH on Arbitrum is not the same asset as WETH on Base, even though both track ETH 1:1 on their respective chains. You cannot send Arbitrum WETH directly to a Base address — it will either fail or land as an unrecognised token. To move WETH between L2s, you need to bridge back through the canonical bridge or use a cross-chain aggregator.
One important caveat on risk: bridged WETH on L2 inherits the security of the underlying bridge. If the bridge contract is exploited, the WETH on that L2 can depeg or become unredeemable until the protocol handles recovery. That risk is distinct from mainnet WETH, which has never been compromised.
When you first encounter stETH or weETH in a DeFi interface, it is easy to assume they are variations of wrapped ETH. They serve a completely different purpose.
WETH is a neutral wrapper. It earns no yield. It accrues no staking rewards. It carries no protocol-level exposure beyond the WETH9 smart contract itself. The only reason to hold WETH is ERC-20 compatibility — you need it for a DeFi app, a DEX pool, or an NFT bid.
stETH (from Lido) and weETH (from Ether.fi) are yield-bearing representations of staked or restaked ETH. When you deposit ETH into Lido, you receive stETH that grows in value as Ethereum staking rewards accrue. When you deposit into Ether.fi and then EigenLayer, you receive weETH that reflects both staking yield and restaking rewards. These tokens do carry meaningful protocol risk: smart contract exposure in the staking protocol, potential slashing from validator misbehaviour, and liquidity risk if the token trades at a discount to ETH.
Here is the key comparison:
| Token | Key Property |
|---|---|
| WETH | ERC-20 wrapper for ETH. No yield. Redeemable 1:1 for ETH via the WETH9 contract. |
| stETH | Liquid staking token from Lido. Accrues ETH staking rewards. Carries staking protocol risk. |
| weETH | Liquid restaking token from Ether.fi. Accrues staking + EigenLayer restaking rewards. Higher risk profile. |
| rETH | Liquid staking token from Rocket Pool. Accrues staking yield. Different validator risk model. |
The choice comes down to purpose. If you need ERC-20 compatibility with no yield exposure and no protocol dependency, use WETH. If you want your ETH to earn yield while staying liquid and usable in DeFi, stETH or weETH make more sense — but they come with a risk profile WETH does not have.
For a full breakdown of how staking tokens work, the liquid staking guide covers stETH, weETH, and rETH in detail.
For most users, the honest answer is yes — with one important distinction.
The mainnet WETH9 contract has been live since 2017. It has been formally verified, independently audited more times than almost any other contract in DeFi, and it has never been exploited. The contract logic is minimal by design: deposit ETH, mint WETH, burn WETH, return ETH. There is no oracle dependency, no governance mechanism, and no upgradeable proxy. What you see is what you get.
The realistic risks fall into two categories.
First, spoofed contracts. Bad actors deploy fake WETH tokens with the same name and symbol but different addresses. If you interact with a spoofed contract, your funds are gone. Always verify the WETH contract address against the canonical WETH9 address (0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 on mainnet) or the official canonical address on your specific L2 before any interaction. MetaMask and most major wallets will flag unrecognised tokens, but the warning only helps if you read it.
Second, bridge risk on L2. Bridged WETH on Arbitrum, Base, or Optimism is only as secure as the bridge contract itself. In 2022, CoinDesk reported that the Nomad bridge exploit drained approximately $190 million from users who held bridged assets — including WETH — across affected chains. The WETH contract on Ethereum mainnet was untouched, but users holding WETH on the Nomad bridge side lost access to their funds.
The bottom line: mainnet WETH is battle-tested and carries minimal contract risk. Bridged WETH on any L2 carries an additional layer of bridge-specific risk that deserves consideration before you move meaningful amounts.
Wrapped ETH (WETH) is ETH locked in a smart contract and reissued as an ERC-20 token. The peg is enforced by the contract, not by a third party — so 1 WETH is always redeemable for exactly 1 ETH. DeFi protocols, DEXs, and NFT platforms require WETH because their smart contracts are built on the ERC-20 standard, which native ETH does not implement.
No. Gas fees on Ethereum and on every EVM-compatible L2 must be paid in native ETH. WETH is an ERC-20 token and the Ethereum network does not accept it as payment for execution costs. If you hold only WETH with no ETH balance, you cannot execute any transaction — including the unwrap that would convert your WETH back to ETH. Always keep a small ETH buffer in your wallet.
This usually happens in one of two situations. A DEX swap automatically wrapped your ETH to complete the trade, or an L2 bridge delivered your ETH as WETH because the L2 uses ERC-20 accounting for bridged assets. In either case, your WETH is redeemable 1:1 for ETH. You can unwrap it through Uniswap, MetaMask, or any DEX that supports the WETH contract — just make sure you have a small ETH balance to cover the gas fee.
On Ethereum mainnet, yes. The WETH9 contract guarantees a 1:1 redemption at any time, so the price of WETH tracks ETH exactly. On an L2, WETH should also track ETH 1:1 under normal conditions, but bridge exploits can cause temporary depegs when bridge contracts are attacked and withdrawals are paused. Mainnet WETH has never depegged. Bridged WETH on exploited third-party bridges has.
Wrapped ETH (WETH) and stETH serve different purposes. WETH is a utility wrapper that makes ETH ERC-20 compatible — it earns no yield and carries only minimal smart contract risk. stETH, issued by Lido, is a liquid staking token: you deposit ETH into Lido’s staking protocol and receive stETH that accrues Ethereum validator rewards over time. stETH carries staking protocol risk, potential slashing exposure, and liquidity risk that WETH does not.
If you have just encountered WETH for the first time, the most important thing to establish is which contract you are dealing with. A wrong address is a permanent loss. Everything else — unwrapping, using WETH in a pool, choosing a DEX — is straightforward once that check is done.
Before you do anything else, confirm you are interacting with the verified canonical contract for your network. On Ethereum mainnet it is 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2. Base and Optimism both use 0x4200000000000000000000000000000000000006. For Arbitrum and Polygon, check the official bridge documentation directly — do not rely on a token list you have not verified.
Here are the four practical steps for most WETH situations:
One last point worth repeating: always keep a small amount of native ETH in your wallet. Without it, you cannot pay gas — and that means you cannot even unwrap the WETH you already hold.