Developer Tools / Wallets & Identity
In Brief
BSV Blockchain’s TypeScript SDK has merged a repair that restores numeric wallet balance results and preserves the binary communication format used by SDK 2 and 3 applications.
The October 27 change is designated for SDK 4.0.1. Matching amendments to BRC-100, BRC-112 and BRC-207 have also merged. At this check, npm still lists 4.0.0 as the latest published SDK; the corrected package remains pending publication.
News Report
Pull request #1366 entered the TypeScript stack’s main branch on October 27 at 19:19 UTC. Its companion specification amendment, BRCs pull request #351, merged in the same minute.
The work addresses compatibility at the interface between applications and wallets. BRC-100 defines that shared interface, allowing applications to request wallet operations without depending on one particular wallet implementation.
The published SDK 4.0.0 documentation introduced decimal-text module balances and a changed binary response format that required both ends of the connection to use version 4.0. The repair returns the default behavior to the established contract so applications and wallets can upgrade independently.
Balance Results Return to Numbers
The affected field is totalOutputs, returned by the wallet’s listOutputs operation. For an ordinary listing, it reports how many outputs match the query. For a BRC-112 balance query, the same field carries the balance summary.
The repaired implementation returns that summary as a number, including for permission-module balance queries. Applications expecting numeric results no longer need to handle a decimal string for those queries.
The Color permission module is updated alongside the SDK. Its balances are summed exactly before conversion to a JavaScript number. Very large summaries can still round because of JavaScript’s integer-precision limits; the documentation directs applications needing exact accounting or value movement to enumerate the underlying outputs.
Existing decimal-string type exports and helper functions remain available for source compatibility.
New Output Information Requires an Explicit Extension
The candidate also preserves the binary format already used by SDK 2 and 3 clients. Additional information about whether an output is spendable travels through an explicitly requested and acknowledged extension.
This lets supporting applications receive reserved or pending output records without silently changing the format expected by older clients. The default connection does not attempt to guess the other side’s format or automatically retry using a different encoding.
The accompanying BRC amendments align the specifications with numeric balance results and the established application-to-wallet communication contract, including across major SDK versions.
Compatibility Checks Completed; Publication Pending
The contribution adds a permanent package check using the actual published SDK 2.8.11 and 3.2.1 clients against the release candidate. It exercises binary and local HTTP exchanges in both directions and checks that numeric consumers still compile.
The final pull-request revision passed its hosted merge gate, SDK coverage checks and affected-package tests. These checks establish evidence for the merged repair; BSV TIMES has not independently tested it in a deployed wallet.
Publication is a separate step. The release workflow was awaiting approval during this check, and the public registry still served SDK 4.0.0.
The broader release candidate also has a documented, one-time exception to complete mutation-test qualification for separate experimental output-knowledge work. Mutation testing checks whether tests detect deliberately introduced faults. The exception does not classify failed campaigns as passing, and the release retains its other approval and security requirements.
BSV TIMES Read
A shared wallet interface is useful when applications can keep working as individual wallets and libraries evolve. Requiring both sides to change together makes that independence harder to maintain.
This repair restores established defaults while keeping additional output information behind an explicit extension. The merged code and matching specification changes are the present milestone. Publication of SDK 4.0.1 will determine when developers can obtain the correction through the normal package channel.
Developer Context
David Case, whose GitHub account is shruggr, authored both the numeric wallet-result repair and the companion BRC amendment. The implementation sits in the BSV Blockchain TypeScript stack, with corresponding changes to the SDK and Color permission module.
Source Links
- BSV TypeScript Stack — Numeric Wallet Results Repair, Pull Request #1366
- BRCs — Wallet Balance and Compatibility Amendments, Pull Request #351
- BSV SDK — Repair Documentation at the Merge Revision
- BSV TypeScript Stack — Published-Client Compatibility Check
- BSV TypeScript Stack — Coordinated SDK 4.0.1 Package Requirements
- BSV TypeScript Stack — October 28 Release Workflow
- BSV TypeScript Stack — Documented One-Time Release Exception
- npm Registry — Latest Published BSV SDK Metadata
- David Case — Public GitHub Profile
Posted on October 28, 2026 (UTC)

Leave a Reply