Open interfaces for user-owned software

Standards should make builders freer—and users harder to trap.

A wallet should be more than a place where coins sit. It can be the user’s authority boundary: applications ask for an action, the wallet applies permissions, and the user keeps control of keys, identity, certificates, data, and payments. Stable interfaces let many wallets and applications participate without custom integrations.

I coauthored BRC-100 with Tone Engel and Brayden Langley and have contributed to related specifications across transactions, cryptography, payments, identity, authentication, and overlays. These documents belong to the BSV ecosystem; their significance comes from implementation and use, not from a number alone.

BRC-100

Wallet-to-application interface

One vendor-neutral interface for applications to request wallet actions: payments, signatures, encryption, certificates, baskets, identity, and permissioned data.

BRC-8

Everett-style Transaction Envelopes

A recursive way to carry transactions with the ancestry and proofs needed for Simplified Payment Verification.

BRC-42

Relationship-specific key derivation

An extensible scheme for counterparties to derive private, purpose-specific keys for payments, signatures, and encryption.

BRC-29

Authenticated payments

A person-to-person payment approach combining derived keys, transaction context, and recipient authentication.

BRC-103/104

Mutual authentication

Protocols for wallets and services to authenticate one another, exchange selectively revealed certificates, and communicate over transports such as HTTP.

Overlay services

Application-level discovery

Federated services for discovering and tracking only the Bitcoin outputs relevant to a particular application or protocol.

Read BRC-100Browse the BRC indexExplore Project Babbage codeAsk a question