enter image description here

The screenshot shows details about the crypto art platform SuperRare's non-native token "SUPR" for minting NFTs. I guess this is the token that creators mint their art too.

But it says only 16,248 of these NFTs can be minted based on the max supply field, meaning 16,248 artworks. Is this correct? Why would SuperRare limit themselves that much, when they could've instead allowed millions of NFTs to be minted in the future?

Are the 2,488 "Holders" inclusive of both creators and collectors, or just creators?

Also, what does the pop-up info mean, "submit token burn details"? who is the project owner?

2 Answers 2


The answer is in the name of the token: SuperRare.

There is a negative correlation between the value of an asset and its total supply, even when the tokens are non-fungible.

That's why we see some NFTs being sold for 100 ETH.

Holders can be both creators and collectors:

  • creators when the NFT is minted, it can then be put in auction for example.
  • collectors when the NFT is traded.

For the submit token burn details info, I believe this is an option for the contract owner who can communicate to Etherscan the token’s burn history.


The SuperRare smart contract implements ERC721Enumerable. In this contract, we have the array _allTokens counting the number of NFTs:

  // Array with all token ids, used for enumeration
  uint256[] private _allTokens;

Then we have the totalSupply function which returns the length of that array:

  * @dev Gets the total amount of tokens stored by the contract
  * @return uint256 representing the total amount of tokens
 function totalSupply() public view returns (uint256) {
   return _allTokens.length;

Note that, unlike ERC20, the totalSupply method is not part of the base ERC721 standard, but is implemented by ERC721Enumerable which is an enumeration extension smart contract for ERC721.

Finally, the mint function:

   * @dev Internal function to mint a new token
   * Reverts if the given token ID already exists
   * @param to address the beneficiary that will own the minted token
   * @param tokenId uint256 ID of the token to be minted by the 
  function _mint(address to, uint256 tokenId) internal {
    super._mint(to, tokenId);

    _allTokensIndex[tokenId] = _allTokens.length;

We can see the _allTokens array is incremented after a mint. Conversely, it is decremented after a burn. The totalSupply is therefore not fixed, which is logical given the ambition of the project to create an art marketplace.

  • so when the 16,428'th token is minted, no more artworks are allowed and SuperRare will shut down their business like Job All Done?
    – user610620
    Mar 5, 2021 at 17:17
  • 1
    @user610620 I looked to the smart contract and the answer is no. The totalSupply is flexible, you can see my update.
    – clement
    Mar 6, 2021 at 8:43
  • in terms of _allTokens being decremented after a burn, does someone burn NFTs simply by sending to a random or the 0x00000 address? How easy is it to retract mistakes of sending NFTs? a $100k NFT could be burned instantly by a sending mistake. who are the burn details sent to, re: the pop-up info box?
    – user610620
    Mar 6, 2021 at 17:14
  • in terms of _allTokens being decremented after a burn, does someone burn NFTs simply by sending to a random or the 0x00000 address? No, the relevant mappings/arrays are modified, there is no transfer. However it emits the transfer event with the zero address as the recipient, but it's purely conventional.
    – clement
    Mar 7, 2021 at 8:49
  • To burn a token, the NFT owner must explicitly call the high level burn function (deleteToken). An "accidentally burn" is therefore very unlikely. But if it happens, it is irreversible.
    – clement
    Mar 7, 2021 at 8:53

Long Story short SuperRare havent limited themself.

What you see Max Token Supply number actually is how many tokens are minted till now - how many tokens are burned till now

Max Token Supply just returns then number given out by totalSupply() of the contract. You can check totalSupply() function here

Minting of SuperRare isn't restricted as _mint() function which is called by _createToken(), and which is called by addNewToken() isn't restriced.

So whenever Whitelisted person calls addNewToken() totalSupply() goes up by one. And whenever token owenr calls deleteToken, it goes down by one.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.