README

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

BRCStandard

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

(unused, will assign next BRC to this number)

36

37

38

User Wallet Data Format

39

User Wallet Data Format Encryption Extension

40

User Wallet Data Synchronization

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

License

Everything in this repository is subject to the Open BSV License.

Last updated