I'm building ERC721 and ERC1155 tokens but I have something I didn't understand..

My Tokens represent characters with attributes, where every attributes have a different rarity. So every character are more or less valuable based on their randomly generated attributes.

Metadata are stored into a IPFS buckets and the URL is ipfs://{Bucket_CID}/{tokenID}.json so, knowing the CID (from a previously generated token) everyone can go and look at every "next to generate token" and know every attributes it'll have and so the rarity... It's not fair, nobody will mint a common token and everyone will wait for a legendary one to mint.

How can I avoid that ?

One solution I have in mind is to hide them and reveal the CID only when every token are minted.. But it's not a real solution cause you cannot use them (example in a game) if all character are not mint, and I want to generate a very large number to offer everyone to get a new character, even if the game was started months ago..

  • hi @Arthur please follow up you have an answer here Jul 30, 2022 at 14:13

1 Answer 1


Your choices are either

  1. Hide the metadata (which means you could tell your friends which are the good ones and they could rush to get it); or
  2. Publish the metadata and so everybody knowns

I just published on article on these different strategies at https://blog.phor.net/2022/02/04/Randomization-strategies-for-NFT-drops.html

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.