Skip to main content


The CLI is a suite of commands that allows you to develop and deploy smart contracts that can utilize the SDK and the dashboard on your smart contracts. It includes commands that can:

  • Deploy your smart contracts without the use of private keys
  • Create web applications that can interact with your smart contracts
  • Publish your smart contracts for others to use (coming soon)


As you're developing your contracts, you may want to implement Contract Extensions to add standard functionality to your contracts like NFT minting, querying, and more.

During your development, you can run the thirdweb detect command to detect any extensions on your contracts for confirmation and to suggest additional related extensions.

npx thirdweb detect


Creates an official release of your contract, along with:

  • Author attribution
  • Contract information
  • Instructions on how to use and what it's for
  • Versioning
  • Release notes

Creating releases this way gives you a shareable URL to let others deploy your contracts in one click. It lets you manage released versions and get attribution for deployed contracts. Contract releases are registered on-chain (Polygon) and IPFS, for free (gasless).

Deploying released contracts give deployers access to automatic SDKs to integrate into their app and dashboards to manage and monitor the deployed contracts.

npx thirdweb release


  • Auto-detect any deployable contract in your project
  • Compile your project
  • Upload the ABI and bytecode to IPFS
  • Generate a deploy link

Follow the link to the dashboard where you can connect a wallet (or a multi-sig like Gnosis) to deploy your code to blockchains from your browser-connected wallet. No copy/pasting of private keys or complex scripting is required!

npx thirdweb deploy

You can also deploy a contract that has been released by running:

# Deploy a released contract
npx thirdweb deploy --name doubledev.eth/ERC4907

Or one of our pre-built contracts by running:

# Deploy a pre-built contract
npx thirdweb deploy --name --nft-drop

Continuous Integration (Alpha)

Set up continuous integration for your contracts.

This adds a GitHub Action to deploy the contract on pull requests and pushes to Git branches.

npx thirdweb install-ci


Create a new project with the language & framework of your choice and our SDKs pre-configured.

# Create a basic project with the language & framework of your choice
npx thirdweb create

You can also start with one of our template repositories by passing the --template flag and the name of the repo.

# Create a project from a template repository
npx thirdweb create --template nft-drop