BRC: Bitcoin Request for Comments
A repository for submitting, discussing, sharing, and indexing technical proposals for use across the Bitcoin ecosystem. Data models, user interfaces, script templates, encoding formats, communication protocols, and constructive critique of existing industry practice are all welcome. The goal is to provide a platform for sharing ideas without any bureaucratic overhead.
Contributions from all builders are welcome and encouraged. To propose a new BRC, fork the repo and create a new markdown file using the ~EXAMPLE.md as the template. The common structure is outlined below, which is a guideline to aid you rather than a strict requirement. Once your proposal is ready to share, submit a pull request so that others can review and discuss it.
To participate in discussions about existing proposals, simply open an issue and link back to the BRC file in question.
We believe in encouraging discussion and iterative improvement of proposals, resulting in incremental improvement within the bounds of the Bitcoin protocol. We welcome suggestions for improvement and are committed to working with contributors to improve proposals and ensure that they align with our guidelines.
Note that substantial revisions to standards (beyond fixing typos, adding context or wording) should go into a new standard that extends or revises the old one, so as not to disrupt existing implementations.
We look forward to your contributions and helping to create a world where transactions are seamlessly formed, and applications interact with each other with ease.
Read more about areas of interest on OpenStandards.cash
The BRCs repository is organized into directories, each representing a different category of proposal. Categories may include, but are not limited to:
- Transaction Templates
- Bitcoin Script Templates
- Communication Protocols
Each proposal should be written as a markdown file and should loosely adhere to the following:
- Title: A descriptive title for the standard being defined.
- Author(s): Who wrote the standard and where did it come from? How can they be reached?
- Abstract: A brief description of the proposed standard or template.
- Motivation: The reasoning behind the proposal and why it is needed.
- Specification: A detailed technical specification of the proposal.
- Implementations: Information on how the proposal has been or can be implemented.
- References: Any relevant literature or external resources related to the proposal.
Note that additional relevant content, identifiers or other information may be added to the document. Documents that already existed before the repository may not follow these requirements.
Things that help depict and understand the document, such as media, may also be added in a media subdirectory where appropriate.
Refer to the Banana-Powered Bitcoin Wallet Control Protocol for a fun example template you can copy when proposing your own standards.
| BRC |
Standard |
| 0 |
Banana-Powered Bitcoin Wallet Control Protocol |
| 1 |
Transaction Creation |
| 2 |
Data Encryption and Decryption |
| 3 |
Digital Signature Creation and Verification |
| 4 |
Input Redemption |
| 5 |
HTTP Wallet Communications Substrate |
| 6 |
XDM Wallet Communications Substrate |
| 7 |
Window Wallet Communication Substrate |
| 8 |
Everett-style Transaction Envelopes |
| 9 |
Simplified Payment Verification |
| 10 |
Merkle proof standardised format |
| 11 |
TSC Proof Format with Heights |
| 12 |
Raw Transaction Format |
| 13 |
TXO Transaction Object Format |
| 14 |
Bitcoin Script Binary, Hex and ASM Formats |
| 15 |
Bitcoin Script Assembly Language |
| 16 |
Pay to Public Key Hash |
| 17 |
Pay to R Puzzle Hash |
| 18 |
Pay to False Return |
| 19 |
Pay to True Return |
| 20 |
There is no BRC-20 |
| 21 |
Push TX |
| 22 |
Overlay Network Data Synchronization |
| 23 |
Confederacy Host Interconnect Protocol (CHIP) |
| 24 |
Overlay Network Lookup Services |
| 25 |
Confederacy Lookup Availability Protocol (CLAP) |
| 26 |
Universal Hash Resolution Protocol |
| 27 |
Direct Payment Protocol (DPP) |
| 28 |
Paymail Payment Destinations |
| 29 |
Simple Authenticated BSV P2PKH Payment Protocol |
| 30 |
Transaction Extended Format (EF) |
| 31 |
Authrite Mutual Authentication |
| 32 |
BIP32 Key Derivation Scheme |
| 33 |
PeerServ Message Relay Interface |
| 34 |
PeerServ Host Interconnect Protocol |
| 35 |
(unused, will assign next BRC to this number) |
| 36 |
Format for Bitcoin Outpoints |
| 37 |
Spending Instructions Extension for UTXO Storage Format |
| 38 |
User Wallet Data Format |
| 39 |
User Wallet Data Format Encryption Extension |
| 40 |
User Wallet Data Synchronization |
| 41 |
PacketPay HTTP Payment Mechanism |
| 42 |
BSV Key Derivation Scheme (BKDS) |
| 43 |
Security Levels, Protocol IDs, Key IDs and Counterparties |
| 44 |
Admin-reserved and Prohibited Key Derivation Protocols |
| 45 |
Definition of UTXOs as Bitcoin Tokens |
| 46 |
Wallet Transaction Output Tracking (Output Baskets) |
| 47 |
Bare Multi-Signature |
| 48 |
Pay to Push Drop |
| 49 |
Users should never see an address |
| 50 |
Submitting Received Payments to a Wallet |
| 51 |
List of user experiences |
| 52 |
Identity Certificates |
| 53 |
Certificate Creation and Revelation |
| 54 |
Hybrid Payment Mode for DPP |
| 55 |
HTTPS Transport Mechanism for DPP |
| 56 |
Unified Abstract Wallet-to-Application Messaging Layer |
| 57 |
Legitimate Uses for mAPI |
| 58 |
Merkle Path JSON format |
| 59 |
Security and Scalability Benefits of UTXO-based Overlay Networks |
| 60 |
Simplifying State Machine Event Chains in Bitcoin |
| 61 |
Compound Merkle Path Format |
| 62 |
Background Evaluation Extended Format (BEEF) Transactions |
| 63 |
Genealogical Identity Protocol |
| 64 |
Overlay Network Transaction History Tracking |
| 65 |
Transaction Labels and List Actions |
| 66 |
Output Basket Removal and Certificate Deletion |
| 67 |
Simplified Payment Verification |
| 68 |
Publishing Trust Anchor Details at an Internet Domain |
| 69 |
Revealing Key Linkages |
| 70 |
Paymail BEEF Transaction |
| 71 |
Merkle Path Binary Format |
| 72 |
Protecting BRC-69 Key Linkage Information in Transit |
| 73 |
Group Permissions for App Access |
| 74 |
BSV Unified Merkle Path (BUMP) Format |
| 75 |
Mnemonic For Master Private Key |
| 76 |
Graph Aware Sync Protocol |
| 77 |
Message Signature Creation and Verification |
| 78 |
Serialization Format for Portable Encrypted Messages |
| 79 |
Token Exchange Protocol for UTXO-based Overlay Networks |
| 80 |
Improving on MLD for BSV Multicast Services |
| 81 |
Private Overlays with P2PKH Transactions |
| 82 |
Defining a Scalable IPv6 Multicast Protocol for Blockchain Transaction Broadcast and Update Delivery |
| 83 |
Scalable Transaction Processing in the BSV Network |
| 84 |
Linked Key Derivation Scheme |
| 85 |
Proven Identity Key Exchange (PIKE) |
| 86 |
Bidirectionally Authenticated Derivation of Privacy Restricted Type 42 Keys |
| 87 |
Standardized Naming Conventions for BRC-22 Topic Managers and BRC-24 Lookup Services |
| 88 |
Overlay Services Synchronization Architecture |
| 89 |
Web 3.0 Standard (at a high level) |
| 90 |
Thoughts on the Mandala Network |
| 91 |
Outputs, Overlays, and Scripts in the Mandala Network |
| 92 |
Mandala Token Protocol |
| 93 |
Limitations of BRC-69 Key Linkage Revelation |
| 94 |
Verifiable Revelation of Shared Secrets Using Schnorr Protocol |
| 95 |
Atomic BEEF Transactions |
| 96 |
BEEF V2 Txid Only Extension |
| 97 |
Extensible Proof-Type Format for Specific Key Linkage Claims |
| 98 |
P Protocols: Allowing future wallet protocol permission schemes |
| 99 |
P Baskets: Allowing Future Wallet Basket and Digital Asset Permission Schemes |
| 100 |
Unified, Vendor-Neutral, Unchanging, and Open BSV Blockchain Standard Wallet-to-Application Interface |
| 101 |
Diverse Facilitators and URL Protocols for SHIP and SLAP Overlay Advertisements |
| 102 |
The deployment-info.json Specification |
| 103 |
Peer-to-Peer Mutual Authentication and Certificate Exchange Protocol |
| 104 |
HTTP Transport for BRC-103 Mutual Authentication |
| 105 |
HTTP Service Monetization Framework |
| 106 |
Bitcoin Script ASM Format |
| 107 |
Enhanced Mandala Token Protocol |
| 108 |
Identity-Linked Token Protocol |
| 109 |
PCW-1 : Peer Cash Wallet Protocol |
| 110 |
Zero-Friction, Mobile-First Onboarding for MetaNet-Enabled Apps |
| 111 |
P Labels: Allowing Future Wallet Action Label Permission Schemes |
| 112 |
Balance Baskets: Backwards-Compatible Basket Balance Queries |
| 113 |
Merkle Proof Token |
| 114 |
Time Labels: Backwards-Compatible Action Timestamp Filters for List Actions |
| 115 |
Identity-Linked Deterministic Token Verification Framework |
| 116 |
Wallet Permissions and Counterparty Trust |
| 117 |
Proof-of-Indexing Hash-to-Mint Tokens |
| 118 |
Multipart Body Transport for BRC-105 Payments |
| 119 |
SubTree Unified Merkle Path (STUMP) Format |
Everything in this repository is subject to the Open BSV License.
Terms and Conditions