AvaKit logoAvaKit

create-avalanche-app

Scaffold a batteries-included Avalanche dapp: social-login onboarding, deploy-ready, AI-native.

Usage

$ npm create avalanche-app@latest

Or non-interactively:

$ npm create avalanche-app@latest my-app -- --template nft-mint --yes

What you get

Every generated app ships with:

  • A social-login wallet via @avakit/react (plus injected wallets)
  • shadcn/ui with dark/light wired from day one
  • Deploy-ready contracts (where applicable) with bundled bytecode
  • AI context: CLAUDE.md, llms.txt, and .cursor/rules

Templates

Minimalminimal
The smallest real dapp: connect a wallet, read your balance, send a transaction.
NFT mintnft-mint
Deploy an ERC-721 straight from the browser, then mint. No Foundry required to run it.
Token-gated apptoken-gated-app
Unlock content for holders of an access-pass NFT. Deploy, mint, and the gate opens.
ERC-20 tokenerc20-token
Deploy your own ERC-20 from the browser, mint supply, and transfer.
ICM cross-chain messengericm-messenger
Send a message between two Avalanche L1s with Interchain Messaging, over a one-command local devnet.
Confidential token (eERC)eerc-token
Register, mint, and privately transfer tokens with hidden balances using Avalanche's Encrypted ERC standard.
Launch your own L1l1-launch
Spin up your own Avalanche L1 with one command, then explore blocks, send transactions, and deploy a contract in a built-in dashboard.
Cross-chain token bridge (ICTT)token-bridge
Bridge an ERC-20 between two Avalanche L1s with Interchain Token Transfer, over a one-command local devnet.

Next steps

The CLI prints the exact next steps for your choices. Two things vary:

  • .env.example is only for social login (Web3Auth). With --wallet injected the scaffolder omits it, so there is nothing to copy.
  • The icm-messenger, l1-launch, and token-bridge templates run a local devnet first: pnpm run devnet / pnpm run l1 / pnpm run bridge before pnpm dev. These need avalanche-cli and a Unix-like shell (macOS, Linux, or WSL2 on Windows).
The devnet templates use distinct local chain names — icm1/icm2 for icm-messenger and br1/br2 for token-bridge — so you can run both at once. If a stale local network blocks a deploy, reset with avalanche network clean or rebuild in one step with CLEAN=1 pnpm run devnet (or l1 / bridge).

Options

-t, --template <id>     minimal | nft-mint | token-gated-app | erc20-token |
                        icm-messenger | eerc-token | l1-launch | token-bridge
-w, --wallet <id>       web3auth | injected      (default: web3auth)
-c, --chain <id>        fuji | c-chain           (default: fuji)
    --pm <manager>      pnpm | npm | yarn | bun
-y, --yes               skip prompts (non-interactive)
    --no-install        do not install dependencies