How to mint NFT into verified collection with metaplex.nfts().create() method

I’m struggling with collection verification while minting NFTs. When I use the metaplex.nfts().create() method, I keep getting an error even though my metaplex.identity() definitely has update authority for the collection NFT.

Here’s the error I’m seeing:

MetaplexError: TokenMetadataProgram > Cannot Verify Collection in this Instruction
>> Source: Program > TokenMetadataProgram [metaqbxx...x1s]
>> Problem: The program [TokenMetadataProgram] at address [meta...x1s] raised an error of code [74]
>> Solution: Check the error message provided by the program.
Caused By: CollectionCannotBeVerifiedInThisInstruction

The weird thing is that when I set verified: false in my collection settings, everything works perfectly. This makes me think the rest of my minting setup is correct.

Is it actually possible to mint an NFT directly into a verified collection using the metaplex.nfts().create() method? If not, what’s the recommended approach to verify the collection right after minting?

Here’s my basic setup:

const nftData = {
  name: "My Token",
  symbol: "MTK",
  uri: metadataUri,
  collection: {
    address: collectionMint,
    verified: true // This causes the error
  }
};

const result = await solanaClient.nfts().create(nftData);

Any help would be appreciated!

You can’t verify collection membership during the initial mint with metaplex.nfts().create(). Metaplex blocks this to stop unauthorized collection additions. Here’s what works: mint first with verified: false, then immediately call metaplex.nfts().verifyCollection() in a separate transaction. I hit this same issue last month and wasted hours trying workarounds before realizing it’s intentional. The two-step process lets Metaplex do proper authority validation - collection verification needs specific checks that can’t happen during creation. Your code’s fine, just split it into two operations and you’re good.

Oh interesting, I’ve been wondering about this exact same thing! So the verification has to happen in a completely separate transaction? That’s annoying but makes sense security-wise I guess.

@Nina_63Paint - are you handling this in a single user flow or batching multiple NFTs? If you’re doing multiple mints, do you verify each one individually or can you batch the verification calls?

Also, how long does verification usually take after minting? I’m assuming it’s pretty quick since it’s just updating metadata, but wondering if users notice any delay.

One more thing - does the collection need to be in any specific state before you can verify against it? Like does the collection NFT itself need certain metadata fields or is it just about having update authority?

Sorry for all the questions but this verification stuff has been bugging me for weeks and your post finally got me motivated to figure it out properly lol

Yeah, that’s normal. You need to mint with verified: false first, then call verifyCollection() separately. I learned this the hard way too lol. It’s annoying but stops people from claiming their NFTs belong to collections they don’t own. Works fine once you know the trick.