Protocol dossier
BRC-20
BRC-20 is a fungible token protocol carried inside Ordinals inscriptions on Bitcoin.
Every operation is a small JSON text object: deploy opens the book for a ticker,
mint credits units, and transfer moves them in two phases.
Bitcoin consensus never checks any of it. The token state is an off-chain ledger that
indexers reconstruct by replaying every inscription in block order under one shared rulebook.
| Protocol | BRC-20 (Universe registry id brc20) |
| Kind | Fungible token, balance ledger with a hybrid inscription carrier |
| Chain / network | Bitcoin mainnet |
| Carrier | Ordinals inscriptions, JSON payload (text/plain or application/json) |
| Operations | deploy, mint, transfer |
| Ticker | 4 UTF-8 bytes, case-insensitive; 5 bytes under the self-mint extension |
| Balance model | Overall = available + transferable, per address (scriptPubKey) |
| Conflict rule | First is valid: the earliest valid inscription wins |
| Origin | domo, 8 March 2023, published as an open experiment |
| Rulebook | Layer1 Foundation indexing rules; OPI reference implementation |
| Lifecycle | Stable (live on mainnet since 2023) |
| This document | Spec version 1.0.0, verified 2026-09-01 |
What BRC-20 is
An inscription is arbitrary content committed into a Bitcoin transaction witness and tracked to a single satoshi under the Ordinals numbering rules. BRC-20 uses that channel to publish bookkeeping instructions. The protocol defines nothing except the payload format and the rules for replaying payloads into balances. There are no smart contracts, no native consensus changes, and no on-chain balance records.
That design has a sharp consequence: the ledger lives in the indexer. Two indexers that follow the same rules over the same blocks arrive at the same balances, which is why the shared indexing rulebook, first published by domo and now maintained by the Layer1 Foundation, matters as much as the payload format itself.
Who this site is for
- Holders and traders
- Read the guide to understand what a mint or transfer actually does before signing, and why a normal-looking Bitcoin transaction can move token balances.
- Application developers
- Read the specification for the exact payload rules and the test vectors to check a parser. Paste payloads into the validator while developing.
- Indexer operators
- Read the reference for confirmation, mempool, and reorg semantics, plus the implementation checklist.
Entry points
| Page | Contents |
|---|---|
| Specification | Normative payload format, numbered validity rules R1 to R24, state transitions, invalid conditions |
| Guide | Plain-language walkthrough, worked deploy, mint, and transfer examples, Bitcoin Universe support matrix |
| Reference | Terminology, indexer semantics (confirmation, mempool, reorg), fees, limitations, security, checklist |
| Test vectors | Valid and invalid payloads with expected outcomes, plus ledger state vectors |
| Validator | Paste inscription JSON, get every check explained, entirely client-side |
| Changelog | Version history of this documentation |
BRC-20 in Bitcoin Universe
Bitcoin Universe indexes and supports BRC-20 as an upstream-originated protocol. In the Universe protocol registry it is a hybrid-carrier token protocol with inscribe support for all three operations. Current, code-verified support:
- Inscribe: create
deploy,mint, andtransferinscriptions. - Wallet: view, send, and receive BRC-20 inscriptions.
- Marketplace: listing, delisting, buying, and settlement are executed through the UniSat Marketplace Open API integration; order authority and confirmation policy are delegated to the provider. Protocol-native offers are not supported.
- Token explorer: a Universe-operated BRC-20 read model serves confirmed token, holder, and supply state. Its published coverage is partial: confirmed history is indexed, but there is no exhaustive BRC-20 mempool feed.
Universe-specific indexing decisions are marked as such throughout this site; see the Universe notes in the specification.
Provenance and attribution
BRC-20 was created by the pseudonymous builder domo on 8 March 2023 and released as a public experiment with an explicit warning that the tokens would be worthless. The ecosystem adopted it anyway, at scale. This site documents the protocol honestly as an upstream creation: Bitcoin Universe did not originate BRC-20 and does not control its rules.
- The original BRC-20 documentation, domo's specification of record.
- Layer1 Foundation indexing rules, the maintained indexing rulebook.
- OPI, the open reference indexer implementation.
See ATTRIBUTION.md for full credits.
Security reporting
Report vulnerabilities in this documentation or in Bitcoin Universe BRC-20 handling privately via GitHub private vulnerability reporting. Do not open public issues for security problems. Details are in SECURITY.md.