Developer Tools / Payments Infrastructure
In Brief
BSV Python Wallet Toolbox has merged optional Arcade support into its main development branch, adding transaction submission, streamed status updates and Merkle proof retrieval to its wallet services.
The integration was merged on October 26 at 05:03 UTC. It remains under “Unreleased” in the project’s changelog; the latest published PyPI package is still version 2.0.2, uploaded on May 21.
The change gives Python wallet developers another broadcasting route while connecting Arcade’s notifications to the toolbox’s transaction records and proof-checking process.
News Report
Pull request #37 brings Arcade broadcasting and Server-Sent Events, or SSE, into the Python Wallet Toolbox’s service and monitoring layers.
Arcade is a transaction broadcaster built for Teranode. It accepts submissions, reports their progress and supplies transaction inclusion proofs when available.
The contribution was opened on September 24 and merged into the repository’s master branch on October 26. The new milestone is its inclusion in the maintained codebase, following development and testing on the feature branch.
Python’s separate BSV SDK already has a lower-level Arcade broadcaster. This addition addresses wallet workflows: choosing a submission service, updating stored transaction states and obtaining the evidence needed to complete a payment record.
An Optional Broadcasting Route
Arcade remains disabled by default. Developers must configure an Arcade URL, and streamed status monitoring requires an additional monitor task and matching callback token.
Once configured, the toolbox tries Arcade before its existing broadcasting providers.
The integration converts the transaction being submitted into Extended Format, which includes the source-output information needed to validate its inputs. If that information is unavailable, it skips Arcade and allows another provider to handle the submission.
Network failures, rate limits and other service problems can also lead to fallback. A terminal transaction-validation failure or double-spend result stops that attempt without trying the remaining providers.
The code makes a separate allowance for Arcade’s minimum-fee policy. A transaction rejected because its fee falls below one operator’s threshold may still be acceptable elsewhere, so that response permits fallback.
Notifications Feed the Wallet’s Proof Process
The SSE connection delivers status events associated with the callback token used when submitting transactions. The monitor queues those events and applies them to the wallet’s records.
A report that a transaction has reached the network can move its record into an unmined state. A mined notification prompts the existing proof-checking task to obtain and validate the inclusion evidence.
The Arcade provider checks that a returned Merkle proof matches the corresponding block header. The notification therefore starts the proof process; it does not by itself establish that the wallet has verified inclusion.
The rejection path also checks the reason before marking a transaction failed. An Arcade fee-policy rejection is left to the broadcasting workflow, avoiding a conflicting failure update when another provider may have accepted the transaction.
Source Integration Ahead of Package Release
The merge does not change what an ordinary installation from PyPI receives. Version 2.0.2 remains the latest published package, and the Arcade additions are listed in the repository’s unreleased changes.
Operational limitations also remain. The SSE client does not automatically reconnect after a disconnect; the application must request reconnection. The monitor does not retain its stream position across process restarts, so existing polling tasks remain necessary to recover missed terminal statuses.
The final feature-branch revision passed Python 3.11, 3.12 and 3.13 checks in September. However, the October 26 post-merge run failed during the Python 3.13 test step, with the other two jobs canceled. The available result does not establish whether that failure concerns the Arcade integration.
The new provider and SSE tests use mocked network requests. Live deployment and performance have not been independently verified for this report.
BSV TIMES Read
Broadcasting is one part of a wallet’s transaction lifecycle. The wallet must also distinguish an unavailable service from an invalid transaction, follow progress and retain evidence of inclusion.
This integration connects those responsibilities within the Python toolbox. Its handling of fee-policy rejections is a practical example: one broadcaster’s refusal need not invalidate a transaction that another service can accept.
The October 26 merge makes the implementation available in the project’s main source branch. Package publication and deployment remain separate milestones.
Developer Context
The contribution was submitted by Ken Sato under the GitHub account ALiberalVoluntarist. The BSV Python SDK documentation lists Sato among its Yenpoint maintainers. The integration adapts the TypeScript Wallet Toolbox’s Arcade provider and event-monitoring approach for the Python wallet implementation.
Source Links
- Python Wallet Toolbox — Arcade Integration, Pull Request #37
- Python Wallet Toolbox — Arcade Documentation at the Merge Revision
- Python Wallet Toolbox — Arcade Provider Implementation
- Python Wallet Toolbox — SSE Monitor Implementation
- Python Wallet Toolbox — Changelog at the Merge Revision
- Python Wallet Toolbox — October 26 Post-Merge Test Results
- Python Wallet Toolbox — PyPI Package and Release History
- Ken Sato — Public GitHub Profile
- BSV Python SDK — Project Documentation and Maintainers
Posted on October 26, 2026 (UTC)

Leave a Reply