Wrap & unwrap

Wrapped ETH: The ERC-20 Version of ETH.

Wrapped ETH (WETH) is the ERC-20 representation of native ETH, created because Ethereum's base asset does not implement the ERC-20 interface that most smart contracts expect a token to have. The WETH9 contract holds ETH 1:1 against the WETH it issues, so you can convert between the two at any time for nothing beyond network gas, with no counterparty standing between you and your ETH. Nearly every decentralized exchange, lending market and liquidity pool on Ethereum relies on WETH under the hood, because it lets their code move an ETH position using the exact same functions — transfer, approve, balanceOf — that any other ERC-20 token already supports.

Wrap

Explore fees and timing below

Key facts

StandardERC-20 wrapper for native ETH
ContractWETH9, deployed once and shared ecosystem-wide
PegAlways 1:1 with ETH, by contract logic
Core functionsdeposit() to mint, withdraw() to redeem
BackingEvery WETH unit is backed by locked ETH in the same contract
Primary useRequired by ERC-20-only DeFi contracts (DEXs, lending markets)

What Wrapped ETH Is and Why It Exists

Wrapped ETH is an ERC-20 token, issued by the WETH9 smart contract, that stands in for native ETH inside applications built to the ERC-20 standard. Ethereum's native asset, ETH, was defined before the ERC-20 standard existed, so it never picked up the interface — transfer, approve, allowance, balanceOf — that the standard requires. A smart contract written to expect an ERC-20 token cannot call those functions on raw ETH, because ETH is a protocol-level balance tracked by the Ethereum Virtual Machine itself, not a contract that implements any interface at all. WETH closes that gap: ETH sent into the WETH9 contract mints an equal balance of WETH, and that balance behaves exactly like any other token on Ethereum. The wrapping process adds no economic exposure and no price risk — one WETH unit is defined to equal one ETH permanently, by the contract's own logic rather than by a market price that could drift.

The WETH9 Contract: deposit() and withdraw()

The WETH that circulates today is almost entirely minted by one contract, commonly called WETH9, deployed once and reused by essentially the entire Ethereum ecosystem rather than redeployed per application. A single shared contract matters because liquidity, approvals and integrations all concentrate on the same token address instead of fragmenting across many near-identical wrappers. The contract's balance, holders and transaction history can be inspected directly on Etherscan's WETH token page, which also lists the exact source code the contract runs.

deposit(): minting WETH

Calling deposit() and sending ETH along with the transaction is how WETH gets created. The contract credits the sending address with the same amount of WETH that was sent in ETH, and that ETH sits locked in the contract as the backing for the token it just issued. There is no minting beyond what ETH has actually been deposited, so total WETH supply always matches the ETH balance held by the contract.

withdraw(): redeeming WETH back to ETH

Calling withdraw() with an amount burns that much WETH from the caller's balance and sends back the same amount of ETH from the contract's reserve. Because every unit of WETH in existence is backed by a locked unit of ETH, withdraw() never fails for lack of reserves — supply and backing are mechanically kept equal by the deposit and withdraw functions themselves, not by any external guarantee.

Why ETH Itself Isn't an ERC-20 Token

ETH predates the ERC-20 standard by roughly two years — it has existed since Ethereum's 2015 launch, while ERC-20 was only proposed later that year and saw wide adoption afterward. More fundamentally, ETH is accounted for at the protocol level: every account has an ETH balance tracked directly by the EVM, updated whenever a transaction pays gas or transfers value, with no contract code involved. An ERC-20 token, by contrast, is just a contract that keeps its own internal ledger of balances and exposes standard functions so other contracts know how to read and move them. Those are two different mechanisms, and nothing bridges them automatically — which is the entire reason WETH needs to exist as a separate contract that opts ETH into the token interface voluntarily.

The functions native ETH never had

Native ETH has no transfer() function another contract can call, no approve() that lets a contract spend on someone's behalf, and no balanceOf() a token list can query the standard way. A DeFi contract written generically for any ERC-20 asset has no path to accept raw ETH directly; it has to either special-case ETH with extra code or simply require WETH, which is what nearly all of them do.

ETH vs Wrapped ETH

Once wrapped, WETH is identical to ETH in value but behaves differently in code. The table below lines up the two directly.
PropertyNative ETHWrapped ETH (WETH)
Token standardNone — protocol-native balanceERC-20
Used to pay gasYesNo
transfer() / approve() supportNoYes
Price relative to ETHIs ETH itselfAlways 1:1
Where it's heldAccount balance (EOA or contract)WETH9 contract reserve + holder's token balance

How DeFi Apps Use Wrapped ETH Under the Hood

Decentralized exchanges, lending markets and most other Ethereum applications are written against the ERC-20 interface because it lets one codebase handle any token the same way. WETH lets ETH slot into that same codebase without a special case, which is why it quietly backs a large share of on-chain ETH activity even when a front end simply shows plain 'ETH'.

Decentralized exchanges and liquidity pools

An automated market maker, of the kind documented in Uniswap's documentation, pairs tokens against each other inside ERC-20 liquidity pools. Pairing a token against ETH directly would require pool code to handle a non-standard asset, so pools instead pair against WETH, and the interface wraps and unwraps ETH behind a single click.

Lending markets and collateral

Lending protocols that accept ETH as collateral generally hold it as WETH internally, because their accounting, interest-bearing receipt tokens and liquidation logic are all built on the ERC-20 pattern. Total value locked across these markets, tracked by aggregators such as DefiLlama, includes substantial WETH balances sitting inside contracts that never touch raw ETH at all.

Minting and Redeeming Wrapped ETH

Converting between ETH and WETH is a direct interaction with the WETH9 contract, usually wrapped into a single button by wallets and apps so the underlying call is invisible.
  • Open a wallet or app interface that offers a wrap/unwrap action, or interact with the WETH9 contract directly.
  • To mint WETH, call deposit() and send the ETH amount to be converted along with the transaction.
  • Confirm the transaction and pay the network gas fee; the contract credits the address with the same amount of WETH.
  • To redeem, call withdraw() with the WETH amount to convert back.
  • Confirm that transaction and receive the equivalent ETH immediately, since the contract's reserve always matches its issued supply.

Is Wrapped ETH Always Redeemable?

WETH carries essentially none of the risk associated with other wrapped or bridged assets, because the wrapping and the backing happen inside one contract on one chain rather than across a bridge that depends on a separate validator set or custodian.

No custodian, no bridge, no counterparty

Unlike assets wrapped across chains, WETH never leaves Ethereum and never depends on an external party attesting to a reserve held somewhere else. The ETH backing every unit of WETH sits in the same WETH9 contract that issued it, verifiable by anyone at any time, which is why WETH has traded at parity with ETH since the contract's deployment.
What is Wrapped ETH?
Wrapped ETH (WETH) is an ERC-20 token that represents native ETH on a 1:1 basis, minted and redeemed through the WETH9 contract so that ETH can be used anywhere an ERC-20 token is expected.
Why does WETH exist if ETH and WETH are worth the same?
Because ETH predates the ERC-20 standard and never implements its transfer(), approve() and balanceOf() interface, so contracts written generically for ERC-20 tokens cannot accept raw ETH without WETH standing in for it.
Is WETH always redeemable for ETH?
Yes. The WETH9 contract only ever mints WETH matched by ETH it already holds, so calling withdraw() always returns that exact amount of ETH, with no counterparty able to interrupt the exchange.
Where does WETH come from?
Almost all WETH in circulation is minted by a single shared contract, WETH9, deployed once and reused across the Ethereum ecosystem rather than redeployed per application.
Do I need WETH to use DeFi?
Most decentralized exchanges and lending markets require WETH internally even when their interface shows plain ETH, because their contracts are written against the ERC-20 interface that native ETH does not implement.
Does wrapping ETH cost anything beyond gas?
No. Converting ETH to WETH or back carries no fee of its own — the contract issues and redeems at a fixed 1:1 rate, so the only cost is the network gas for the deposit() or withdraw() transaction.
Is WETH the same as a bridged or synthetic ETH?
No. WETH stays on Ethereum and is backed directly by ETH locked in the WETH9 contract, unlike a bridged or synthetic asset that depends on a separate chain, validator set or custodian to maintain its peg.

Sources