Native tokens is a new feature that enables the transacting of multi-assets on Cardano. Users can transact with ada, and an unlimited number of user-defined (custom) tokens natively.
Native support offers distinct advantages for developers: there is no need to create smart contracts to handle custom tokens, for example, which removes a layer of added complexity and potential for manual errors since the ledger handles all token-related functionality.
The native tokens feature extends the existing accounting infrastructure defined in the ledger model (originally designed for processing ada-only transactions) to accommodate transactions using a range of assets. These assets include ada and a variety of user-defined custom token types.
Read more about native tokens and how they compare to ada and ERC20 and watch our native tokens explainer video.
Browse native tokens created on the Cardano blockchain and see their transactions in an interactive dashboard that allows filtering and searching: nativetokens.da.iogservices.io.
Single asset ledgers
Cryptocurrency ledgers that track exactly one type of asset are called single-asset ledgers.
Multi-Asset (MA) support
A blockchain, ledger, or cryptocurrency is said to have multi-asset (MA) support when the network or ledger supports tracking transfer and ownership of different types of assets on its ledger. In the Cardano environment, this functionality is provided by the native tokens feature.
This feature extends the existing accounting infrastructure defined in the ledger model, which is designed for processing ada-only transactions, to accommodate transactions that simultaneously use a range of assets. These assets include ada and a variety of user-defined custom token types.
Native versus non-native MA support
Some cryptocurrency ledgers have built-in support to track ownership and transfer of more than one type of asset. This type of MA support is called native. Cardano’s MA functionality is native.
If a cryptocurrency platform has sufficiently powerful smart contract functionality, it is possible to track assets for which there is no ledger accounting support. This is done with a layer-2 solution built using smart contracts. This type of MA support is non-native.
Assets and tokens
An asset is an object that represents value on the blockchain. These objects can be a variety of things, such as a digital asset like ada, a role, a credential, or a quantity of goods.
The term asset can refer to either:
- the identifier of a class of objects, such as “ada” or “couttscoins”; or
- a particular quantity of a specific object, such as “100 lovelace”, “24 couttscoins”, “this house” or “these 10 tonnes of coffee”
An asset is uniquely identified by an asset ID, which is a pair of both the policy ID and asset name. It is important to note that although ada can act as an asset, it is not represented using an explicit policy ID.
Tokens that have the same asset ID have the property of being fungible with each other, and are not fungible with tokens that have a different asset ID. An asset ID is a unique identifier for a collection of fungible tokens.
The native token lifecycle
The native token lifecycle consists of five main phases:
The following diagram outlines the interaction between the system components:
Each of these logical phases involves transactions on the Cardano blockchain, which may incur fees in ada. The main groups of actors are:
- Asset controllers, who define the policy for the asset class, and authorise token issuers to mint/burn tokens. They may also retain co-signing rights for any tokens that are issued/burnt.
- Token issuers, who mint new tokens, maintain the reserve of tokens in circulation, issue them to token holders, and burn tokens when they are no longer of use.
- Token holders, who hold tokens, send them to other users, use them for payment, and who may redeem them with the issuers when they have finished using them. Token users may include normal users, exchanges etc.
Native tokens on Cardano
Ethereum requires custom code for user-defined tokens to be supported on the chain; this adds a layer of complexity, cost (gas is needed to pay for the execution of the code), and inefficiency, since token code for both standards is replicated and adapted, rather than being part of the system itself. This is an inherent weakness of the Ethereum chain, because it leaves room for human error. Custom code, if done sloppily, can introduce bugs that could potentially lead to great financial loss. In one particularly infamous incident, software bugs led to the loss of ether worth $300m. The Cardano approach aims to prevent such catastrophic errors.
Cardano supports user-defined tokens natively, that is, without the need for custom code, through the native tokens framework. Native tokens is an accounting system defined as part of the cryptocurrency ledger and enables tokens to be transacted with (tracked, sent and received.) This eliminates the need to use custom code or costly smart contracts. In short, native tokens remove the unnecessary layer of expensive complexity and inherent inefficiency found in the Ethereum chain.