A modern, production-ready starter template for building decentralized applications with sensible defaults.
![]() |
![]() |
See deployed website: builder-kit.vercel.app
- Next.js 16 with App Router and React 19
- Web3 Integration with Wagmi v2 and RainbowKit
- React Query for data fetching
- Shape Network support (Mainnet & Sepolia)
- Alchemy SDK for performant blockchain interactions
- TypeScript for type safety
- Tailwind CSS with theming and dark mode support
- Shadcn/ui for a large range of fully customizable and themable components
- Error Boundaries for graceful error handling
-
Clone or use as template
git clone https://github.com/shape-network/builder-kit.git cd builder-kit -
Install dependencies
bun install
-
Set up environment variables
cp .env-example .env
Fill in your environment variables:
NEXT_PUBLIC_ALCHEMY_KEY: Get from AlchemyNEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID: Get from WalletConnectNEXT_PUBLIC_CHAIN_ID: Use11011for Shape Sepolia or360for Shape Mainnet
-
Start development server
bun dev
-
Open your browser Navigate to http://localhost:3000
bun dev- Start development server with Turbopackbun build- Build for productionbun start- Start production serverbun lint- Run ESLintbun lint:fix- Fix ESLint issuesbun type-check- Run TypeScript type checkingbun format- Format code with Prettierbun format:check- Check code formatting
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ │ ├── get-nfts/ # Fetch NFTs for address
├── components/ # React components
│ ├── ui/ # Shadcn/ui components
│ ├── error-boundary.tsx
│ ├── loading.tsx
│ ├── providers.tsx
│ ├── theme-toggle.tsx
│ └── wallet-connect.tsx
├── hooks/ # Custom React hooks
│ ├── web3.ts # Web3 data fetching hooks
│ ├── use-balance.ts # Wallet balance hook
│ ├── use-mobile.ts # Mobile detection hook
├── lib/ # Utility functions and configurations
│ ├── clients.ts # Alchemy and RPC clients
│ ├── config.ts # Environment configuration
│ ├── utils.ts # Helper functions
│ └── web3.ts # Wagmi configuration
└── public/ # Static assets
Edit app/globals.css to customize the color scheme:
:root {
--background: 0 0% 100%;
--foreground: 222.2 84% 4.9%;
/* ... other CSS variables */
}Use Shadcn/ui CLI to add new components:
npx shadcn@latest add buttonThe template includes examples of Web3 integration:
- Wallet connection with RainbowKit
- Balance fetching with custom hooks
- Chain switching and network detection
- Error handling for Web3 operations
- Push your code to GitHub
- Connect your repository to Vercel
- Add your environment variables in Vercel dashboard
- Deploy!
- Next.js Documentation
- Wagmi Documentation
- RainbowKit Documentation
- Shadcn/ui Documentation
- Shape Network Documentation
- Alchemy SDK Documentation
Contributions are welcome! Feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.

