Wallet Connection, Sign-In & Transaction Tracking for EVM and Solana Apps

Open-source TypeScript packages for the layer every self-custodial app rebuilds: connect wallets, sign users in with one CAIP-122 flow, and follow every transaction to its final status, even after a page reload. Add ready-made React components, and run the backend in our cloud or on your own servers. No per-user pricing.

Experience the Unified Stack in Action

See Satellite Connect (wallet connection), Pulsar (transaction tracking) and Nova UI Kit (toasts and modals) work together. Try the simulation, or connect your wallet and send real transactions on Sepolia and Solana Devnet.

EVM Demo

Interactive Engine Simulation

Smart Contract Interaction

Test transaction tracking with a simple counter contract

Wallet Required

Connect wallet to view and track your contract transactions

Connect Wallet

💡 Automated visual sandbox

Ready to test with your own wallet? Connect it to unlock the active widget:
Try failures, replacements, SIWX and Quasar sync in the Playground →

Everything You Need in One SDK

The whole stack for EVM and Solana apps. Install it as one package, @tuwaio/sdk, or pick only the packages you need.

Stage 1 — Core Auth & PrimitivesCAIP-122 sign-in and multi-chain primitives for EVM and Solana

Orbit Utils — Multi-Chain Helpers

Multi-chain helpers for EVM and Solana: chain and account IDs (CAIP-2, CAIP-10, CAIP-19), cached viem and @solana/kit clients, ENS and SNS names, ERC-4337 smart accounts.

CAIP Helpersviem & @solana/kitERC-4337
View Documentation

SIWX — Multi-Chain Sign-In

One CAIP-122 sign-in flow for EVM and Solana wallets, verified on your own server, with sessions, single-use nonces and JWT for external auth providers.

CAIP-122EVM & Smart WalletsSolana (ed25519)JWT + JWKS
View Documentation
Stage 2 — State & ConnectionWallet connection and transaction tracking

Satellite Connect — Wallet Connection

Headless store for EVM and Solana wallet connections with React bindings. Built on open wallet standards: wagmi with EIP-6963 and Wallet Standard.

Wallet ConnectionEVM & SolanaSIWX Session Checks
View Documentation

Pulsar — Transaction Tracking

Transaction tracking for EVM and Solana that survives page reloads: pending, successful, failed and replaced transactions, including ERC-4337, EIP-5792 call batches and Safe.

Transaction TrackingLocal PersistenceSpeed-Up & Cancel Detection
View Documentation
Stage 3 — Backend & SyncQuasar — server-side transaction tracking, history and webhooks, managed or self-hosted

Quasar — Backend & Sync

Server-side transaction tracking, history on every device and signed webhooks. Use Quasar Cloud, or self-host the open-source Community Edition.

Server-Side TrackingCross-Device HistoryWebhooksSelf-Hostable
Explore Quasar
Stage 4 — User InterfaceNova UI Kit — React components for Satellite Connect and Pulsar

Nova UI Kit — React Components

React components for wallet connection and transactions on EVM and Solana: connect button and modals, transaction toasts and history, themed with CSS variables.

React ComponentsThemeableTailwind CSS v4
View Documentation
Stage 5 — SDK Integration LayerTUWA SDK — one package for React apps, with EVM and Solana add-ons

TUWA SDK — One Package for React

One package for React apps that re-exports Orbit Utils, SIWX, Satellite Connect, Pulsar and Nova UI Kit under subpaths, plus an add-on for EVM or Solana.

One Package@tuwaio/sdkEVM Add-OnSolana Add-On
View Documentation

The TUWA Difference

Built for self-custodial apps: your users keep their keys, your servers keep the data, and TUWA collects no telemetry.

Local-First State

Pulsar persists transactions to localStorage and resumes tracking after a reload; Satellite reconnects the last wallet. No telemetry is sent to TUWA, and every third-party host (RPC, WalletConnect relay, Gelato, SNS) is opt-in and listed in each package README.

Client-Side Lifecycle

No MAU-Based Pricing

The client packages are free, and Quasar Cloud is free during its public beta, with 1,000 free quota units for every organization. Its quota counts tracked transactions, not monthly active users, so growing your user base never hits a subscription cliff.

Predictable Economics

Open Wallet Standards

Multi-chain sign-in follows CAIP-122, and wallets are found through Wallet Standard and EIP-6963 (via wagmi), so you can change wallets and providers without rewriting your app.

EVM & Solana Native

Open Source & Self-Hostable

Every client package is open source, and the Quasar backend is also available as the free, self-hosted Community Edition, deployed with Docker Compose.

Apache-2.0

See how TUWA stacks up against RainbowKit, Privy, thirdweb and more, criterion by criterion, with a source for every fact.

Explore Comparisons & Radar→

TUWA Ecosystem Roadmap

What has shipped, what is in progress and what comes next: from the first packages to the open-source backend and native payments.

  1. Phase 1Completed

    Core Primitives & Multi-Chain Auth

    Orbit Utils & SIWX
    • @tuwaio/orbit-coreZero-dependency, framework-agnostic multi-chain types, CAIP-2, CAIP-10 and CAIP-19 helpers, connector and address helpers, error normalization and SSR-safe connection persistence.
    • @tuwaio/orbit-evmCached viem clients, chain switching, ENS resolution and ERC-4337 smart accounts (Solady with a Pimlico bundler and paymaster), built on viem and @wagmi/core.
    • @tuwaio/orbit-solanaCached @solana/kit RPC clients, Wallet Standard discovery, cluster and explorer helpers, and SNS name and avatar lookups.
    • @tuwaio/siwx-coreCAIP-122 sign-in message builder, parser and validator with verification policies, session matching, nonces and typed errors for EVM and Solana.
    • @tuwaio/siwx-evmCAIP-122 signer for wagmi and viem wallets, and EIP-191 (EOA), EIP-1271 (smart contract wallet) and ERC-6492 (not yet deployed smart wallet) verification on the chain of the message, built on viem and @wagmi/core.
    • @tuwaio/siwx-solanaCAIP-122 signer for Wallet Standard and @solana/kit wallets, and ed25519 signature verification with Web Crypto, built on @solana/kit.
    • @tuwaio/siwx-reactUseSiwx and useSiwxSession hooks with a Zustand session store for the CAIP-122 sign-in flow, plus Satellite Connect helpers.
    • @tuwaio/siwx-serverBackend verification of CAIP-122 sign-ins for EVM and Solana, single-use nonce and session stores, HttpOnly cookie helpers, Next.js App Router handlers, and JWT/JWKS for external auth providers.
  2. Phase 2Completed

    Headless State & Lifecycle Tracking

    Satellite Connect & Pulsar
    • @tuwaio/satellite-coreHeadless, framework-agnostic Zustand store for EVM and Solana wallet connections, with a chain adapter contract, auto-connect of the last wallet and the SIWX state type.
    • @tuwaio/satellite-evmWallet adapter and connections watcher for wagmi connectors, a contract account check and wagmi config helpers, built on @wagmi/core and viem.
    • @tuwaio/satellite-solanaWallet Standard adapter, connections watcher and message signer for Solana wallets, built on @solana/kit.
    • @tuwaio/satellite-reactProvider, store hook and EVM and Solana watcher components that keep wallet connections in sync with wallets and SIWX sessions.
    • @tuwaio/pulsar-coreHeadless, framework-agnostic transaction store with localStorage persistence, a chain adapter contract, metadata validation and remote sync hooks for tracking EVM and Solana transactions.
    • @tuwaio/pulsar-evmTransaction adapter and trackers for standard transactions, ERC-4337 UserOperations, Safe multisig and Gelato relay, with speed-up and cancel actions, built on viem and @wagmi/core.
    • @tuwaio/pulsar-solanaTransaction adapter for Wallet Standard wallets, a signature tracker and a sign-and-send helper, built on @solana/kit.
    • @tuwaio/pulsar-reactUseInitializeTransactionsPool hook that resumes tracking of pending transactions after a page reload.
  3. Phase 3Completed

    Visual Interface & Design System

    Nova UI Kit
    • @tuwaio/nova-coreThe --tuwa-* theme variables, the dialog, network and wallet icons, and the hooks and helpers shared by the Nova components.
    • @tuwaio/nova-connectConnect button, connect and account modals, chain selector and SIWX sign-in for EVM and Solana wallets, with English and Ukrainian labels, built on @tuwaio/satellite-react.
    • @tuwaio/nova-transactionsToasts, a tracking modal with speed-up and cancel, and the transaction history for transactions tracked by Pulsar.
    • stories.tuwa.io: component explorer, theming guide and API reference
  4. Phase 4Completed

    Developer Experience & Tooling

    TUWA SDK & Cosmos Playground
    • @tuwaio/sdkOne package for React apps that re-exports Orbit Utils, SIWX, Satellite Connect, Pulsar and Nova UI Kit under subpaths, with their stylesheets. Add @tuwaio/evm-sdk or @tuwaio/solana-sdk for the network.
    • @tuwaio/evm-sdkRe-exports the EVM packages of Orbit Utils, SIWX, Satellite Connect, Pulsar and Nova Connect under subpaths.
    • @tuwaio/solana-sdkRe-exports the Solana packages of Orbit Utils, SIWX, Satellite Connect, Pulsar and Nova Connect under subpaths.
    • @tuwaio/create-cosmos-playgroundScaffolds a Next.js or Vite starter app with the TUWA stack for EVM, Solana or both, with or without Quasar sync.
    • docs.tuwa.io: guides, generated API references and a guide for AI coding agents
  5. Phase 5Completed

    Cloud Indexing & Sync Engine

    Quasar Cloud
    • @tuwaio/quasar-sdkThe Quasar API client for Quasar Cloud and self-hosted Quasar nodes (transaction sync and history for Pulsar), and the quasar-sdk CLI that relays webhooks to localhost.
    • NestJS indexing engine with BullMQ two-phase queues
    • Partitioned PostgreSQL 16 time-series storage & distributed Redlock
    • Multi-tenant developer portal with SIWX, WebAuthn passkeys & organizations
    • SSRF-protected webhook dispatcher with HMAC signatures, rate limiting & IP allowlists
    • Quasar Cloud released as a free public beta
  6. Phase 6Completed

    Open-Source Decentralization

    Quasar Community Edition
    • TuwaIO/quasar-community published under Apache-2.0 on GitHub
    • Docker Compose minimal & HA production profiles (Traefik, Cloudflare Tunnel)
    • Single-tenant Payload CMS admin panel secured with email/password & TOTP 2FA
    • GHCR signed images (cosign, SBOM, Trivy) & automated release pipeline
  7. Phase 7In Progress

    Payments & Cloud Portability

    Current Focus
    • Payments Apps for Quasar Cloud and Community Edition
    • EVM (viem) & Solana (@solana/kit) payment handlers with Pimlico gasless relaying
    • Real-time AML, sanction & address threat screening (GoPlus)
    • Append-only invoice ledger & on-chain settlement audit trail
    • @tuwaio/nova-payments checkout UI
    • Quasar Cloud out of beta: production release with paid quota
    • Done: Quasar Cloud → self-hosted export of apps & transaction history
  8. Phase 8Planned

    WooCommerce & AI Payments

    Next
    • WooCommerce plugin for Quasar Payments: invoices from orders, order status by webhook, refunds
    • @tuwaio/ai-payments: agent billing over x402
  9. Phase 9Planned

    Multi-Chain Expansion

    Future Milestones
    • Starknet account abstraction & execution tracking adapter
    • Tron network transaction tracking adapter
    • Bitcoin Taproot & Ordinals transaction parsing
    • TON wallet standard transaction bindings

Set Up TUWA in minutes

Run one command, pick a template, and get a working Next.js or Vite app with wallet connection, sign-in and transaction tracking.

Terminal Command
$ npx @tuwaio/create-cosmos-playground
Adding to an existing project?
EVM:pnpm add @tuwaio/sdk @tuwaio/evm-sdk @wagmi/core viem
Solana:pnpm add @tuwaio/sdk @tuwaio/solana-sdk @solana/kit
1
Run command
2
Pick template
3
Start building!
Apache 2.0 & MIT-0Permissive

The TUWA packages are released under the Apache 2.0 license and the starter templates under MIT-0, so you can copy the templates with no attribution required.

Need help getting started? Read the guides on docs.tuwa.io, or browse the code on GitHub.

Explore GitHub

Open source • TypeScript • Apache-2.0

Frequently Asked Questions

Short answers about what TUWA is, how it works and how it differs from hosted wallet services.

TUWA is an open-source (Apache-2.0) TypeScript toolkit for self-custodial apps on EVM and Solana. It covers the layer every app rebuilds: wallet connection (Satellite Connect), multi-chain sign-in with CAIP-122 (SIWX), transaction tracking that survives page reloads (Pulsar), React components (Nova UI Kit) and a backend for transaction history and webhooks (Quasar, managed or self-hosted). Install everything with @tuwaio/sdk, or only the packages you need.
Authoritative Technical Guides

Read why transaction state breaks, how CAIP-122 sign-in works, and how TUWA compares.