Higher-layer packages for key management, balance tracking, transaction signing, token operations, and mobile wallet pairing. These packages provide persistent state, BRC-100 wallet implementation, and framework-agnostic permission systems.
The wallet domain builds on top of @bsv/sdk. If you only need transaction building without persistent state or key management, use the SDK directly. If you need full wallet functionality with storage, key derivation, background monitoring, or token support, use packages from this domain.
| Package | Purpose |
|---|---|
| @bsv/wallet-toolbox | Node BRC-100 wallet implementation with SQLite/MySQL storage, background monitoring, Shamir key sharing, and permission management |
| @bsv/wallet-toolbox-client | Browser-safe wallet, IndexedDB, and remote storage distribution |
| @bsv/wallet-toolbox-mobile | React Native/mobile-safe wallet and remote storage distribution |
| @bsv/btms | UTXO-based token issuance, transfer, burning, and ownership proof validation |
| @bsv/btms-permission-module | Framework-agnostic BRC-98/99 permission hooks for BTMS token spending with custom UI callback |
| @bsv/wallet-relay | Mobile-to-desktop wallet pairing via QR codes and encrypted WebSocket relay with React components |
Use @bsv/wallet-toolbox to create a full wallet with persistent storage and signing, or integrate with user-installed wallets via the BRC-100 interface.
Use @bsv/wallet-toolbox for local wallet, or @bsv/wallet-relay for mobile wallet pairing via QR code.
Use @bsv/btms for token operations (issue, send, accept, burn). Integrate with @bsv/wallet-toolbox for wallet signing and @bsv/btms-permission-module for permission control.
Use @bsv/wallet-toolbox as reference implementation. It demonstrates BRC-100 compliance, storage abstraction, key management, and background monitoring patterns.
Use @bsv/wallet-relay for QR pairing. Desktop shows QR, mobile scans, then mobile wallet signs and relays responses back encrypted.
Use @bsv/btms-permission-module with your custom permission handler (modal, alert, web component, etc.).
{txid}.{vout}). Each token is a separate on-chain output with metadata.| Package | Node.js | Browser | Mobile |
|---|---|---|---|
| wallet-toolbox | SQLite, MySQL | — | — |
| wallet-toolbox-client | Build tooling | IndexedDB, Remote | Hybrid/WebView dependent |
| wallet-toolbox-mobile | Build tooling | — | Remote |
| btms | ✓ | ✓ | ✓ |
| btms-permission-module | ✓ | ✓ | ✓ |
| wallet-relay | Server | React components | Supported via relay |