startingIndex and Provenance purpose for generative NFT collection

I'm also new to the community and have been practicing deploying my own collection on test nets. After analyzing the BAYC case study, I have trouble understanding the purpose of the provenance sequence given that the NFTs were verifiably minted in tokenID order. For practice I simply generated a random number in python (in fact I generated the art and did all the pre processing work in python) and ordered my NFTs according to that random number (following the BAYC formula on their site) before hashing the images, concatenating, and then hashing once more. But apparently there is a more elegant way to do this is any of that possible?

I have heard the BAYC called the gold standard of provenance but I don't understand why since the mint sequence does not match the provenance sequence. I'm probably not wrapping my head around the purpose of provenance so any help is greatly appreciated.



  • What is the purpose of startingIndex and startingIndexBlock?
  • Why does provenance proof matter if mint order is tokenID sequential?

Provenance ensures that the correct set of images is minted and startingIndex and startingIndexBlock are just used to specify a random starting point of the sequence. They have nothing to do with the provenance.

So provenance has nothing to do with mint order, just acts as a verifiable source that all images were minted as intended without alteration?

Yes, the minted images are the promised images.

@maxareo thank you for the clarification. I've come to learn that the startingIndex is the random number used to offset the artwork that will be assigned to each sequentially-minted tokenId. So is it safe to say the metadata is usually generated after the collection is minted? I don't see another way of reassigning metadata files to the correct tokenId number.