How to tell whether an asset is NFT

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

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