I want to validate in a program that a cNFT is in a particular collection. Is there a better way to do this than adding a PDA as a delegate to the cNFT collection so that it can sign and call the bubblegum cpi verify_collection()? https://developers.metaplex.com/bubblegum/verify-collections

I also thought about storing the latest merkle tree, and checking against that, but that won't work with concurrent writes.

1 Answer 1


The document link you provided: https://developers.metaplex.com/bubblegum/verify-collections

  1. The methods here are not to check of a cNFT is already a part of collection. 2. These methods here allow the collection authority to verify that the cNFT which has added the collection to its metadata is indeed a part of that collection.

Your question is not clear in this regard. So I will answer both the cases.

If you want the second case then sadly there is no other way than the one you mentioned in the question as an authority must sign it to make sure the NFT is actually part of that collection.

But if it is the first case, then you don't actually need an authority to verify that. You can simply fetch the cNFT details which includes the collection mint address it is added to. You can compare the address with the collection mint address you have.

To know more about fetching cNFTs: https://developers.metaplex.com/bubblegum/fetch-cnfts

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.