<>ts-stack
Get StartedArchitecturePackagesSpecsGuides
⌘K
Reference
Home
Get StartedOverviewInstallChoose your stackKey concepts
ArchitectureOverviewStack layersBEEF (BRC-62)BRC-100 Wallet InterfaceIdentity & AuthConformance pipeline
PackagesOverviewSDKWalletNetworkOverlaysMessagingMiddlewareHelpers
InfrastructureOverviewmessage-box-serveroverlay-serveruhrp-server-basicuhrp-server-cloud-bucketwabwallet-infrachaintracks-server
SpecsOverviewBRC-100 Wallet InterfaceOverlay HTTPMessage-box HTTPAuthsocket (WebSocket)BRC-31 Auth HandshakeBRC-29 Peer PaymentBRC-121 / HTTP 402ARC BroadcastMerkle ServiceStorage AdapterGASP SyncUHRPAir-Gap Optical (BRC-141)
ConformanceOverviewVector catalogTS runnerContributing vectors
GuidesOverviewBuild a wallet-aware appRun an overlay nodePeer-to-peer messagingHTTP 402 payments
ReferenceOverviewBRC indexRepository health
AboutVersioningContributingDoc agentDocumentation sources
Loading…
Edit this page on GitHub
© 2026 BSV Blockchain. ts-stack is open-source.
GitHubContributingVersioning

July 2026 Stack Modernization Release

This release reconciles the TypeScript stack onto one Node.js 24, pnpm 10, TypeScript 6, and Oxlint baseline. It removes stale first-party registry pins, refreshes compatible direct dependencies, replaces the legacy AsyncAPI generator, reduces overrides to one time-bounded Jest security compatibility substitution, removes every known audit finding, and prepares every changed public package for the protected OIDC workflow. Package publication remains a separate operator-approved action.

Compatibility and security highlights

  • @bsv/sdk now preserves OP_16 PushDrop fields, emits canonical comma-separated X-Topics, uses the configured HTTP client for SHIP submissions, produces fixed-width cross-SDK Schnorr linkage proofs, and can preserve already-signed inputs.
  • Overlay HTTP accepts canonical comma-separated topics and the legacy JSON array during migration. Empty payloads receive stable validation errors.
  • Overlay proof refresh persists updated Merkle paths through recursive source transactions.
  • Remote wallet basket queries remain scoped to the authenticated user.
  • Internal workspace dependencies use workspace:^; public SDK peer ranges remain broad enough to prevent duplicate nominal SDK types.
  • The client and mobile wallet-toolbox packages own their build artifacts, so recursive workspace builds order every consumer correctly from a clean checkout.
  • AsyncAPI reference pages are rendered deterministically with yaml and no remote assets or legacy generator/parser chain.
  • The docs site uses React Router 8 with a repository-owned static renderer.
  • Direct esbuild-based library builds remove an obsolete bundler advisory path while preserving each package's CJS, ESM, and declaration contracts, plus the relay's source-map and watch contracts.
  • The frozen audit has no known findings or advisory holds. The only remaining override is a time-bounded, fully tested Jest/brace-expansion security substitution. See Dependency and Release Policy.

Public package manifest

DomainPackageVersion
SDK@bsv/sdk2.2.0
Wallet@bsv/wallet-toolbox2.4.4
Wallet@bsv/wallet-toolbox-client2.4.4
Wallet@bsv/wallet-toolbox-mobile2.4.4
Wallet@bsv/btms1.1.1
Wallet@bsv/btms-permission-module1.1.1
Wallet@bsv/wallet-relay0.2.2
Overlay@bsv/overlay2.2.1
Overlay@bsv/overlay-express2.4.2
Overlay@bsv/overlay-topics1.6.1
Overlay@bsv/overlay-discovery-services2.1.1
Overlay@bsv/gasp1.3.1
Messaging@bsv/authsocket2.1.1
Messaging@bsv/authsocket-client2.1.1
Messaging@bsv/message-box-client2.2.2
Messaging@bsv/paymail2.4.2
Middleware@bsv/auth0.1.1
Middleware@bsv/auth-express-middleware2.1.2
Middleware@bsv/payment-express-middleware2.1.1
Middleware@bsv/402-pay0.2.1
Helpers@bsv/amountinator2.1.1
Helpers@bsv/did0.2.1
Helpers@bsv/did-client1.2.1
Helpers@bsv/fund-wallet1.4.1
Helpers@bsv/simple0.4.1
Helpers@bsv/templates1.9.1
Helpers@bsv/wallet-helper0.1.1
Helperscreate-bsv-app1.0.2
Network@bsv/teranode-listener1.1.1
Verification@bsv/verifast0.3.0

Consumer baseline

Applications should use Node.js 24.11 or newer and install the latest package versions normally. Libraries that expose SDK types should declare @bsv/sdk as a peer dependency instead of bundling another runtime copy. Overlay deployments should accept both X-Topics formats during the transition and emit the comma-separated canonical form.

The release is validated by the frozen install, audit gate, full workspace build, package test suites, 6,650 conformance vectors, docs render/link check, dependency review, CodeQL, Socket, and the repository merge gate.