Starter Templates
The fastest way to try TUWA is a template from Cosmos Playgroundย : a complete app with wallet connection (Nova Connect on Satellite Connect), transaction tracking (Pulsar) and transaction modals and toasts (Nova Transactions) already wired together. Most templates use the @tuwaio/sdk packages, which re-export the TUWA projects; nextjs-tuwa-not-sdk installs the projects one by one, like the React transaction tracking guide.
๐ Templates
| Template | What it shows | Stack | Level |
|---|---|---|---|
nextjs-tuwa | EVM and Solana: wallet connection and tracked transactions (standard and ERC-4337) | Next.js 16, @tuwaio/sdk, @wagmi/core, @solana/kit | Beginner |
nextjs-evm | EVM only, with SIWX sign-in (CAIP-122) and server sessions | Next.js 16, @tuwaio/sdk, @wagmi/core | Beginner |
nextjs-solana | Solana only, with SIWX sign-in (CAIP-122), server sessions and a program client generated by Codama | Next.js 16, @tuwaio/sdk, @solana/kit | Beginner |
vite-tuwa | nextjs-tuwa as a client-side Vite app | Vite 8, @tuwaio/sdk, @wagmi/core, @solana/kit | Beginner |
nextjs-tuwa-not-sdk | nextjs-tuwa on the TUWA packages installed one by one instead of the SDK: @tuwaio/pulsar-*, Satellite Connect and Nova UI Kit | Next.js 16, @wagmi/core, @solana/kit | Intermediate |
nextjs-tuwa-quasar | Full stack: SIWX sign-in, transactions synced to Quasar with the history of the wallet, webhooks (live demoย ) | Next.js 16, @tuwaio/sdk, @tuwaio/quasar-sdk | Advanced |
The source of each template is in cosmos-playground/examples, in the folder with the template name. Its README lists the environment variables, the files and the scripts.
No template renders WagmiProvider or uses React Query: Satellite Connect and Pulsar call @wagmi/core actions. The templates with SIWX (nextjs-evm, nextjs-tuwa-quasar) keep the session in a signed cookie, so they run without a database; for production, the README of each explains how to switch to a shared session store.
๐ ๏ธ Create a Project
1. Run the CLI
npx @tuwaio/create-cosmos-playgroundThe CLI asks for a template and a project name, downloads the template from GitHub, and installs its dependencies with pnpm (or bun, yarn or npm when pnpm is not installed).
2. Configure and Start
Every template has a .env.example file. The variables a template needs are empty there: the Quasar keys of nextjs-tuwa-quasar, and the SIWX signing secret that pnpm build of the SIWX templates requires. The optional ones, such as your WalletConnect project ID or Alchemy and Pimlico keys, are commented out and have working defaults for development. Copy it to .env, fill in what you need, and start the dev server from the project folder (Node.js 24 LTS, 24.22.1 or newer, the engines range of every template):
cp .env.example .env
pnpm devTo receive Quasar webhooks on localhost in nextjs-tuwa-quasar, run pnpm webhooks next to pnpm dev: the Quasar SDK CLI relays the deliveries to your local endpoint.
3. Build with an AI Agent
Each template has an AGENTS.md with the rules of the template for AI coding agents. It points to TUWA_AGENTS.md: the packages, the wiring of the providers and the security rules of TUWA in one file, with code that compiles against the current packages.
๐ Next Steps
- Follow the React transaction tracking guide to add Pulsar to an existing app.
- Browse the components and their customization options in the Nova UI Kit Storybookย .
- Find the reference of every package from the Main Screen.