WebRTCPay Introduces Direct Wallet-to-Wallet Payment Transport in BSV Blockchain’s TypeScript Stack

WebRTCPay Introduces Direct Wallet-to-Wallet Payment Transport in BSV Blockchain’s TypeScript Stack
,

Developer Tools / Payments Infrastructure

A new experimental payment-communication package has been merged into BSV Blockchain’s TypeScript stack, introducing a way for wallets to exchange payment information directly over WebRTC data channels rather than relying on Message Box for message delivery.

The contribution, submitted by developer sirdeggen through pull request #1234, adds @bsv/webrtcpay version 0.1.0 to the bsv-blockchain/ts-stack repository. The pull request was merged following development and review, but the package has not yet been published to npm.

WebRTCPay is intended to support direct wallet-to-wallet BSV token payments while retaining existing PeerPay payment data structures and integrating with BSV wallet identity and transaction-verification mechanisms.

Moving Payment Communication Between Peers

In existing BSV Blockchain applications, Message Box provides a way for wallets and applications to exchange messages through a service-mediated delivery system. This can be useful when participants are not connected at the same time or need to retrieve messages later.

WebRTCPay introduces another transport option for payment interactions in which both parties can establish a live connection.

WebRTC is a communication technology that allows applications to establish peer-to-peer data channels. Through WebRTCPay, participating wallets can use those channels to exchange the information required to complete a payment without routing the payment messages through a Message Box server.

The distinction concerns payment communication rather than the underlying blockchain settlement process. BSV Blockchain continues to provide transaction processing and verification, while WebRTCPay addresses how the participants exchange payment data before and during that process.

The pull request describes the need as providing wallets with a payment transport that works without a Message Box server while retaining existing PeerPay data types.

Payment Data and Wallet Verification

The implementation carries payment information in a PaymentToken structure, including transaction evidence, key-derivation information, the payment amount and the relevant transaction output.

The design incorporates existing BSV wallet standards rather than introducing a separate identity or payment system.

According to the pull request, both participants authenticate their connection using BRC-100 wallet identity keys. The authentication process binds the participants’ identities to connection-specific information, including WebRTC security fingerprints and session values.

This is intended to prevent an untrusted signaling mechanism from silently redirecting a payment to another participant.

The implementation also includes payment validation before broadcasting. Its verification process checks the supplied payment data and confirms that the transaction output corresponds to the recipient’s derived payment key.

These controls address two distinct requirements: establishing which wallets are communicating and verifying that the proposed transaction pays the intended recipient.

The pull request additionally describes protections against repeated delivery, limits on incoming data and network-bound payment sessions. These features form part of the experimental implementation, but their inclusion does not by itself establish that the package has completed production security validation.

Direct Communication Still Requires Connection Setup

WebRTCPay is designed to reduce dependence on a message-delivery server, but that does not mean every payment connection can operate without supporting infrastructure.

WebRTC connections require participants to exchange information to establish a communication session. Depending on their network conditions, some connections may also need relay services.

The pull request describes several signaling options, including QR-code or pasted-information exchanges, Message Box-based signaling and relay-assisted arrangements.

This means Message Box can still be used to help establish a connection without serving as the transport for the actual payment exchange.

The package also includes support for STUN and TURN network configurations. TURN relays may be needed when two devices cannot establish a direct connection because of network restrictions.

The distinction is important: WebRTCPay provides an alternative to Message Box store-and-forward delivery for live payments, not a universal guarantee that communication will occur without intermediaries.

The package’s implementation is intended to support browser, Electron, Node.js and React Native environments through an adaptable WebRTC connection interface.

Merged Implementation, Not Yet a Public Release

Pull request #1234 adds the experimental WebRTCPay package to the TypeScript stack’s source repository.

The contribution includes implementation code, tests, documentation and related integration work. Its submitted development history contains 18 commits.

The contributor’s verification notes report 768 package tests, including tests using WebRTC loopback peers. The pull request also documents dependency reviews, package testing and security-related checks.

The development notes confirm that the package was not published to npm as part of the pull request. They also state that deployment of supporting relay infrastructure is outside the scope of this contribution, so additional operational arrangements are required for relay-based configurations.

Accordingly, the merged code establishes that WebRTCPay has entered the shared development repository. It does not establish that an independently distributed package or production payment service is already available.

An Additional Payment Transport for Applications

WebRTCPay is relevant beyond the addition of another communication library because separating payment-information exchange from a particular messaging service can give wallet developers more flexibility in how applications communicate.

Message Box remains useful for asynchronous delivery, while direct WebRTC channels offer an alternative for applications in which both participants are connected and can communicate during a payment session. The two approaches can coexist depending on the application’s requirements.

For BSV Blockchain applications, this distinction reinforces the separation between the network that processes transactions and the communication methods used by wallets and applications.

A payment can be constructed, authorized and exchanged through application-level protocols while its transaction evidence and settlement remain connected to the underlying blockchain.

WebRTCPay represents a concrete experimental implementation of that approach. Its subsequent usefulness will depend on package publication, application integration, operational testing and continued security review.

Developer Context

The contribution was submitted by sirdeggen to the BSV Blockchain TypeScript stack through pull request #1234.

The development notes reference earlier WebRTCPay prototype work in the developer’s own repository and a preceding direct-payment integration effort involving BSV Desktop. The current contribution brings that work into the shared TypeScript stack as an experimental package.

The pull request was reviewed within the repository’s development process, which includes testing, dependency checks and security-analysis requirements.

Source Links

BSV Blockchain — Pull Request #1234: Add @bsv/webrtcpay for Direct WebRTC Payments

BSV Blockchain — TypeScript Stack Repository

BSV Blockchain — BRC Standards Index

BSV Blockchain — Repository Security Policy

BSV TIMES – Under the Surface

Under the Surface looks at projects, standards, experiments, and community activity that may not rise to the level of a headline but are still worth noticing. Some are new, some are continuing work, and some are quieter developments that help show what is taking shape across the BSV community.

Update — October 20, 2026

Leave a Reply