Web3
dApp (RainbowKit)
A Web3 dApp starter using RainbowKit for wallet connection and Sign-In with Ethereum (SIWE) for authentication. Combines Better Auth's SIWE plugin with wagmi for a full wallet-based auth flow backed by a persistent database session.
Composition
Apps:
web— Next.js (→ docs) + shadcn/ui (→ module), Next Themes (→ module), Better Auth (→ module), TanStack Query (→ module), tRPC (→ module)
Project addons:
- Database: → PostgreSQL
- ORM: → Drizzle
Architecture
Blueprint-specific files:
src/
├── app/
│ ├── page.tsx # Landing page
│ └── protected/
│ ├── layout.tsx # Protected layout
│ └── page.tsx # Protected dashboard
├── components/
│ ├── app-providers.tsx # RainbowKit + wagmi + SIWE providers
│ └── header.tsx # Header component
├── lib/
│ ├── auth/
│ │ ├── auth.ts # Better Auth with SIWE plugin
│ │ └── auth-client.ts # Auth client with SIWE
│ ├── db/
│ │ ├── schema.ts # Schema with walletAddress column
│ │ └── types.ts # DB types
│ └── wagmi.ts # Wagmi config
└── proxy.ts # MiddlewareWhat's included
- RainbowKit wallet modal with pre-configured chain support and WalletConnect integration
- SIWE authentication using Better Auth's SIWE plugin for cryptographic wallet verification
- Auth + wagmi providers wired together so wallet connection triggers SIWE sign-in automatically
- Protected routes with server-side session checks via Better Auth
- Wallet-aware schema extending the base Drizzle schema with a
walletAddresscolumn on the user table - Wagmi config with chain definitions and WalletConnect transport
Extra dependencies
| Package | Purpose |
|---|---|
@rainbow-me/rainbowkit | Wallet connection modal and UI |
wagmi | React hooks for Ethereum |
viem | TypeScript Ethereum library |
Environment variables
| Variable | Description |
|---|---|
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID | WalletConnect project ID (from WalletConnect Cloud) |
CLI usage
bunx create-faster my-dapp \
--blueprint dapp-rainbowkit \
--linter biome \
--git \
--pm bundApp (Privy)
A Web3 dApp starter using Privy for wallet authentication and user management. Includes wagmi for Ethereum interactions, a tRPC API layer for wallet-user sync, and a Drizzle schema designed for wallet-based accounts.
Lambda (SST)
Serverless monorepo for AWS Lambda using SST Ion. Generates three Lambda functions behind API Gateway, SQS, and EventBridge, with a shared types package and GitHub Actions CI/CD using OIDC authentication.

