Docs

Create

Create a new project with the thirdweb packages installed and configured.

Choose between creating apps with one of our SDKs, smart contracts or dynamic smart contract extensions.

npx thirdweb create

Usage

After running the command, you will be prompted to provide the:

  • Type of project to create (app, smart contract, or dynamic contract extension)
  • Name of your project

If you choose App, you will be prompted to provide the:

  • Framework to build with (Next.js, Create React App, Vite, React Native, Node.js or Express)
  • Language (JavaScript or TypeScript)

If you choose Smart Contract or Dynamic Contract Extension you will be prompted to provide the:

  • Framework to build with (Forge or HardHat)
  • Base Contract (choose from ERC721, ERC1155 or ERC20, or empty)
  • Smart Contract name
npx thirdweb create [options] [projectPath]

Options

  • --app - Create a web3 app.
  • --contract - Create a web3 contract project.
  • --ts or --typescript - Initialize as a TypeScript project.
  • --js or --javascript - Initialize as a JavaScript project.
  • --forge - Initialize as a Forge project.
  • --hardhat - Initialize as a Hardhat project.
  • --extension - Create a smart contract extension.
  • --cra - Initialize as a Create React App project.
  • --next - Initialize as a Next.js project.
  • --vite - Initialize as a Vite project.
  • --reactNative - Initialize as a React Native project.
  • --express - Initialize as a Express project.
  • --node - Initialize as a Node project.
  • --use-npm - Explicitly tell the CLI to bootstrap the app using npm.
  • --use-pnpm - Explicitly tell the CLI to bootstrap the app using pnpm.
  • --framework - The preferred framework.
  • --evm - Initialize as an Ethereum project.
  • --template - A template to start your project from. You can use an template repository name from the official thirdweb-example org.
  • --contract-name - Name of the new smart contract to create.