BRCs
BRCs copied to clipboard
Bitcoin Request for Comments
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.
Contributing
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.
Iterative improvement
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
Structure
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.
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 | Sendover Key Derivation Scheme |
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 |
License
Everything in this repository is subject to the Open BSV License.