| id | packages-index | |
|---|---|---|
| title | Packages | |
| kind | meta | |
| version | n/a | |
| last_updated | 2026-08-28 | |
| last_verified | 2026-08-28 | |
| review_cadence_days | 30 | |
| status | stable | |
| tags |
|
ts-stack contains packages organized into 8 domains. Each domain serves a specific part of the stack — from core crypto to licensed content and business logic. See the top-level README.md for the current package map.
Core cryptographic and transaction primitives. Every application starts here.
- @bsv/sdk — Keys, signatures, transactions, BEEF, SPV
- @bsv/verifast — Optional WASM script verification
Key management, balance tracking, signing — local or via wallet service.
- @bsv/wallet-toolbox — BRC-100 wallet client library
- @bsv/wallet-toolbox-client — Browser and IndexedDB distribution
- @bsv/wallet-toolbox-mobile — React Native and mobile distribution
- @bsv/btms — Basic Token Management System for token issuance, transfer, receiving, burning, and ownership proofs
- @bsv/btms-permission-module — Token permission checking
- @bsv/wallet-relay — Mobile-to-desktop wallet pairing via QR codes + encrypted WebSocket relay
P2P Real-time Event Listener for Teranode
- @bsv/chirp — Chunked Merkle publication and resilient retrieval over UHRP
- @bsv/teranode-listener — Subscribe to Teranode P2P topics (blocks, subtrees, mining) with callbacks (see specs/sync for related)
Licensed, encrypted, attributable creative content and composition.
- @bsv/lch — BRC-170 framing, rights, acquisition, key delivery, provenance, and whole-placement composition
Run and consume overlay services that index on-chain data.
- @bsv/overlay — Core overlay framework and transaction validation
- @bsv/overlay-express — HTTP server for the Overlay spec
- @bsv/overlay-topics — Topic managers (UHRP, BTMS, custom)
- @bsv/overlay-discovery-services — Discover overlays by service type
- @bsv/gasp — Graph Aware Sync Protocol (GASP) for incremental ancestry/descendancy graph sync
- @bsv/btms-backend — Backend for running a token overlay
Authenticated messages between identities using cryptographic signatures.
- @bsv/message-box-client — Send and retrieve messages from a message box service
- @bsv/authsocket — WebSocket protocol for authenticated messaging
- @bsv/authsocket-client — Client library for Authsocket
- @bsv/paymail — Paymail protocol (payment address discovery)
- @bsv/webrtpay — Direct wallet-to-wallet payments over WebRTC data channels, authenticated with BRC-100 identity keys
HTTP authentication and payment-gating packages.
Authenticated Express middleware stack:
- @bsv/auth — Framework-neutral single-use wallet authentication proofs
- @bsv/auth-express-middleware — Verify identity signatures in Express
- @bsv/payment-express-middleware — Gate authenticated Express routes behind payment requirements; requires
@bsv/auth-express-middleware
Independent HTTP 402 flow:
- @bsv/402-pay — HTTP 402 payment handler designed to work without auth middleware
Shared utilities, codecs, templates, and adapters.
- @bsv/templates — Predefined
ScriptTemplateexamples for protocol engineers;OpReturnis one template among several - @bsv/did — SD-JWT VC and optional
did:keyhelpers for BSV SDK identity keys - @bsv/simple — Simplified API for common operations
- @bsv/wallet-helper — Wallet utility functions
- @bsv/air-gap — Fountain-coded optical QR transport for arbitrary bytes
- @bsv/amountinator — Satoshi/BSV conversion and formatting
- @bsv/fund-wallet — Faucet integration for testnet/devnet
- create-bsv-app — CLI and starter catalogue for new applications
See Choose Your Stack for a decision guide based on what you're building.
Most projects start with the SDK:
npm install @bsv/sdkThen add packages as needed:
npm install @bsv/wallet-toolbox @bsv/overlay @bsv/authsocketFor monorepo development, see Install.
Public packages are versioned according to Semantic Versioning, but their maturity and runtime profiles differ. Use each package page and Generated Stack Facts rather than assuming every workspace project is a production npm package.
- Stable — API is locked, no breaking changes
- Beta — API may change, breaking changes possible
- Experimental — Early development, expect significant changes
- Deprecated — Sunset path defined, do not use in new projects
Check each package's documentation for its stability status.