Generic CW404s Explained

CW404 Introduction

CW404 tokens are based on an experimental token standard adapted from ERC404 tokens launched on Ethereum Mainnet in early February 2024.

The CW404 standard combines the fungibility of CW20 tokens and the uniqueness of CW721 NFTs, and may be treated similar to either depending on the situation.

If you already know the basics, skip to the Jutsu Implementation of 404 here.

CW20 Recap

CW20 is a specification for fungible tokens based on CosmWasm. It is largely based on the ERC20 specification adopted by the Ethereum Foundation.

The most notable features of a CW20 are the following:

  1. Fungibility/Non-Unique - i.e. one CW20 token is perfectly exchangeable with another CW20 token.

  2. Divisible/Fractional - i.e. CW20 tokens typically can be traded in factions of a token. For example, you may choose to sell/buy 0.2 of a CW20 token.

  3. Bulk Transfers or Sale/Purchases - i.e. CW20 tokens typically can be traded in bulk. For example, you may choose to sell/buy 10000.02 of CW20 tokens in a single transaction.

CW721 NFT Recap

CW721 is a specification for non-fungible tokens based on CosmWasm. It is largely based on the ERC721 specification adopted by the Ethereum Foundation.

The most notable features of a CW721 are the following:

  1. Non-Fungibility/Unique - i.e. every CW721 token is unique - one CW721 token is different from another CW721 token.

  2. Non-Fractional/Non-Divisible - i.e. CW721 tokens cannot be traded in factions. You may only trade/transfer a CW721 as a whole.

  3. Single Transfers or Sale/Purchases - i.e. CW721 tokens cannot be traded in bulk and may only be traded singularly. If you intend to transfer/trade 3 CW721s, you would have to do so in 3 different transactions.

CW404 Overview

CW404 is a specification for hybrid tokens based on CosmWarm. The specification is a hybrid of CW20 and CW721 tokens, and envisions a token that combines the divisibility of CW20 tokens and the uniqueness of CW721 tokens.

Here are the features of the CW404:

  1. Fungible and (kinda?) Unique - One CW404 token is perfectly exchangeable with another CW404 token. However, if you do have a whole CW404, that token also represents a non-fungible asset. By extension, multiple CW404 tokens represent a collection of non-fungible assets.

  2. Fractional/Divisible - CW404 tokens can be traded in fractions, and you may trade/transfer any fraction of a CW404. However, trading CW404 tokens like so may impact the total number of non-fungible assets that the bag of CW404 represents.

  3. Bulk Transfers or Sale/Purchases - i.e. CW404 tokens can be traded/transferred in bulk. You may transfer any amount of CW404s. However, such transfers of CW404 tokens may impact the total number of non-fungible assets that the bag of CW404 represents

  4. Individual/Single Transfers or Sale/Purchases - i.e. If you wanted to trade/transfer a particular non-fungible asset that your CW404 collection represents, you may do so individually, and this would reduce your total holding of CW404 by 1. If you wanted to trade/transfer three particular non-fungible asset, you would have to do so in 3 separate transactions.

This describes a generic CW404 specification, check out the CW404 implementation by Jutsu World here.

Last updated