Create Scan-To-Mint (POAP) NFTs on Solana

Create Scan-To-Mint (POAP) NFTs on Solana

In this guide, we will show you how to deploy and set up an NFT Drop using the dashboard and use CandyPay to generate a QR code that people can use to mint NFTs directly from their Solana wallets!

Let's get started.

Deploy an NFT Drop on Solana

Go to the thirdweb dashboard, connect your Solana wallet, and click Deploy New Program.

If this is your first time building on Solana, follow our Getting Started with Solana guide to set up your wallet and get some test funds to use!

On the dashboard, you'll find our prebuilt programs that you can deploy.

We are going to use NFT Drop for this guide so, select that and fill out the details for the program:

Once you have filled out all the details select your network and hit Deploy Now!

Lazy-Minting NFTs

Now we have set up our NFT Drop program, let's batch-upload some NFTs for the users to mint from our drop.

Lazy minting is the process of uploading the metadata for your NFT(s) without minting them yet. We're simply just preparing them for other people to mint!

For this guide, I will use the metadata from our Shapes batch upload example.

To batch upload and lazy mint your metadata, click on the Batch Upload button.

Once you upload it, you will be able to see a preview of all your NFTs:

If everything looks good, click next!

Next, you'll be given the option to add a Delayed Reveal. To keep it simple, we'll select Reveal upon mint.

Finally, click Upload X NFTs and approve the Lazy Mint transaction.

In the background, your metadata is being uploaded and pinned to IPFS, meaning your metadata is immutable and decentralized. Once the transaction goes through, your NFTs are ready to be minted!

Let's add the claim conditions now!

Set Up Claim Conditions

Claim conditions are the criteria that define when, and how users can claim an NFT from your drop; such as release dates, price, royalties, etc.

To add a claim phase, head to the Claim Conditions tab and you will see some default configurations there.

Feel free to mess around with the values and finally click on save claim conditions! You will be prompted a transaction, just approve that!

Getting A QR Code For Minting NFTs

Head over to CandyPay, sign in, and click on Create New.

We need to choose Candy Machine:

Once you click on the candy machine option, you will be prompted to fill a form:

Add a title and icon, and for the Candy Machine ID, add the program address that you just got from the thirdweb NFT drop:

Once you're ready, click Continue.

In the next section you can customize your QR code that you will be able to share with everyone for allowing them to mint their NFTs:

This is an optional section so you can customize it or not based on your preferences.

Once you are done click Publish! We get this sweet modal showing that our mint code has been published successfully!

If we check out the mint page it will be something like this:

Finally, let's try minting an NFT by scanning this QR Code. Install the Phantom wallet on your mobile, switch your network to devnet and click on the scan QR code option in the top right corner. Now, you can scan the QR code

Once you scan the QR code it will show up the transaction that you can approve to mint

The phantom wallet cannot simulate the transactions on devnet a lot of the time so you can ignore this message for now.

Once the transaction goes through you will get the success popup!

If you check out the Candypay dashboard you will see that the supply has been reduced by one and there is one successful transaction.

Let's see which NFT we got. Open your phantom wallet -> go to collectables and search for your NFT. We have the yellow pentagon!

The dashboard now has an owner and token ID for this NFT too:


We've successfully shipped a scan-to-mint NFT Drop on Solana!

Users are able to scan a customizable QR code that prompts them to mint an NFT from the NFT Drop program we deployed! 🎉

Got questions? Jump into our Discord to speak with our team directly!