Search code examples
solanametaplex

`Program log: You cannot unilaterally verify another creator, they must sign` error in Metaplex candy machine


I get this error (0x36): Program log: You cannot unilaterally verify another creator, they must sign when minting.

Even though:

  • I thought candy machine NFTs were signed by default in Metaplex,
  • I ran the sign_all command.

Full log of the transaction stack:

    Program HARm9wjX7iJ1eqQCckXdd1imRFXE6PsVChVdV4PbfLc invoke [1]
    Program log: Buying 1 and mint 1
    Program log: Buying 1 offsets
    Program log: Transfering 334 lamports to seller
    Program 11111111111111111111111111111111 invoke [2]
    Program 11111111111111111111111111111111 success
    Program log: Ready to nft
    Program CANHaiDd6HPK3ykgunmXFNZMrZ4KbZgEidY5US2L8CTw invoke [2]
    Program log: Create Mint account
    Program 11111111111111111111111111111111 invoke [3]
    Program 11111111111111111111111111111111 success
    Program log: Initialize Mint
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]
    Program log: Instruction: InitializeMint
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 2391 of 140327 compute units
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success
    Program log: Create associated token
    Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [3]
    Program log: Transfer 2039280 lamports to the associated token account
    Program 11111111111111111111111111111111 invoke [4]
    Program 11111111111111111111111111111111 success
    Program log: Allocate space for the associated token account
    Program 11111111111111111111111111111111 invoke [4]
    Program 11111111111111111111111111111111 success
    Program log: Assign the associated token account to the SPL Token program
    Program 11111111111111111111111111111111 invoke [4]
    Program 11111111111111111111111111111111 success
    Program log: Initialize the associated token account
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [4]
    Program log: Instruction: InitializeAccount
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 3449 of 112001 compute units
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success
    Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 24524 of 132427 compute units
    Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]
    Program log: Instruction: MintTo
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 2881 of 105084 compute units
    Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success
    Program log: found at 3
    Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s invoke [3]
    Program log: Instruction: Create Metadata Accounts
    Program log: Transfer 5616720 lamports to the new account
    Program 11111111111111111111111111111111 invoke [4]
    Program 11111111111111111111111111111111 success
    Program log: Allocate space for the account
    Program 11111111111111111111111111111111 invoke [4]
    Program 11111111111111111111111111111111 success
    Program log: Assign the account to the owning program
    Program 11111111111111111111111111111111 invoke [4]
    Program 11111111111111111111111111111111 success
    Program log: You cannot unilaterally verify another creator, they must sign
    Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s consumed 20884 of 92314 compute units
    Program metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s failed: custom program error: 0x36
    Program CANHaiDd6HPK3ykgunmXFNZMrZ4KbZgEidY5US2L8CTw consumed 162406 of 162406 compute units
    Program CANHaiDd6HPK3ykgunmXFNZMrZ4KbZgEidY5US2L8CTw failed: custom program error: 0x36
    Program HARm9wjX7iJ1eqQCckXdd1imRFXE6PsVChVdV4PbfLc consumed 200000 of 200000 compute units
    Program HARm9wjX7iJ1eqQCckXdd1imRFXE6PsVChVdV4PbfLc failed: custom program error: 0x36

Solution

  • You are correct.

    1. candy machine NFTs are signed by candy machine
    2. sign_all signs the NFT by the Keypair you are using to run it. This only works AFTER the NFT is minted, though.

    Most likely the problem is in how you build the mint instruction. You can only set a creator on mint as verified which is signing the mint transaction (Candy machine and technically the minting wallet)

    2022 answer:

    Use candy-machine-ui as mint page and metaplex sugar for the candy machine creation. This error can't happen anymore with this.