Introduction
Welcome to the documentation for Pulsar 🚀 — TUWA’s complete solution for creating world-class transaction tracking experiences in your Web3 applications.
The Challenge of Web3 UX
Building a great Web3 user experience goes far beyond just submitting transactions to the blockchain. Modern dApp users expect:
- Real-time updates on their transaction’s status.
- Clear visual feedback, from pending to confirmation.
- Robust error handling with actionable options like “Retry” or “Speed Up”.
- Support for different wallets and transaction types (e.g., meta-transactions, multi-sigs).
- Beautiful, intuitive interfaces that don’t feel like developer tools.
Building this tracking infrastructure manually is complex, time-consuming, and distracts from your core product features. Different wallet connectors, transaction replacements, network congestion, and cross-chain operations create a maze of edge cases that are difficult to handle correctly.
Our Solution: Pulsar
Pulsar transforms transaction tracking from a complex technical challenge into a simple, elegant integration. We provide the “brain” (headless engine) and the “body” (UI) to deliver a seamless, professional transaction experience with just a few lines of code.
🏗️ Architecture Overview
Our modular, layered architecture gives you maximum flexibility while maintaining simplicity. You can use the full stack or pick and choose the layers you need.
┌───────────────────────────────────────────┐
│ Your Application (React, etc.) │
└───────────────────┬───────────────────────┘
│ (Optional but Recommended)
┌───────────────────▼───────────────────────┐
│ @tuwaio/nova-transactions (UI Kit) │
│ • Pre-built Modals, Toasts, and Widgets │
└───────────────────┬───────────────────────┘
│ (React Hooks)
┌───────────────────▼───────────────────────┐
│ @tuwaio/pulsar-react (Bindings) │
│ • Hooks for easy integration (e.g., │
│ `useInitializeTransactionsPool`) │
└───────────────────┬───────────────────────┘
│ (Plugs into Adapters)
┌───────────────────▼───────────────────────┐
│ @tuwaio/pulsar-evm / pulsar-solana │
│ • EVM-specific and Solana-specific logic │
│ • Trackers: Standard, Safe, Gelato, etc. │
└───────────────────┬───────────────────────┘
│ (The Core Engine)
┌───────────────────▼───────────────────────┐
│ @tuwaio/pulsar-core │
│ • Headless state machine (Zustand) │
│ • Persistent transaction history │
│ • Framework-agnostic │
└───────────────────────────────────────────┘✨ Key Features
- 🧠 Headless Core Engine: Use with any UI framework. Powered by Zustand for lightweight, fast state management.
- ⛓️ Multi-Chain & Multi-Tracker:
- EVM Adapter: Includes trackers for standard transactions, Safe multi-sigs, and Gelato meta-transactions.
- Solana Adapter: Supports Solana transaction tracking and seamless integration with clusters and RPCs.
- 🎨 Beautiful Pre-built UI: The optional
@tuwaio/nova-transactionspackage provides a complete, themeable UI suite with modals, toasts, and history components. - 🔄 Persistent State: Transaction history survives page reloads, and pending transactions automatically resume tracking.
- 🛠️ Rich Developer Experience: Written in TypeScript, wallet-agnostic, and fully customizable to match your brand.
📦 Package Overview
| Package | Purpose | Key Features |
|---|---|---|
| @tuwaio/pulsar-core | The Core Engine | Headless store, types, persistence logic |
| @tuwaio/pulsar-evm | EVM Support | EVM adapter, trackers for Ethereum, Gelato, Safe |
| @tuwaio/pulsar-solana | Solana Support | Solana adapter, cluster management, trackers |
| @tuwaio/pulsar-react | React Integration | Hooks for connecting the store to React’s lifecycle |
| @tuwaio/nova-transactions | UI Components | Pre-built React components, themes, widgets |
What’s Next?
Ready to transform your dApp’s transaction experience?
- Getting Started - Set up Pulsar in your project.
- Quick Start - Implement your first tracked transaction in minutes.
- API Reference - Dive deep into customization and advanced features.
Built with ❤️ by the TUWA Team