<p>If the policy allows you to mint and burn those same tokens (or NFTs) again, you can update the linked metadata for those NFTs by creating a new minting transaction with the updated metadata and then burning those newly minted tokens.</p>
<p>According to CIP-25 the &quot;valid&quot; metadata for an NFT is that of the latest minting transaction, so just by creating and deleting an exact copy of an NFT you will have &quot;updated&quot; its metadata, since metadata is always connected to transactions, and not to the token itself.</p>
<p><a href="https://cips.cardano.org/cips/cip25/#updatemetadatalinkforaspecifictoken" rel="nofollow noreferrer">https://cips.cardano.org/cips/cip25/#updatemetadatalinkforaspecifictoken</a></p>

CC BY-SA 4.0
2022-04-06T17:09:46.533Z
2022-04-06T17:09:46.533Z
sean
<p>So one way you could do it is by minting NFTs that have a URL in their metadata that links to your server hosting the corresponding metadata - not IPFS.
Then you can easily change the metadata independently of what's on-chain.</p>
<p>It is not very decentralized, since if you're server goes down the NFT's corresponding metadata is not accessible but it gives you the ability to update them without having to create another transaction.</p>
<p>Alternatively, you can use a so called time-lock based minting policies which allows you to change or update tokens up to a certain deadline.
That way you could burn and re-mint a given NFT in the future to update its metadata. But again, trust is required since you basically are in control of the NFTs at all times.</p>

CC BY-SA 4.0
2022-04-07T12:12:46.453Z
This re-minting is allowed in any policy which is not locked yet? I thought locking policies would only limit more NFTs to be added in the policy
joaquimgamero
CC BY-SA 4.0
2022-04-08T10:13:49.243Z
The time based lock just uses some slot deadline - once that slot has passed any tokens minted under that policy are immutable. No further changes can be made to existing token's metadata etc. + no burns/ additions of tokens
Will
CC BY-SA 4.0
2022-04-06T16:00:33.050Z
2022-04-06T16:00:33.050Z
Will
<p>Given a policy with a list of non-fungible tokens,</p>
<ul>
<li>Could a smart contract update the metadata of all NFTs in the collection, under certain conditions?</li>
<li>If not, could this be done &quot;manually&quot; by a node?</li>
</ul>
<p>On a side note, does my question make any sense or am I missing a fundamental aspect on how the whole protocol works?</p>

CC BY-SA 4.0
2022-04-04T22:49:26.347Z
On-chain metadata can't be changed, I think the answers in this [post](https://cardano.stackexchange.com/questions/6719/if-metadata-can-be-changed-how-can-the-uniqueness-of-an-nft-can-be-guaranteed#:~:text=That%20means%2C%20nobody%20can%20update%20the%20metadata%20of%20your%20NFTs.) may help answer your questions.
Myles
CC BY-SA 4.0
2022-04-08T10:19:06.817Z
Great link resource, but as far as I know on-chain metadata can be changed depending on how you mint it. If you use timelocks native scripts or plutus you can indeed change NFT's metadata - just burn and remint them with new metadata attached.
That's been done before. If you really want to ensure immutability right from the beginning you will have to use plutus and the UTxO based approach to mint NFTs one-time-shot.
That was part of the PPP lecture 5/6 I believe
Will
CC BY-SA 4.0
2022-04-08T17:29:21.623Z
Depends on what you count as metadata, if you're talking about a datum in a smart contract that changes based on who owns an NFT for example yes metadata can change. Of course you can burn and re-mint but that's not changing the metadata in-place on the chain of an NFT, you're burning that NFT and minting a new NFT entirely.
Myles
CC BY-SA 4.0
2022-04-11T06:56:53.563Z
While this link may answer the question, it [is better](//meta.stackexchange.com/a/8259/295232) to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes or disappears.
Glorfindel
<smart-contract><nft>
Can a contract update the metadata of the NFTs in an entire policy or does this have to be done by a node manually?
# Can a contract update the metadata of the NFTs in an entire policy or does this have to be done by a node manually?

(Asked by: username_0 on 2022-04-04)

Given a policy with a list of non-fungible tokens,

* Could a smart contract update the metadata of all NFTs in the collection, under certain conditions?
* If not, could this be done "manually" by a node?

On a side note, does my question make any sense or am I missing a fundamental aspect on how the whole protocol works?

**Tags:** smart-contract, nft
> **Comments:**
> **username_1**: On-chain metadata can't be changed, I think the answers in this [post](https://cardano.stackexchange.com/questions/6719/if-metadata-can-be-changed-how-can-the-uniqueness-of-an-nft-can-be-guaranteed#:~:text=That%20means%2C%20nobody%20can%20update%20the%20metadata%20of%20your%20NFTs.) may help answer your questions.  
> **username_2**: Great link resource, but as far as I know on-chain metadata can be changed depending on how you mint it. If you use timelocks native scripts or plutus you can indeed change NFT's metadata - just burn and remint them with new metadata attached. That's been done before. If you really want to ensure immutability right from the beginning you will have to use plutus and the UTxO based approach to mint NFTs one-time-shot. That was part of the PPP lecture 5/6 I believe  
> **username_1**: Depends on what you count as metadata, if you're talking about a datum in a smart contract that changes based on who owns an NFT for example yes metadata can change. Of course you can burn and re-mint but that's not changing the metadata in-place on the chain of an NFT, you're burning that NFT and minting a new NFT entirely.  
> **username_3**: While this link may answer the question, it [is better](//meta.stackexchange.com/a/8259/295232) to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes or disappears.  

---

## 2 answers

### Answer by username_4 on 2022-04-06. Score: 2 | Accepted answer

If the policy allows you to mint and burn those same tokens (or NFTs) again, you can update the linked metadata for those NFTs by creating a new minting transaction with the updated metadata and then burning those newly minted tokens.

According to CIP-25 the "valid" metadata for an NFT is that of the latest minting transaction, so just by creating and deleting an exact copy of an NFT you will have "updated" its metadata, since metadata is always connected to transactions, and not to the token itself.

<https://cips.cardano.org/cips/cip25/#updatemetadatalinkforaspecifictoken>


---

### Answer by username_2 on 2022-04-06. Score: 1

So one way you could do it is by minting NFTs that have a URL in their metadata that links to your server hosting the corresponding metadata - not IPFS.
Then you can easily change the metadata independently of what's on-chain.

It is not very decentralized, since if you're server goes down the NFT's corresponding metadata is not accessible but it gives you the ability to update them without having to create another transaction.

Alternatively, you can use a so called time-lock based minting policies which allows you to change or update tokens up to a certain deadline.
That way you could burn and re-mint a given NFT in the future to update its metadata. But again, trust is required since you basically are in control of the NFTs at all times.

> **Comments:**
> **username_0**: This re-minting is allowed in any policy which is not locked yet? I thought locking policies would only limit more NFTs to be added in the policy  
> **username_2**: The time based lock just uses some slot deadline - once that slot has passed any tokens minted under that policy are immutable. No further changes can be made to existing token's metadata etc. + no burns/ additions of tokens  

---

