What are Wrapped Assets, and Why Do They Exist?

What are Wrapped Assets, and Why Do They Exist?

“Ah! Why do I have to use wETH?“ If you’ve used decentralized finance (DeFi) applications before, chances are you’ve been in such a situation. This post will explain what a wrapped asset (like wETH) is, the famous examples in DeFi, and why they exist. 

What is a Wrapped Asset

In blockchain and DeFi, a wrapped asset refers to a type of cryptocurrency token representing a claim on another, often native, asset that it "wraps." These wrapped tokens are created to solve interoperability issues between blockchains or within blockchain ecosystems, enabling assets to be more easily integrated and used in DeFi applications.

The following two are the prominent examples of wrapped assets in DeFi. 

Examples 

Wrapped ETH (wETH)

The most common example of a wrapped asset is the wrapped ETH or wETH. 

If you’re new to the blockchain space, you might wonder, “Why do you need to wrap ETH? Isn’t it a native asset on the Ethereum blockchain?” Exactly. The fact that it’s the native asset of the blockchain makes it incompatible with the most common token standard, the ERC-20. You see, on the blockchain, there is no concept of a “token.” Each “token” is in fact a smart contract or code stored on a blockchain, where on it stores the balance of each token holder. So whenever you transfer tokens to someone, technically, you aren’t transferring anything. You merely ask the token contract to deduct your balance and increase the “recipient”’s balance. Developers usually opt for the ERC-20 standard as the template for their tokens due to the standard's prevalence. Below are the code snippets of an ERC-20 token. 

function name() public view returns (string)
function symbol() public view returns (string)
function decimals() public view returns (uint8)
function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)

As such, in the early days of DeFi, DeFi applications usually ask users to wrap their ETH into wETH, an ERC-20 token and 1:1 redeemable with the native ETH, on Uniswap.

A screenshot of Uniswap showing the ratio between ETH and wETH is 1:1
A screenshot of Uniswap showing the ratio between ETH and wETH is 1:1

Afterward, the wETH can be used in the DeFi applications as its standard is the same as other tokens. Nowadays, DeFi applications usually support both ETH and wETH on their UI. If users choose to use ETH, under the hood, the application’s smart contract wrapped users’ incoming ETH into wETH and then use it like other ERC-20 tokens. This dramatically improves the UX instead of asking users to go to Uniswap to wrap the ETH. 

A screenshot of Aave showing both ETH and wETH deposits are supported; both have the same rate. 
A screenshot of Aave showing both ETH and wETH deposits are supported

Wrapped Staked ETH (wstETH)

Another famous example of a wrapped asset is wrapped staked ETH, or wstETH. wstETH is a wrapped version of stETH, an Ethereum liquid staking token (LST) from Lido.    

For those don’t know what an LST is, first of all, LST is not a drug. LST is a category of tokens allowing users to access Ethereum's staking rewards without running validators themselves. The way how an LST token is produced is by depositing ETH into a protocol, say Lido. In turn, the protocol gives the user an equivalent amount of the staking token (in this case, stETH), representing their staked ETH plus the staking rewards earned over time.

Behind the scenes, the protocol will stake depositors’ ETH on a computer and validate Ethereum on their behalf (and charge a fee for it). With traditional staking, your ETH would be locked up and inaccessible until the end of the staking period. With LSTs like stETH, users can trade the staking tokens, hence the “liquid” in the name of this category of assets.

With the staking rewards, the number of ETH that a given number of stETH can redeem should increase over time. Lido uses a standard known as the rebase token for stETH. A rebase token’s balance will change over time. For instance, if you deposit 100 ETH on Lido, you will receive 100 stETH in return. Given the APR is 3.6%, your stETH balance over a week will be 100.0692307692 stETH ((100*3.6%/52)+100). 

A screenshot from the Stake Ether page on Lido
A screenshot from the Stake Ether page on Lido

Obviously, this behavior is not compatible with ERC-20. To make integrating other DeFi applications easier, Lido launched a wrapped version of stETH, which is creatively called wrapped staked ETH, or wstETH. Again, it’s an ERC-20 standard token, and people can redeem their stETH anytime.  

Parting Thoughts

Hey, thanks for making it to the end of this article! We hope you enjoy it and learn something new. Here are some similar articles on our blog that might interest you:

See you next time!