Deploying a Smart Contract
There are two ways to deploy contracts using thirdweb.
- Deploying one of our pre-built contracts, using the dashboard or the SDK.
- Writing your own smart contract with the help of our contract extensions and deploying it with thirdweb deploy.
To get started, we'll show you how to deploy a pre-built contract; the NFT Drop!
Connect Your Wallet
The first step is to visit the thirdweb dashboard and connect your wallet.
Creating a Wallet
Learn how to create a wallet here: Create a MetaMask Wallet Guide.
Choosing your Contract
Next, we'll pick which contract we want to deploy.
To deploy an NFT Drop, select Pre-built contracts.
From here, we can select which kind of pre-built contract we want to deploy.
To learn more about the different kinds of contracts you can deploy with thirdweb, check out the pre-built contracts page. There, you'll find detailed explanations and example use-cases for each of them.
An NFT Drop is a "drop" contract, which means other wallets mint NFTs from your collection.
Click Release a drop and then NFT Drop.
Configuring Contract Metadata
You can configure the metadata of your smart before you deploy it.
Metadata includes information such as:
- Image, name, symbol and description.
- The wallet address that will receive the funds from the contract's mints/sales.
- The royalty percentage fee on secondary sales and the wallet that will receive them.
- The blockchain & network that the contract will be deployed to.
Blockchains & Networks
Not sure which blockchain and network you want to deploy to?
Learn more about testnets, and the blockchains that thirdweb supports here: Blockchains & Networks Guide.
To deploy a contract, you need to have enough funds in your wallet to cover the gas cost of the deployment.
If you're deploying to a testnet, you can get test funds for free, using our Faucet Guide.
To deploy your contract, click the Deploy Now button!
Deployment Tip
We recommend deploying to a testnet first, to make sure your contract is working as expected.
Managing Your Contract
The dashboard is a great way to visualize and configure your contract.
It allows you to view the contract's current state, configure settings & permissions, and perform helpful actions like mint and transfer NFTs.
Creating an NFT
To create an NFT, click on the Create button.
All of the metadata you configure will automatically be pinned to IPFS and stored on the blockchain.
This means it will instantly show up on sites like OpenSea and Rarible without any extra steps.
Click the Create Drop button to lazy-mint your NFT (this allows it to be minted by other wallets).
Setting up Claim Phases
The NFT Drop contract uses claim phases that define the conditions that must be met before a wallet can claim an NFT.
To add a claim phase, click the Claim Phases tab, and then click the Add Initial Claim Phase button.
Each claim phase can include a sale price, release date, allow-lists, and more.
Below is an example of a claim phase, where:
- Each NFT is sold for 1 MATIC
- Any wallet can claim an NFT
- Each wallet can claim one time, and mint up to 5 NFTs
Click Save Claim Phases to save your changes.
Adding Team Members
If you're working in a team, you can invite your team members to your contract with different levels of permissions.
Learn more about the different roles and what they mean here: Permission Controls.