This article outlines the token standards relevant to NFT creators. If you’re looking for how to mint an NFT on Algorand on an NFT minting platform, with smart contracts, or with ASAs, read this comprehensive guide.
Two key terms you need to know ahead of creating NFTs on Algorand are ARC and ASA. First, we will explain those terms.
ARC stands for Algorand Request for Comments. An ARC is a design document providing information to the Algorand community or describing a new feature for Algorand, its processes, and its environment. ARCs are the primary mechanisms for proposing new features and collecting community technical input on an issue. We must refer to them when creating fungible and non-fungible tokens, building applications, making transactions, and basically, everything that needs an ecosystem consensus to work.
Find out more about Algorand Requests for Comments.
ASA stands for Algorand Standard Assets. ASAs are on-chain assets that benefit from the same security, compatibility, speed, and ease of use as the Algo. ASAs can represent stablecoins, loyalty points, system credits, in-game points, and more.
Most NFTs are minted on Algorand through ASAs; they are built into the protocol and created using a special type of transaction. This is distinct from some other blockchains, where a smart contract is necessary to create an NFT.
It’s also possible to mint NFTs on Algorand through a smart contract. It will depend on your project requirements as to whether this is the most suitable option. We will detail the options below.
Learn more about Algorand Standard Assets.
This section outlines the basic conventions of each relevant ARC token standard and their use cases.
ARC-3 (or ARC-0003) is the original token standard for creating NFTs on Algorand.
FIFA+ Collect digital trading cards are minted with ARC-3.
Find detailed information about ARC-3.
Note: ARC-69 was introduced for more flexibility and to store metadata on-chain. However, this is now being phased out, and it’s recommended that creators combine ARC-3 and ARC-19.
ARC-19 should be used in conjunction with ARC-3 to increase the functionality of an NFT.
Find detailed information about ARC-19.
Mostly Frens is an example of ARC-19. It’s a dynamic, mutable PFP collection where the Frens evolve as they are fed tokens.
Al Goanna’s second drop, Mutants Vs Zombies, combines ARC-3 and ARC-19 standards.
Note: Before ARC-19, ARC-69 was the main standard for upgradable NFTs.
ARC-72 is the standard for creating NFTs through smart contracts on Algorand.
Find detailed information about ARC-72.
ARC-18 is the standard for enabling royalty payments on NFTs. It should be used in conjunction with ARC-3 and ARC-19.
Find detailed information about ARC-18.
Note: ARC-18 is an application of ARC-20.
ARC-41 is an upcoming ARC that will allow the bundling of digital assets.
Freezing and clawback are two features of ASAs that allow the creator of an ASA to control who can own and transfer the asset.
Freezing: Freezing an ASA prevents the asset from being transferred or sold. This can be useful if the creator wants to prevent the asset from being used in a way that they do not approve of. For example, a creator might freeze an ASA if they believe it is being used for illegal or fraudulent purposes. Freezing can also be useful for tying non-transferable NFTs (or “soulbound tokens”) to certain wallets.
Clawback: Clawback allows the clawback manager (i.e., a smart contract, a logic signature, or a classic wallet) of an ASA to take back the asset from the current owner. This can be useful if the creator believes that the asset has been stolen or lost. For example, a creator might claw back an ASA if they believe the owner is violating the terms of service or if the ASA was stolen.
Freezing and clawback can be applied in the parameters of a smart contract and therefore need to be defined in advance. The parameters can include the address of the creator, the number of signatures required to clawback the ASA, and the amount of time that must pass before freezing or clawback can be executed.
Learn how to apply freezing and clawback parameters.