wrapped Ether (WETH)
Wrapped Ether is an ERC-20 token that stands in one-for-one for Ether. The quirk it solves is historical: ETH, the native currency of Ethereum, predates the ERC-20 standard, so ETH does not actually implement the ERC-20 interface (no transferFrom, no approve). Many protocols — automated market makers, lending pools, auctions — are written to handle ERC-20 tokens uniformly, and treating ETH as a special case everywhere would be ugly and error-prone. WETH lets ETH wear an ERC-20 costume so it can flow through those protocols like any other token.
The contract is simple and fully collateralized. You call deposit and send some ETH; the contract locks that ETH and credits you the same amount of WETH (deposit is payable, and the fallback often wraps too, so sending ETH directly mints WETH). To go back, you call withdraw(amount); the contract burns that WETH and sends you the equal ETH. Because every WETH is backed by exactly one ETH held in the contract, the peg is mechanical, not market-based — there is no price to drift, only a locked reserve you can always redeem.
The canonical WETH9 contract on Ethereum mainnet has held a large share of all ETH at times and is one of the most-used contracts in existence. A practical caveat: classic WETH9 has no permit function, so approvals to it still require a separate approve transaction; some newer chains ship a WETH with permit. Conceptually WETH is the simplest wrapped token — same chain, same asset, trustless redemption — in contrast to cross-chain wrapped assets that carry bridge or custodian risk.
// wrap
WETH.deposit{value: 1 ether}(); // 1 ETH locked -> 1 WETH minted
// use it like any ERC-20
WETH.approve(dex, 1 ether);
// unwrap
WETH.withdraw(1 ether); // 1 WETH burned -> 1 ETH returnedWrapping does not change how much ETH exists — it just relabels it. The locked ETH in the WETH contract is not 'extra' supply; it is your ETH parked behind an ERC-20 receipt.