In this guide, we'll show you how to set up an NFT Drop so that members of your team can mint for free while other users claim at the regular price!
We'll use our newly announced improved claim conditions to override the price for a set list of wallet addresses (our team members).
Deploy An NFT Drop Smart Contract
To begin, head to the Contracts page in your thirdweb Dashboard and hit "Deploy new contract":
You will be taken to our Explore page — where you can browse smart contracts built by the top protocols in web3 and deploy them in just a few clicks!
Note: You can also use the thirdweb CLI to set up a smart contract environment by running the below command from your terminal:
npx thirdweb create contract
This will take you through an easy-to-follow flow of steps for you to create your contract. Learn more about this in our CLI guide.
Otherwise, let's get back to Explore:
In here, select your smart contract of choice. For this guide, we're going to use the NFT Drop (ERC721) contract to create our NFT collection:
Set up your smart contract with an image, name, description, etc., and configure which wallet address will receive the funds from primary and secondary sales:
You can select any network you like; for this guide, I am choosing Goerli. Learn more about the different networks we have available below:
Once deployed, you can follow the guide below to batch upload your NFTs if you haven't done so already.
Configuring Claim Conditions
Claim conditions allow you to define a set of conditions regarding who, when and how your users can claim an NFT from your drop.
For this guide, we'll create a "base" claim conditions where all users can claim NFTs for a price, and override those conditions for a specific list of wallet addresses; so they can claim for free:
- General public: Claim for
- Team members: Claim for
Generating A Team Member CSV File
To override the base claim conditions for set wallet addresses, we can create and upload a CSV file to the dashboard.
Using a text editor or spreadsheet tool, create a
.csv file with the following format:
address,maxClaimable,price 0x76dD2BA5ecceef6ff8dbE51a747782364f2069b6,2,0 0x6bF08768995E7430184a48e96940B83C15c1653f,2,0
Update the addresses to the address of your team members and set the
price equal to
0. You can also update
maxClaimable, which represents the amount of NFTs you want your team members to claim!
Set Up Claim Conditions
From the dashboard, open the
Claim Conditions tab and click on
Add Initial Claim Phase to get started.
In the claim phase, we set the default values for all wallets. You can change the details and charge whatever you want for the general public; such as
Next, select "Any wallet (with overrides)" in "Who can claim NFTs during this phase?" to upload the
CSV file we created just now:
A drawer will open up, upload the CSV file we just made, and save your claim phase!
Testing the flow
You can go to the embed tab and try minting from a wallet that was in the snapshot once and once from a wallet that wasn't in the snapshot. You will see that now you have custom claim conditions for team members, LFG!
Wallet not in overrides (public price):
Wallet present in overrides (free mint):
This guide taught us how to allow team members of an NFT collection to mint NFTs for free!