I am researching on the best option to have mutable metadata for NFTs (ERC721 and ERC1155).

What is the best option? Is anybody already using any approach to this?

Tableland has just come to my attention. Is it worth using this solution to update the metadata of my NFTs? Are there more options out there?

2 Answers 2


About the first question, it does depend. If you want to change the metadata of just one NFT you need to use ERC721, if you will have some copies of a NFT that will change at the same time ERC1155 it's referred.

About Tableland, you need to think about what solution you prefer to manage your metadata, it will change a lot depending on the use case! Most of the times, maybe you could make it work with your own backend and with AWS S3.

  • Can you please share more information on how to achieve this using a backend and AWS S3? Apr 4, 2023 at 2:17

Based on my research, one of the best options for "mutable" NFTs are Stateful NFTs from Paima Studios.

Stateful NFTs refer to non-fungible tokens (NFTs) that have associated states or properties that can change over time or be customized during initialization. Unlike traditional NFTs, which typically represent a unique digital asset with fixed attributes, stateful NFTs allow for dynamic behavior and interactions based on their internal state.

Here's how they work:

  • Extended ERC721 Standard: The ERC721 standard is extended to support stateful NFTs. This extension allows developers to specify a pre-defined string when minting the NFT. This string is then routed through the Paima stack and becomes part of the scheduled input, which is used to initialize the NFT state.

  • Initialization via Scheduled Input: When an NFT is minted, the pre-defined string is passed through the Paima stack and used as part of the scheduled input for initializing the NFT state (e.g., determining its attributes or properties). This initialization process allows for the customization and differentiation of NFTs based on the provided input.

  • Customizable Deployment: Developers can deploy their own Paima Extended ERC721 NFT contract along with an associated NFT sale contract. The deployment process involves specifying parameters such as the name, ticker, supply, base URI, and price for the NFT contract, as well as registering any primitives required for the contracts in the extensions.yaml file.

  • Differentiating NFT Content: The mint function in the contract allows for accepting any data, enabling differentiation of NFT content. For example, developers can use the same NFT contract for multiple items in a game, with each item differentiated by the data passed into the mint function. Custom Solidity enums can be used to provide better type safety for differentiating NFT types.

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.