Skip to main content

Deploying a Smart Contract

There are two ways to deploy contracts using thirdweb.

  1. Deploying one of our pre-built contracts, using the dashboard or the SDK.
  2. 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.

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.

What do you want to deploy

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.

What do you want to deploy

An NFT Drop is a "drop" contract, which means other wallets mint NFTs from your collection.

Click Release a drop and then NFT Drop.

Select 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.

Mint an NFT Drop

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.

Add a claim phase

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

Add a claim phase

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.

Permissions page