I want to make an Algorand wallet app that can classify ASAs to Assets or NFTs.
Given an ASA. How can I tell whether it is an asset or an NFT?
On Pera wallet:
This is an NFT: Algorand
This is not an NFT: Algorand
Both have decimals = 0, supply = 1 and an URL.
There are 2 standards for NFT’s on algorand.
ARC-3
ARC-69
---
arc: 3
title: Algorand Standard Asset Parameters Conventions for Fungible and Non-Fungible Tokens
status: Final
discussions-to: https://github.com/algorandfoundation/ARCs/issues/3
---
# Algorand Standard Asset Parameters Conventions for Fungible and Non-Fungible Tokens
## Summary
This document introduce conventions for the parameters of Algorand Standard Assets (ASAs) for fungible tokens and non-fungible tokens (NFTs).
## Abstract
The goal of these conventions is to make it simpler for block explorers, wallets, exchanges, marketplaces, and more generally, client software to display the properties of a given ASA.
## Specification
This file has been truncated. show original
---
arc: 69
title: Community Algorand Standard Asset Parameters Conventions for Digital Media Tokens
status: Living
discussions-to: https://github.com/algorandfoundation/ARCs/issues/64
---
# Community Algorand Standard Asset Parameters Conventions for Digital Media Tokens
## Summary
We introduce community conventions for the parameters of Algorand Standard Assets (ASAs) containing digital media.
## Abstract
The goal of these conventions is to make it simpler to display the properties of a given ASA. This ARC differs from [ARC3](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0003.md) by focusing on optimization for fetching of digital media, as well as the use of onchain metadata. Furthermore, since asset configuration transactions are used to store the metadata, this ARC can be applied to existing ASAs.
While mutability helps with backwards compatibility and other use cases, like leveling up an RPG character, some use cases call for immutability. In these cases, the ASA manager MAY remove the manager address, after which point the Algorand network won't allow anyone to send asset configuration transactions for the ASA. This effectively makes the latest valid ARC-69 metadata immutable.
This file has been truncated. show original
You need to check if asset metadata matches any of these ARC standards.
1 Like
Just be careful that ARC-3 is actually for both NFT and fungible tokens.
The definition of NFT is sometimes fuzzy.
A pure NFT would be with total supply = 1 and number of decimals = 0.
But some people call NFT:
assets with a small total supply
or assets where total supply = a power of 10 (=10^k) and number of decimals = k (usually called fractional NFTs)
ARC69 is only for NFT, so if you asset is ARC69 then the author meant it to be NFT.
1 Like
The only different between the two tokens I mention above is that the NFT has ipfs url and the FT has http url. Maybe that is how Pera team classify tokens?
PeraWallet has its own rules regarding NFTs that you can check there:
1 Like