What Is the ERC-1155 Multi Token Standard?
The ERC-1155 multi token standard lets developers manage multiple fungible and non-fungible tokens and token standards under one contract.
Key Takeaways
-
ERC token standards are defined features of tokens that run on the Ethereum blockchain.
-
ERC-20, ERC-721, and ERC-1155 are some of the most popular ERC token standards, along with ERC-777. ERC-20 and ERC-777 define the operation standard for fungible tokens while ERC-721 is popular amongst NFT creators and collectors.
-
ERC-1155 pieces together features of these other standards to develop a flexible token standard that can manage multiple tokens and token standards under one contract.
Most transactions on the blockchain involve token transfers. Tokens are a representation of value on a decentralized network, and can confer varying rights, such as governance and other utilities on a decentralized network. Tokens can be either native to their blockchain (coins) or smart contract tokens.
Native tokens are inherent and their features are defined alongside the blockchain network on which they run. However, the features of smart contract tokens are defined by set guidelines and specifications to ensure they function correctly. Smart contract tokens on the Ethereum blockchain are subject to the ERC token standard.
Now, let’s take a look at what ERC token standards are.
What Are ERC Token Standards?
ERC (Ethereum Request for Comment) token standards are smart contract standards for tokens running on the Ethereum blockchain. They define the core behavior of tokens issued on the network. Functionalities defined in ERC token standards include fungibility, spend behavior, and possible asset security algorithms.
ERC standards let developers specify how their tokens communicate with the Ethereum network and with the users as well. Each standard has some predefined logic (like fungibility) for tokens leveraging them and gives developers the freedom to dictate other attributes before the contracts are deployed. ERC standards and their naming conventions are also often adapted by other blockchains, such as BNB Chain's BEP token standard, and Tron's TRC token standard.
Some popular ERC standards are ERC-20, ERC-721, and ERC-1155.
ERC-20 Token Standards
The ERC-20 standard is used to create fungible tokens. This means each token created under the ERC-20 standard is equal to the other and can be used together and interchangeably. They share the same identity and can be sent in bulk.
For instance, an ERC-20 token contract to mint a million tokens basically issues a million of the same token. Each token can be spent as wished and in the same way. Every token in the contract has equal value; the same metadata, and can be used for the same purpose. ERC-20 tokens can also be broken into pieces and sent in decimals, where creators can specify the decimal limits.
ERC-777 Token Standards
The ERC-777 standard is similar to ERC-20; the only difference is some improvements in token management, like burning and minting, and ERC-777 tokens cannot be split into decimals. ERC-777 introduces the receive hook, allowing contracts to react when they receive a token.
ERC-721 Token Standards
ERC-721 standards are popular amongst NFT creators and NFT collectors. ERC-721 tokens are non-fungible. Each token in a mint is unique and can be ‘decorated’ differently, where ERC-721 token creators define the attributes of each token, which are fixed. Despite being minted under the same contract, each token cannot be spent in place of the other and they cannot be split into pieces in their original form. NFT games also adopt the ERC-721 token standard for unique in-game items.
Now, let’s look at the ERC-1155 token standard, which is a fusion of ERC-20, ERC-721 and ERC-777.
What Is the ERC-1155 Standard?
One of the creators of the ERC-1155 standard was the Enjin team, who were looking to develop a ‘one fits all’ design for smart contract tokens. Its provisions are defined under the EIP-1155 authored by members of the Enjin, Horizon, and Turing teams. ERC-1155 is a hybrid smart contract standard.
ERC-1155 standard allows some flexibility for smart contract tokens and smart contract developers. It allows developers to issue different smart contract tokens and token types under the same contract, with the goal of striking out the need to write a new contract each time a developer wishes to create a new token. This design was drawn out with contemporary blockchain games and applications in view. In situations where gamefi developers wish to mint several non-fungible and fungible game items, writing new contracts for each type and item could be cumbersome. With ERC-1155, the developer can deploy as many tokens as required under the same contract.
ERC-1155 tokens can bear features of any of the fungible and non-fungible token standards. Developers can mint both fungible and non-fungible tokens under the ERC-1155 contract. The ERC-1155 standard also supports semi-fungible tokens (SFTs). SFTs can be interconverted between the fungible and non-fungible standards, where SFTs can be traded as fungible tokens while maintaining unique properties.
Resource-Efficient Token Management
The Ethereum blockchain manages tons of smart contracts, some of which are related to the same project. This could be multi-token projects (like projects operating separate governance and utility tokens), gamefi projects issuing fungible and non-fungible tokens, and other similar cases. By design, ERC-1155 saves resources for the network by packaging these tokens under the same contract, removing the need to write a new contract for each token.
ERC-1155 enables batch transfer as well. This means that users can send multiple tokens under the same contract at once. Since the same contract is called for the transaction, the gas fee paid is less, relative to sending each token separately. The batch balance feature can also save ample time in cases where users wish to obtain the records of balances for each token under the same contract.
Utility of the ERC-1155 Token Standard
Some of the use cases already in place for the ERC-1155 token standard include:
Open Edition NFTs
Open edition NFTs have no set limits on the number of art pieces (or digital signatures for multimedia) that can be minted by the collectors. Collectors that participate in the minting event can mint as many NFTs as they can afford.
In most cases, the only set limit is the minting period. Throughout the duration of the NFT minting event (say 24 hours from the start of minting), any number of NFTs can be minted. When this set time elapses; the minting event ends and the number of NFTs minted by the collectors becomes the total supply for the collection. The rarity of the collection and its art depends on the number of collectors who participated in the event and the amount of art they minted.
Open edition NFT projects leveraging the ERC-1155 standard can map the artworks minted by the collectors to one contract. ERC-1155 smart contract standard also allows the batch transfer of NFTs and gives the creator the freedom of adding a fungible token to their NFT project under the same contract.
Dynamic NFTs
Through ERC-1155, NFT creators can upgrade or revamp their NFTs after the initial mint. One application of this is dynamic NFTs, which retain their unique identifiers, while their metadata and appearance change according to smart contracts in response to outside data. Smart contracts handles the metadata-changing process, and they are designed to obtain information from oracles and run an automatic change in response to external data.
Music NFTs
Musicians can use the ERC-1155 token standards to distribute their original songs, where multiple copies of the music NFT can be minted and held by multiple people. Musicians can set the number of music NFTs that can be minted, or they can combine the mechanics of open edition NFTs, where collectors can mint as many copies as they wish during a certain period.
Gaming
NFTs are prevalent in decentralized games; in-game items like weapons and skins can be represented as NFTs with each gamer retaining full custody of their items. The ERC-721 smart contract token standard was first used in the CryptoKitties games and has since this time dominated the NFT space, but they could be limited in functionality due to their rigidity. Likewise, the utility of ERC-20 tokens in games are limited largely to functioning as in-game currency. With only these two token standards, this meant ERC-20 contracts for in-game currency and many ERC-721 contracts for each piece of gaming equipment.
With ERC-1155, developers can create fungible tokens and multiple ERC-721 tokens under one contract. Not only does this save developers’ resources, it also allows efficient use of fungible and non-fungible tokens within the same smart contract. Gamers can also trade their NFTs in batches, as ERC-1155 supports the batched transfer of assets.
ERC-1155 vs. ERC-20
The ERC-20 smart contract standard was one of the earliest smart contract token standards on the Ethereum blockchain and arguably the most popular ERC standard. Majority of existing and new projects adopt this standard for issuing and distributing tokens. ERC-20 tokens are fungible, a similar feature it shares with the ERC-777 standard.
In comparison, ERC-1155 supports the creation and management of fungible and non-fungible tokens. However, as mentioned above, the ERC-20 standard is designed for fungible tokens only. Each ERC-20 token lives in a separate contract as the standard doesn’t support multiple contracts. Batched transfers are also not possible with the ERC-20 standard; only tokens with the same ID can be transferred at a time. Meanwhile, ERC-1155 supports the batched transfer of assets, saving cost and time relative to the number of unique assets transferred per batch.
ERC-20 token transactions are final. There are no algorithms to run authentications on transfers and once the transfer request is executed, the action cannot be reversed. This is a bit different for the ERC-1155 standard tokens, thanks to the transfer safety rules. The ERC-1155 safe transfer rule delineates conditions in which a token transfer reverts. The smart contract verifies that the transaction is in agreement with each of the rules to avoid exploitations.
ERC-20 is a relatively simple smart contract standard that defines (fungible) asset issuance and transfer without additional utilities. ERC-1155 improves on the fungible token creation and management system of the ERC-20 standard and adds extra utilities while trimming the complexities of building on the blockchain.
|
ERC-20 standard |
ERC-1155 standard |
Asset type support |
Supports fungible tokens only. |
Supports fungible, non-fungible, and semi-fungible tokens. |
Batch transfer |
Only tokens with the same ID can be transferred at once. |
Multiple tokens and token types under the same contract can be transferred at once. |
Transfer security |
No transfer safety rules and transactions cannot be reverted. |
Transfers must conform to the transfer safety rules and can be reverted. |
Atomic swap |
Not inherently possible for ERC-20 tokens. |
Can be developed for ERC-1155 tokens as there is no need to approve individual tokens separately. |
ERC-1155 vs. ERC-721
The ERC-721 standard lets you create unique, non-fungible tokens on the Ethereum blockchain. These tokens cannot be used interchangeably with each other, each token has its own defined characteristics, and can only be sent one at a time. The ERC-1155 standard is also used to create non-fungible tokens but differs from ERC-721 in certain ways.
While ERC-721 only supports the creation of non-fungible tokens, the ERC-1155 standard supports NFTs and fungible tokens. It combines the abilities of ERC-20 and ERC-721 in this case. In addition to offering support for both token types, they can be minted and managed under the same contract. The developer can create tokens to define items in their game and also a native fungible token for the game’s ecosystem. Players can find both token types in the same contract. The ERC-721 standard doesn’t have this feature at the time of writing. Therefore, for every token, the developer needs to write a new contract and users have to manage their assets separately.
In addition, the ERC-1155 standard does not store additional metadata and links smart contracts to multiple URIs, this makes for more flexibility and reduces the cost of development. For the ERC-721 standard, the metadata must be stored in the smart contract, which could consume more resources and reduce flexibility. ERC-721 standard’s support for static metadata alone also means that it could be unable to support developments in the NFT space like dynamic NFTs.
ERC-1155 standard’s batch transfer feature also means that these multiple tokens in the contract can be sent at a time (in a single transfer) and a single fee is paid for the transaction. While batch transfers might attract higher fees, they could still save a significant amount in gas fees and time compared to performing the transactions one after the other. However, batch transactions aren't available for ERC-721 tokens, requiring each token is sent separately, one at a time.
The transfer safety rule in the ERC-1155 standard offers an extra layer of verification for transfer, protecting users from accidental or erroneous transfers. It also allows reversion in case. This feature as already explained is unique to the ERC-1155 standard and absent in ERC-721 and ERC-20 standard. ERC-1155 could score a significant point over the ERC-721 standard in terms of safety, thanks to this feature.
ERC-1155 standard removes the need to approve individual tokens separately and makes it possible to develop atomic swaps for ERC-1155 tokens. This is not possible with the ERC-721 standard and ERC-721 tokens.
|
ERC-1155 standard |
ERC-721 standard |
Flexibility |
ERC-1155 metadata can be modified through smart contracts that obtain information from oracles and run an automatic change to the NFT based on this data. |
ERC-721 smart contracts only support static metadata stored in the contract. |
Asset type support |
Supports fungible tokens, non-fungible tokens, and semi-fungible tokens, under the same contract. |
Supports fungible tokens. Separate smart contracts must be written for each token. |
Batch transfer |
Different tokens in the same smart contract can be sent in the same batch. |
Not available for ERC-721 tokens. Each token must be transferred separately. |
Asset Transfer Safety |
The transfer safety rule validates each transfer to prevent exploitations. Transactions can be reverted in case of exploits. |
Not available for ERC-721 tokens. |
Final Thoughts
The ERC-1155 standard offers a number of token-level improvements for tokens running on the Ethereum blockchain or any other network that employs similar technologies. We have discussed how this works and how it compares to other standards. While the flexible features enjoy the limelight, the additional security features could benefit the everyday blockchain enthusiast even more. A handful of projects are already utilizing the technologies it presents, predominantly NFT projects. Also, as the crypto space develops, projects in other sectors could explore even more applications for the ERC-1155 token standard.
As always, note that this article is only for educational purposes and no information here should be taken as financial advice.
Subscribe to the CoinGecko Daily Newsletter!