WETH is a very simple smart contract, WHY?

Ever wonder why OpenSea (OS) asks you to wrap your ETH (heh) before you bid on that ape/toad/cat?

It's because the WETH contract is a bank and WETH itself (the token) is a check OS can cash.

Let me explain:

ETH is the native currency of the ETH #blockchain but it's a barebones implementation of money.

Think of #ETH like cash. You can use it to buy things but you can't enforce strict rules on its spending.

What strict rules? Here's a totally basic example..

Imagine you have 10ETH in your wallet and want to send 2 ETH to your friend Alice.

You don't want to send it this very second, you just want to allow her to withdraw whenever she needs it.

With ETH, you can't allow Alice to withdraw 2ETH on her own.

With #WETH, you can!

The WETH contract maintains your balance of WETH and allows you to give others a fixed "allowance" of your balance.

And since WETH and ETH and interchangeable
Alice can magically transfer 2 WETH from your wallet without you needing to be around.

WETH contract = bank

WETH "allowance" = bank check (y'all remember bank checks? ​

Now back to #OpenSea.. why do they require you make bids in WETH?

It's so you can bid on that golden #BoredApeYC (or #cryptoadzNFT) and not have to be around for the bid/funds to transfer (if you win)

WETH works for you when buying #NFTs and, bonus, the seller pays gas!

To make it crystal clear: WETH is a very simple smart contract - think of it like an adapter. You will ALWAYS be able to convert ETH into WETH and WETH into ETH at a 1:1 rate without any risks. This will be true as long as Ethereum exists.

Why is WETH needed at all? Essentially because tokens technically work slightly different than the native asset (ETH). So if you build smart contracts you need to program a special case for ETH which can add unnecessary complexity. So the solution often is to only accept tokens. And thus, if you want to use ETH on many contract you first have to convert it into WETH = wrapped (ETH). This is very different from ETH on any other chain (including @gnosischain or layer2, see: https://l2beat.com/scaling/risk) which always adds some extra risks.