Evolutionize the existing NFT


So someone told me that it’s possible to evolution the existing NFT. Meaning we can mint a NFT token and then give it to someone. And then later we can update the metadata of that NFT within the remote wallet, which will change the image which is being displayed on that NFT.

I understand that for this to work the policy has to stay open. But my question is what else is required? Like what is the process to update the metadata in the remote wallet?

1 Like

Hello @Weird_Sapiens

All you need to do is stay in control of image source. So instead of having it on IPFS:/ servers you have it on you own website/server. This way you can change the image as much as you like (as long as you keep the same name, so the link stays the same).

image links to …sapiens.net/image1.jpg
to change image on NFT all you do is name new image the same name (image1.jpg) and upload it over the old image. Now, when anyone looks at that NFT, they see new image.

Hey thanks for answering but this sounds wrong. Because we need to provide the CID in order to mint the NFT right? so we get that has when we have that on the IPFS

So my question would be

a) How will I get the CID if I’ll just host the image on my own server/website?

Also a general different question, say I mint the NFT and then using the same policy script but different metadata I mint again, what will happen? Will the metadata change? Is that the way to actually update the image view?

The only thing required is to mint another with the exact same policy ID and asset name. Then you should burn the newly minted item in your local wallet and indeed the item in their remote wallet will be updated. I do this frequently.


So I should follow the same process of minting but this time I should just update the content of the metadata.json file and keep everything else same?

Forgive me if this is a stupid question but can I ask why do I need to burn the token in my local wallet?

Ok, I tried minting again by updating the metadata.json(policyID was kept same) and keeping everything else same. But I am encountering the error saying:

Command failed: transaction submit  Error: Error while submitting tx: ShelleyTxValidationError ShelleyBasedEraMary (ApplyTxError [UtxowFailure (UtxoFailure (ValueNotConservedUTxO (Value .......

I am not sure why this is happening because I’m following the exactly same steps I did on my first minting.

Those steps are documented here(Minting NFTs | Cardano Developer Portal). This time I’m just directly starting from the Building raw transaction part

Any help?

That error means your input and output amounts did not match. Make sure you are calculating the correct values for minAda, fee, unspent outputs, etc. Since changes in meta data size (bytes) can impact the processing fee it is likely that the updated data in your metadata.json requires some minor updates to your I/O to successfully process the transaction.