Act on Avalanche from your agent: scaffold a dapp, deploy a contract, mint, and read chain state.
The open-source, AI-native developer toolkit for Avalanche.
Scaffold a social-login dapp, deploy-ready, with agent context baked in. One core, four surfaces. No seed phrases, no boilerplate.
avakit.dev · Documentation · Templates
▶ Watch the 90-second demo — one command to a live, social-login Avalanche dapp: sign in with Google, deploy an NFT from the browser, and mint it on Fuji.
npm create avalanche-app@latest
That's it. Connect with a social login, read your balance, and send your first transaction on Avalanche in minutes.

Then deploy an NFT contract and mint it, straight from the browser, on Fuji:

Proven live on Fuji. The mint in that clip is a real on-chain transaction; view it on Snowtrace (contract
0x7612…7786). No Foundry, no backend: the bytecode is bundled and deployed from the user's wallet.
Avalanche's C-Chain is EVM-compatible and end-user onboarding is already solved (Core wallet's seedless social login). The remaining friction is on the developer side: spinning up a modern dapp with onboarding wired up still takes hours. AvaKit removes that.
localStorage — see SECURITY.md.)CLAUDE.md, llms.txt, and .cursor/rules, and @avakit/mcp lets Claude Code / Cursor scaffold, deploy, and read chain state for you.| Package | What it is |
|---|---|
@avakit/core | Framework-agnostic kernel: viem clients, wallet adapters, deploy helpers, chain data |
@avakit/react | <ConnectAvalanche> social-login widget, <TransactionButton>, and hooks, built on shadcn/ui |
create-avalanche-app | Batteries-included scaffolder (8 templates) |
@avakit/mcp | MCP server: scaffold, deploy, and read Avalanche from Claude Code / Cursor |
@avakit/studio | Local dev dashboard: spin up devnets, send Interchain messages, inspect data (npx @avakit/studio); also an MCP server |
npm create avalanche-app@latest my-app -- --template nft-mint
| Template | What you get |
|---|---|
minimal | Social-login wallet, balance, and a first transaction |
nft-mint | Deploy an ERC-721 from the browser, then mint |
token-gated-app | Unlock content for holders of an access-pass NFT |
erc20-token | Deploy an ERC-20, mint supply, and transfer |
icm-messenger | Send a message between two Avalanche L1s over Interchain Messaging, on a one-command local devnet |
eerc-token | Register, mint, and privately transfer tokens with hidden balances (Encrypted ERC) |
l1-launch | Launch your own Avalanche L1 with one command, then explore it in a built-in dashboard |
token-bridge | Bridge an ERC-20 between two Avalanche L1s with Interchain Token Transfer (ICTT) |
Every template ships with a social-login wallet, shadcn/ui (black & white, dark/light), and AI context files.
npm install @avakit/react @avakit/core viem
"use client";
import { injectedAdapter } from "@avakit/core";
import { fuji } from "@avakit/core/chains";
import { AvaKitProvider, ConnectAvalanche } from "@avakit/react";
export function App() {
return (
<AvaKitProvider chains={[fuji]} adapters={[injectedAdapter()]}>
<ConnectAvalanche />
</AvaKitProvider>
);
}
Add social login by installing @web3auth/modal and passing web3authAdapter({ clientId }) (from @avakit/core/web3auth).
@avakit/coreand@avakit/reactare ESM-only (useimport, notrequire; Node ≥ 20.11).
Add the MCP server to Claude Code, Cursor, or Claude Desktop:
{
"mcpServers": {
"avakit": { "command": "npx", "args": ["-y", "@avakit/mcp"] }
}
}
Then just ask: "Scaffold an nft-mint dapp and deploy it to Fuji."
packages/
core/ @avakit/core
react/ @avakit/react
mcp/ @avakit/mcp
studio/ @avakit/studio (local dashboard + MCP)
create-avalanche-app/ scaffolder + 8 templates
apps/web/ the avakit.dev site (EN + TR)
examples/ live demo dapps (hello-avax, web3auth-demo)
docs/ planning, PRD, architecture, ADRs, specs, security review
pnpm install
pnpm build # all packages (Turborepo)
pnpm test # Vitest
pnpm lint # Biome
pnpm typecheck # TypeScript
Requirements: Node ≥ 20.11, pnpm ≥ 10. See CONTRIBUTING.md and the design docs in docs/. Conventions: English everywhere, shadcn/ui only, Framer Motion / GSAP for animation, latest stable versions.
MIT © AvaKit contributors
Built on viem, Web3Auth, Foundry, and shadcn/ui. Testnet-first (Fuji); mainnet is opt-in.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @avakit/mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"dev-avakit-avalanche": {
"command": "npx",
"args": [
"-y",
"@avakit/mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@avakit/mcpnpmdev.avakit/avalanche works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.