# ERC223 Token Standard

It is supposed to replace wETH

#### The main goals of developing the ERC223 token standard were:

1. "Accidentally lost tokens inside contracts: there are two different ways to transfer ERC20 tokens depending on is the receiver address a contract or a wallet address. You should call `transfer` to send tokens to a wallet address or call `approve` on token contract and then `transferFrom` on the receiver contract to send tokens to the contract. Accidentally, a call of `transfer` function to a contract address will cause a loss of tokens inside the receiver contract.
2. Inability of handling incoming token transactions: ERC20 token transaction is a call of `transfer` function inside token contract. ERC20 token contract is not notifying receiver that transaction occurs. Also there is no way to handle incoming token transactions on contract and no way to reject any non-supported tokens.
3. ERC20 token transaction between wallet address and the contract is a couple of two different transactions in fact: You should call `approve` on token contract and then call `transferFrom` on another contract when you want to deposit your tokens into it.
4. Ether transactions and token transactions behave differently: one of the goals of developing ERC223 was to make token transactions similar to Ether transactions to avoid users mistakes when transferring tokens and make interaction with token transactions easier for contract developers." - ERC Author

## wETH Simple explanation&#x20;

* Ethereum (ETH) is not \[\[ERC20]] compatible standard
* In order for ETH to be tradable for other tokens (ERC720) it needs to be wrapped into wETH form
* " When you "wrap" ETH, you aren't really wrapping so much as trading via a smart contract for an equal token called wETH. If you want to get plain ETH back, you need to "unwrap" it. AKA trade it back for plain ETH."

Source: <https://weth.io/>

## Further reading

* Full implementation: <https://github.com/Dexaran/ERC223-token-standard>
* Implementation is ready to be implemented: <https://github.com/Dexaran/ERC223Token><br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nft-standards.gitbook.io/nft-standards-wiki/custom-nft-platforms-add-ons/erc223-token-standard.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
