I want to build an nft-minting program with different tiers. I want users nfts to be able to level up, which would mean that the nft has a change in attributes such as its image.

I'm exploring the concept of using a metaplex collection for a project but I need some clarification on what exactly it does and how it works.

My current plan, according to my understanding of a collection, is that each level would be represented by a collection, such that all the nfts that belong to that level/collection look alike(share the collection's metadata). A "level-up" would work by changing the collection the nft currently belongs to so that its metadata changes to the new one.

Here are my questions:

  1. Is an nft's metadata overriden by that of the collection that owns it? I want all the nfts that belong to the collection to all have the collection's metadata, rather than distinct ones.
  2. Can an nft be updated to belong to a new collection?

2 Answers 2


Answers :-

  1. NFT's metadata and the collection's metadata has no such relation's except the fact that when you create a Metaplex verified collection the collection field in your NFTs get's updated with the collection mint address and the verified boolean turning true.If you want all your NFT's to have the same metadata you can point all of them to the same URI or have different URIs with same data.

  2. Yes a NFT can be updated to change it to a new Collection. It should be pointing to a different Collection NFT in this case.

  • Thanks. This answers both my questions splendidly
    – Ademola
    Commented Mar 1, 2023 at 5:22

Currently, the "collection" an NFT belongs to is simply the mint address of another NFT designated as the "collection NFT".


To enable metadata changes based on "levels" for your use-case, you could keep the NFTs mutable and implement an instruction that updates the metadata URI stored on the metadata account associated with the mint address of each NFT. This way, the holder can "level up" the same NFT without needing to mint a new one or burn the previous NFT for each level.

Additionally, you could upload the metadata to a cloud service such as AWS, which would simplify later updates to metadata such as images, name, attributes, and so on. For example, if you use the same metadata URI for all NFTs at a particular level, updating the image URI stored in the metadata URI would result in all existing NFTs at that level having their image updated (without having to do anything on-chain). This process could be more difficult if you upload the metadata using a permanent storage service such as Arweave, since it would require creating a new metadata URI and updating the metadata account for all existing NFTs.

  • I'll just have to consider the trade-offs. I thought for a second that collections solve my problem, but that's seems to not be the case. Thanks for the clarification
    – Ademola
    Commented Mar 1, 2023 at 21:44

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.