Token standards are the set of rules, conditions, and functions that dictate how a crypto token works. Here we take a deeper look at the common token standards on Ethereum and a few others.
What are Token Standards?
Before delving into token standards, it is helpful to understand the mechanisms of a smart contract standard. Fundamentally, smart contract standards are rules a smart contract must comply with in order to function as intended on the underlying blockchain network.
These standards are application-level specifications, such as token standards, name registries, and library-package formats. With this set of smart contract standards and clearly defined parameters, anyone with sufficient knowledge may create their own ERC token. In short, they enable smart contracts to perform their basic functions.
Which brings us to token standards, a subset of smart contract standards. For blockchains that support smart contracts, token standards represent a guide for the creation, issuance, and deployment of new tokens on the underlying blockchain.
Most blockchain smart contracts currently use Ethereum, with the most common token standards being ERC-20, ERC-721, ERC-777, and ERC-1155.
Common Token Standards on Ethereum
Ethereum Request for Comment (ERC) is essentially a set of technical documents containing guidelines on developing a smart contract. They define a specific set of functions for each token type and facilitate the interaction between applications and smart contracts.
Anyone can create an ERC. However, it requires going through the process of an Ethereum Improvement Proposal (EIP), which is a document with the proposed features and processes for the Ethereum blockchain network.
Once a developer submits their proposal, it will be assessed and scrutinised by Ethereum’s core developers. If the community deems it an important addition to the blockchain ecosystem, the proposal will be accepted, finalised, and implemented.
As soon as this process is complete, the initial document becomes an ERC standard that other developers can use to create their own tokens.
Here’s a summary of the most common ERC token standards:
ERC-20 Token Standard
The ERC-20 token standard can be described as a blueprint for creating fungible tokens on the Ethereum network.
Fungible means that each token (or a fraction of a token) is equivalent to and indistinguishable from another. For example, Alice’s US$1 is equal to Bob’s US$1. Both of them can swap their US dollar because it has the same value. Fiat currency is fungible, and similarly, 1 ETH has the same value as any other ETH.
Like other digital assets, ERC-20 tokens are most commonly developed by organisations and tech-focused companies. They allow the entity to customise the token’s utility, such as granting voting rights and rewarding mechanisms.
Despite the versatility of the token standard, each ERC-20 token has a standardised core functionality. In other words, all tokens created using ERC-20 are interoperable with each other and compatible services such as MyEtherWallet or MetaMask.
From a technical standpoint, there are six primary functions an ERC-20 token must implement:
- TotalSupply – Used to derive the total token supply of a specific ERC-20 token
- BalanceOf – Used to derive the token balance in an Ethereum wallet
- Transfer – Allows the user to transfer the ownership of a token to another
- TransferFrom – Works similarly to transfer function with the added advantage of allowing contracts to transfer tokens on the user’s behalf
- Approve – Used to set a limit on the number of tokens a smart contract can withdraw
- Allowance – Grants external addresses the access and permit to spend the tokens from a certain balance
On top of the compulsory functions above, there are other optional functions that can improve the usability of an ERC-20 token. There are Token Name, Ticker Symbol (e.g. ETH), and Divisibility (how many decimal places can the token support).
By putting the functions above together, it will form an ERC-20 contract. This contract then becomes the foundation of different cryptocurrencies, be it a stablecoin, a security token, or a utility token. Among the most popular ERC-20 tokens today are ChainLink (LINK), Dai (DAI), and Basic Attention Token (BAT).
ERC-721 Token Standard
In contrast with ERC-20, which is a fungible token standard, ERC-721 is a token standard for non-fungible tokens (NFTs). Non-fungible tokens are a special type of cryptographic token that are not mutually interchangeable by their individual specification. This means that 1 token cannot be exchanged for another because of its unique specifications. Therefore, they’re often utilised to represent digital collectables, game items, digital art, event tickets, domain names, and ownership records for physical assets.
An example of a project built on the ERC-721 is CryptoKitties, a game developed on the Ethereum blockchain in 2017 that allows users to buy, sell, and breed digital cats. Currently, the markets to buy or sell NFT digital artworks include OpenSea and Rarible.
Check out Crypto.com’s NFT Gallery for our top collections from leading creators and brands.
ERC-777 Token Standard
ERC-777 aims to address the limitations of ERC-20. This token standard makes it more efficient for smart contracts to send and receive tokens through a mechanism known as ‘Hooks’. Hooks is a function that combines what would have been two messages — sending tokens and notifying a contract — into one. Not just that, the ERC-777 also introduces the additional function to reject transactions from a blacklisted address.
Another feature of the ERC-777 token standard is that it remains backwards compatible with ERC-20 rather than rendering it obsolete. In other words, tokens built on the ERC-20 can freely interact with tokens built on ERC-777 because both of these standards use the same underlying functions.
ERC-1155 Token Standard
The ERC-1155 token standard focuses on incorporating the best aspects of its predecessors for creating fungibility-independent and gas-efficient token contracts. In layman’s terms, it is a standard for contracts that can manage multiple token types. Or, as described by their developers, Enjin, “a single smart contract that can govern an infinite number of tokens”.
The team at Enjin developed this token standard to address the shortcomings associated with ERC-721, specifically the lack of flexibility for batch transfers. To illustrate, in order to send multiple NFTs on ERC-721, a user would be required to perform multiple transactions. As a result, the number of transactions would flood its network with transactions and potentially incur a high transaction cost.
ERC-1155 directly addresses this by supporting batch transfers, which allows the bundling of multiple assets in one smart contract. In doing so, it significantly reduces the potential for a transfer to cause network congestion, while lowering the transaction costs.
Token Standards for Other Blockchains
The types of smart contract protocols currently in use vary widely — essentially, everyone has their own rulebook. Apart from Ethereum, there are several other blockchain projects that focus on the creation of smart contracts. In this section, we will introduce some popular projects with their corresponding token standards.
Token Standards for EOS
The EOSIO blockchain platform implements the core features of blockchain technology, including consensus, fee schedules, account creation and modification, token economics, block producer registration, voting, and multi-sig.
Blockchain software company Block.one developed and maintains the EOSIO open-source platform, which includes the system contracts needed for an EOSIO-based blockchain. These include eosio.bios, eosio.system, eosio.msig, eosio.token, and eosio.wrap.
EOS uses the eosio.token smart contract. This contract defines the structure and actions that allow users to create, issue, and manage tokens on the EOSIO blockchain. The core token on the EOSIO mainnet, EOS, is also issued under the account eosio.token using this smart contract.
Token Standards for NEO
NEO is another project that focuses on building the infrastructure to support smart contracts. NEP (NEO Enhancement Proposals) defines the standards for the NEO platform, including core protocol specifications, client APIs, and contract standards.
Token standards on NEO:
- NEP-5 – Provides systems with a generalised interaction mechanism for tokenised Smart Contracts
- NEP-11 – The standard for creating NFT contracts
- NEP-17 – The token standard that specifies a general interaction mechanism for tokenising smart contracts
Token Standards for Tezos
Tezos Interoperability Proposal (TZIP) is the design document that allows the Tezos community to define a feature, interoperability standards, or an update to its processes or environment. It is a process that complements Tezos’ formal on-chain governance process. Typically, a TZIP document will contain the technical specifications, how the updated features can be implemented, and how it improves the overall network.
Token standards on Tezos:
- TZIP-7 – Implements token transfer operations and approvals for spending tokens from other accounts. This resembles an ERC-20 in the Tezos network
- TZIP-12 – The TZIP-12 was created as a Multi-Asset interface to prevent Tezos developers from being dependent on standards specific to token types. Specifically, TZIP12 proposes a unified token contract interface, which supports a wider range of token types, such as fungible and non-fungible tokens like ERC-1155