NFT metadata is all of the associated information that provides detail and context to an individual token, or for a collection as a whole. Metadata can be stored on or off chain, but often involves unique attributes, traits, stats regarding the token, along with pointers to associated media files, or the actual imagery itself. Despite the common conception of NFTs as permanent or immutable, it is very possible for the metadata or media to change, usually due to actions taken by the collection creator. In this short How To guide, we're going to walk through how creators can properly initiate NFT metadata updates on both EVM-based chains and Solana, so that they can be easily reflected in indexers, and on popular NFT marketplaces.
There are many reasons creators might want to update the metadata of individual tokens, or an entire collection. One common reason is for a collection "drop" or "reveal" - where there is preview metadata or media upon the initial mint, and the final form of the media or artwork in the collection is only revealed at a later date. Dynamic NFT collections are another major use case - where the metadata or media may change due to various on or off chain events or state. This is also particularly important for certain web3-based games.
EVM-based chains refer to blockchains utilizing the Ethereum Virtual Machine (EVM) - Ethereum itself, and others like Polygon, Base and Zora. If creators are updating the metadata on their EVM-based NFT collections, they should follow these steps, either programmatically, or manually.
They can also consider requesting a collection refresh on one of the major marketplaces (e.g., OpenSea), which emits signals that are tracked by many other ecosystem sources.
Collection metadata updates work differently on Solana. Creators will be interacting with the Metaplex Token Metadata program, which is designed to attach metadata to both fungible and non-fungible tokens (NFTs), enabling enhanced functionality such as standardized data recognition by apps and marketplaces. It uses Program Derived Addresses (PDAs) to connect metadata to token mint accounts, storing key data like creator information, royalties, and digital asset details. To interact with the Token Metadata program, Metaplex makes a JS SDK available, more details on which can be found here.
Creators will want to use the new unified "Update" instruction set to update NFT metadata. This supports all major types of Solana Metaplex NFTs, namely: ProgrammableNonFungible, NonFungible, NonFungibleEdition, Fungible, and FungibleAsset.
When interacting with the metadata program, the UpdateArgs defines the arguments to be passed and updated. None leaves the field unchanged, Some(...) updates it. The asset's update authority can update all user-modifiable fields, while metadata delegates can update only certain fields, as dictated by UpdateArgs variants.
Correctly updating NFT metadata is crucial for seamless integration with indexers and marketplaces, ensuring that changes are reflected promptly to end-users. This synchronization enables the display of current information, circumventing the dissemination of outdated data, which could mislead users and devalue the NFT experience.
Adherence to metadata standards is especially important for dynamic NFTs, which can evolve based on predefined triggers. In gaming, for example, an NFT could alter its appearance or attributes as a player achieves new levels or unlocks achievements. This not only enhances the user engagement by providing a more immersive and responsive experience but also potentially increases the NFT's value and uniqueness. By maintaining updated and standard-compliant metadata, creators can provide a robust and dynamic ecosystem that supports a more interactive and enriched NFT landscape.
Regardless of the approach taken, or standard used, the SimpleHash NFT indexer will pick up metadata update events, ensuring that changes and updates to individual tokens and collections are reflected, removing this workload from developers.
SimpleHash provides real-time access to metadata, media, sales, floor prices, listings, bids, collections and more across 40+ chains.
We make it easy to build NFT experiences that users love. We've partnered with some of the leading players in crypto - please reach out if you'd like to learn more.
Learn how to integrate NFTs into your Web3 application using the SimpleHash API. We'll cover the core steps for accessing and utilizing NFT data from multiple blockchains and marketplaces through a single interface.