This section documents the protocols and standards that the ts-stack implements. Each protocol solves a specific coordination problem on BSV: from wallet identity and authentication to peer payments, overlay service management, and transaction broadcast. These specs enable interoperable applications by defining precise request/response formats and protocol flows.
| Spec | Format | Version | Implementations | Purpose |
|---|---|---|---|---|
| BRC-100 Wallet | JSON Schema | 1.0.0 | @bsv/wallet-toolbox, @bsv/sdk | Standard wallet interface for signing and key management |
| BRC-31 Auth | AsyncAPI 3.0 | 1.0.0 | @bsv/auth-express-middleware, @bsv/authsocket | Mutual authentication handshake (BRC-103 + BRC-104) |
| BRC-29 Peer Payment | AsyncAPI 3.0 | 1.0.0 | @bsv/paymail, @bsv/message-box-client | P2P payment derivation and transmission |
| BRC-121 / 402 | OpenAPI 3.1 | 1.0.0 | @bsv/402-pay | HTTP micropayment protocol |
| Overlay HTTP | OpenAPI 3.1 | 1.0.0 | @bsv/overlay, @bsv/overlay-express | Transaction routing and topic management |
| Message Box HTTP | OpenAPI 3.1 | 1.0.0 | @bsv/message-box-client | Store-and-forward messaging API |
| AuthSocket | AsyncAPI 3.0 | 1.0.0 | @bsv/authsocket | Authenticated WebSocket for live messaging |
| ARC Broadcast | OpenAPI 3.1 | 1.0.0 | @bsv/sdk | Miner-facing transaction broadcast |
| Merkle Service | OpenAPI 3.1 | 1.0.0 | @bsv/sdk | SPV proof delivery service |
| Storage Adapter | OpenAPI 3.1 | 1.0.0 | @bsv/wallet-toolbox | Remote wallet storage interface |
| GASP Sync | AsyncAPI 3.0 | 1.0.0 | @bsv/gasp | Transaction graph synchronization |
| UHRP | OpenAPI 3.1 | 1.0.0 | @bsv/overlay-topics | Content-addressed file storage |
| Air-Gap Optical (BRC-141) | Markdown wire spec | 1.0.0 | @bsv/air-gap | One-directional optical air-gap transport (experimental) |
BRC = BSV Request for Comments. BRCs are numbered sequentially (there is no categorical grouping by number range). Each BRC solves a specific interoperability problem. Implementations reference the spec by number so different teams build compatible systems without central coordination.
The authoritative BRC repository is at github.com/bitcoin-sv/BRCs. The machine-readable contracts for BRCs implemented in ts-stack live in the /specs directory as OpenAPI 3.1, AsyncAPI 3.0, and JSON Schema files.
I'm building a wallet
@bsv/wallet-toolboxI'm implementing peer-to-peer payments
@bsv/paymail, @bsv/message-box-clientI'm monetizing an API endpoint
@bsv/402-payI'm running an overlay service (topic manager)
@bsv/overlay-express@bsv/overlay-topicsI'm building transaction broadcasting
@bsv/sdk ARC classI need proof of transaction inclusion
@bsv/sdk or external Merkle Service/docs/packages/; contributor and agent policy is owned by root
CONTRIBUTING.md and AGENTS.mdspecs/errors.md for standardized error responses/docs/network-services/ for Merkle Service, ARC endpoints, and provider lists