Is it possible for NFTs on Cardano to change image while the buyer holds it in their wallet?

As someone who does not have a deep understanding of how NFTs work on Cardano, I was curious if a few things are possible. A few things such as, is it possible for NFTs on Cardano to change image while the buyer holds it in their wallet, can a timer be set once X amount of NFTs have been sold, and can a transaction immediately execute when an NFT changes image?

Example would be as this:

  1. I generate and sell 100 blurred NFTs on a website.

  2. You buy one or two of these blurred NFTs.

  3. Over a period of time, more and more NFTs are sold. I have a minimum target amount to sell 75 (75% of supply) NFTs.

  4. Once 75 have been sold, a 72 hour timer begins. It counts down to when the bought NFTs change image.

  5. Once the 72 hour timer is up, the blurred image becomes un-blurred while the buyers hold it in their wallet and an automatic transaction from me goes out to all the buyers. Some buyers receive an NFT while other buyers receive Native Assets. What determines what the buyer receives is based on the initial blurred NFT purchased.

Obviously the number amounts and time periods in the example are arbitrary.

Really, what I want this to resemble is something similar to drawing names from a hat. Where you put your name in the “hat” by buying a blurred or hidden NFT. Once your name is “drawn,” you receive a prize.

If this is possible, how would/could someone with little to no experience in this kind of work accomplish making this? Are there resources available that break this down in a digestible way? Any help with these questions would just be great.

1 Like

yeah, you just have to change the metadata and the ipfs hash by minting a new NFT and then burning it

And you also have to convince the NFT holders to sign those burn & mint transactions.

no you don’t. You just mint a new NFT yourself and then burn it, the latest transaction metadata would be the one which would be displayed.

How do you burn the NFT from a user’s wallet without his signature? You need to consume the UTxO holding the NFT in order to burn it, and you cannot do it without the signature of the wallet where that UTxO is.

Mint a new NFT in your own wallet and then burn it. The metadata would also change for the user’s NFT in his wallet.

This means that for a short time, there will be 2 tokens with the same policy ID and name.
I’ll have to test it myself.

that is true. but the metadata of the latest mint transaction is taken. A similar thing happened with the mint of Introverts NFT.

1 Like

I have to test it. But it seems like this is actually a bug, not a feature. It is yet another danger for NFT holders of NFTs with open policies. This way, the policy owner could anytime change all the NFTs’ images with a poop image (and every other thing in the metadata).

1 Like

read the metadata CIP and you would know why it is not a bug

Well, CIP 25 considers it a feature and it is documented: https://cips.cardano.org/cips/cip25/#updatemetadatalinkforaspecifictoken

Yeah, for NFTs with open policies you have to have lots of trust in the issuer. They could also mint more at any time. But, then again, they could also mint new ones with the same content under a different policy.

The metadata would also change for the user’s NFT in his wallet.

This means that for a short time, there will be 2 tokens with the same policy ID and name.. .

Yes. Images are basically part of the metadata. The person who has access to the policy ID can change yours by minting a duplicate and then burning it.