Beersy

Propose a standard

Getting a BRC written

There is no committee and no bureaucracy. A BRC is a markdown file in a public repository, and proposing one means opening a pull request. What follows is the whole process.

The three steps

  1. Start a discussion, if you are not certain yetoptional

    The repository has an issue template for exactly this. It asks for a summary, one concrete situation where the standard would be useful, and confirmation that it is relevant to BSV. Nothing else.

    Skip it if you already know what you are writing. It exists so you can find out that BRC-63 covers your idea before you spend a weekend on it.

    Open an idea discussion

  2. Write one markdown file

    Copy the structure below into a new file in whichever of the 12 topic directories fits: wallet/, transactions/, payments/ and so on. The upstream EXAMPLE.md is the canonical template, and it is a joke standard about banana-powered wallets, which tells you something reassuring about how much ceremony is expected.

    The structure is a guideline rather than a gate. Plenty of existing standards depart from it, and several predate it entirely. The Specification section is the one that matters: someone should be able to build a compatible implementation from it alone.

    Starter template
    # BRC-?: Your Title Here
    
    Your Name (you@example.com)
    
    ## Abstract
    
    One paragraph, high level. What does this standard define? Someone should be
    able to read this alone and know whether the rest is relevant to them.
    
    ## Motivation
    
    Why does this exist? What is broken, missing, or ambiguous today? Name the
    problem before naming the solution.
    
    ## Specification
    
    The bulk of the document. Everything needed to build a compatible
    implementation, without reading anything else. Be precise about formats,
    encodings, orderings and failure cases.
    
    ## Implementations
    
    Where this is implemented, or how it could be. A reference implementation, a
    library, or a worked example.
    
    ## References
    
    Any footnotes or external material cited above.
    
  3. Open a pull request

    The pull request template asks you to say which of two things it is: a new standard, or an amendment to an existing one. A new standard also requests the assignment of a BRC number.

    You do not choose your own number. Write BRC-? in the title and let review assign it. The highest number in the repository today is 227, but numbers are not always sequential and guessing one that is already taken just creates work.

    your forkreviewBRC-228assigned, not chosen

    Open a pull request

Changing an existing standard

Typos, clarifications and added context can be edited in place. A substantial revision cannot: people have already built against the text as written, and changing it underneath them breaks their software.

So a substantial change becomes a new standard that extends or revises the old one, and the old one stays exactly where it is. That is why BRC-96 extends BRC-62 rather than editing it, and why two standards in this corpus share the title “Simplified Payment Verification”.

BRC-62untouchedextendsBRC-96your revision

After it merges

Beersy checks the repository every day and opens a pull request when anything changes, so a merged standard appears here shortly afterwards with its diagram and summary generated from your text.

If a summary here misreads what you wrote, that is our bug rather than yours. Every page carries a “was this helpful” control, and the spec text on it is always the version you merged.

Was this helpful?

Search Beersy

Search standards by number, title, author or topic