Open-source TypeScript toolkit for self-custodial apps on EVM and Solana.
Website · Docs · Playground · Discord · Telegram · X
TUWA covers the layer every self-custodial app rebuilds: wallet connection, multi-chain sign-in with one CAIP-122 flow, transaction tracking that survives page reloads, React components for all of it, and Quasar, a backend for transaction history and webhooks that you run in our cloud or on your own servers.
Every package is open source under Apache-2.0, headless and framework-agnostic at its core. Install the whole stack with one SDK, or only the packages you need. TUWA is built in the open by Oleksandr Tkach in Lviv, Ukraine.
Start from a ready-made Next.js or Vite template:
npx @tuwaio/create-cosmos-playgroundOr add TUWA to an existing React app:
pnpm add @tuwaio/sdk @tuwaio/evm-sdk # EVM
pnpm add @tuwaio/sdk @tuwaio/solana-sdk # SolanaTUWA is built in five stages. Each project depends only on the stages below it, so any of them can be used on its own.
| Stage | Projects | What it does |
|---|---|---|
| 1 — Core Auth & Primitives | SIWX, Orbit Utils | CAIP-122 sign-in for EVM and Solana wallets, verified on your server, and multi-chain helpers |
| 2 — State & Connection | Satellite Connect, Pulsar | Wallet connection and transaction tracking in headless stores |
| 3 — Backend & Sync | Quasar Cloud, Quasar Community Edition | Server-side transaction tracking, history on every device and signed webhooks |
| 4 — User Interface | Nova UI Kit | React components for Satellite Connect and Pulsar |
| 5 — SDK Integration Layer | TUWA SDK | One package for React apps, with EVM and Solana add-ons |
| Repository | Packages | Description |
|---|---|---|
| 🛡️ siwx | siwx-core (L1), siwx-evm, siwx-solana, siwx-react, siwx-server (L2) |
One CAIP-122 sign-in flow for EVM and Solana wallets: EIP-191, EIP-1271 and ERC-6492 verification on every EVM chain, ed25519 on Solana, single-use nonces, sessions, Next.js handlers and JWT + JWKS for external auth providers. |
| 🧬 orbit | orbit-core (L1), orbit-evm, orbit-solana (L2) |
Multi-chain helpers: chain and account IDs (CAIP-2, CAIP-10, CAIP-19), cached viem and @solana/kit clients, ENS and SNS names, ERC-4337 smart accounts. |
| 🛰️ satellite-connect | satellite-core (L3), satellite-evm, satellite-solana, satellite-react (L4) |
Headless store for EVM and Solana wallet connections: reconnects the last wallet, follows changes made in the wallet and keeps SIWX sessions in sync. Wallets come from wagmi (EIP-6963) and Wallet Standard. |
| 💡 pulsar-core | pulsar-core (L3), pulsar-evm, pulsar-solana, pulsar-react (L4) |
Transaction tracking that survives page reloads: pending, successful, failed and replaced transactions, with trackers for EVM, ERC-4337, Safe and Solana. |
| ☁️ Quasar Cloud | — | Managed backend: tracks your app's transactions on the server until their final status, keeps their history on every device and sends signed webhooks. Free during the beta. Dashboard |
| 🏠 quasar-community | — | The open-source (Apache-2.0), self-hosted edition of Quasar, deployed with Docker Compose. Move an organization from Quasar Cloud to your own node at any time. |
| 🎨 nova-uikit | nova-core (L6), nova-connect, nova-transactions (L7) |
React components for wallet connection and transactions: connect button and modals, SIWX sign-in, transaction toasts and history, themed with CSS variables. Storybook |
| 📦 sdk | sdk (L8), evm-sdk, solana-sdk (L9) |
The TUWA SDK: one package for React apps that re-exports Orbit Utils, SIWX, Satellite Connect, Pulsar and Nova UI Kit, plus the EVM and Solana add-ons. |
| 💳 quasar-client | quasar-sdk (L5), nova-payments, payments-sdk |
The client of Quasar: the API client for your server and webhook verification, with the Nova Payments checkout and the Payments module of the SDK. Payments are docs only for now, not live in production. Docs |
| 🧪 cosmos-playground | create-cosmos-playground |
Starter templates for Next.js and Vite (EVM, Solana, both, or the full stack with Quasar sync) and the CLI that creates them. |
| 📚 docs | docs-ui |
The documentation hub (docs.tuwa.io): guides, the Playground, the Stack Configurator, comparisons and the Quasar docs. |
| ⚙️ workflows | — | Shared CI/CD workflows, community guidelines and the guide for AI coding agents. |
Every package with its npm description, peers and the guides that use it: docs.tuwa.io.
- 💻 Code: propose improvements or open a pull request in any repository.
- 🐞 Bugs: file an issue with the steps to reproduce it.
- 💡 Ideas: share the integration you are building and what is missing.
- 📖 Docs: make a guide clearer or add an example.
Start with the contribution guidelines, and ask questions on Discord or Telegram.
If TUWA helps your app, consider supporting its open-source development: support options.
