BRC-20
An experimental fungible token standard on Bitcoin using Ordinals inscriptions to track token deployments, mints, and transfers.
Key Takeaways
- BRC-20 is an experimental fungible token standard on Bitcoin that uses Ordinals inscriptions to deploy, mint, and transfer tokens: all token logic is encoded as JSON data written directly to the blockchain.
- Token state is tracked entirely off-chain by indexers that parse inscription data, meaning BRC-20 tokens have no on-chain enforcement and depend on indexer consensus for validity.
- BRC-20 has largely been superseded by Runes, which uses OP_RETURN outputs for a more efficient and UTXO-native approach to fungible tokens on Bitcoin.
What Is BRC-20?
BRC-20 is a fungible token standard built on top of the Bitcoin Ordinals protocol. Created by the pseudonymous developer "domo" in March 2023, it borrows its naming convention from Ethereum's ERC-20 standard but works in a fundamentally different way. Rather than relying on smart contracts, BRC-20 encodes token operations as JSON data inscribed onto individual satoshis using the Ordinals inscription mechanism.
The standard defines three operations: deploy (create a new token), mint (claim a quantity of tokens), and transfer (move tokens between addresses). Each operation is a JSON object inscribed on-chain, and off-chain indexers interpret these inscriptions sequentially to determine who holds what. There is no on-chain validation: Bitcoin nodes process BRC-20 inscriptions as arbitrary data and have no awareness of token balances or rules.
BRC-20 sparked a wave of token creation on Bitcoin in 2023, at one point accounting for a majority of Bitcoin transactions and driving fees to multi-year highs. Despite its popularity, the standard is considered experimental and carries significant limitations compared to both Ethereum-based tokens and newer Bitcoin-native standards like Runes.
How It Works
BRC-20 relies on three layers: the Bitcoin blockchain for data storage, the Ordinals protocol for inscription, and off-chain indexers for state tracking. Understanding each layer is essential.
The Deploy-Mint-Transfer Mechanism
Every BRC-20 token begins with a deploy inscription that defines the token's parameters. Once deployed, anyone can mint tokens up to the supply cap. Transferring tokens requires a two-step process: first inscribing a transfer, then sending that inscription to the recipient.
Deploy: creating a new token:
{
"p": "brc-20",
"op": "deploy",
"tick": "ordi",
"max": "21000000",
"lim": "1000"
}The p field identifies the protocol. The op field specifies the operation. The tick field is the token ticker (exactly 4 characters in the original specification). The max field sets the total supply cap, and lim sets the maximum amount any single mint can claim.
Mint: claiming tokens:
{
"p": "brc-20",
"op": "mint",
"tick": "ordi",
"amt": "1000"
}Anyone can create a mint inscription for any deployed token, as long as the total minted amount has not reached the max supply. Mints exceeding the per-mint lim or the remaining supply are considered invalid by indexers.
Transfer: moving tokens:
{
"p": "brc-20",
"op": "transfer",
"tick": "ordi",
"amt": "500"
}Transferring BRC-20 tokens is a two-step process. First, the holder inscribes a transfer operation, which creates a transferable inscription tied to a specific UTXO. Second, the holder sends that UTXO to the recipient's address in a standard Bitcoin transaction. The indexer interprets the UTXO transfer as a token transfer and updates balances accordingly.
Off-Chain Indexing
Bitcoin's scripting language has no concept of token balances or BRC-20 rules. The blockchain simply stores the JSON inscriptions as witness data. All token logic exists in off-chain indexers: software that scans Bitcoin blocks, parses BRC-20 inscriptions in order, and builds a state database of token balances.
An indexer processes inscriptions sequentially, following a set of rules:
- A deploy inscription is valid only if the ticker has not been previously deployed
- A mint inscription is valid only if the token exists and the cumulative minted amount (including this mint) does not exceed the max supply
- A transfer inscription is valid only if the inscriber holds a sufficient balance according to the indexer's state
- A transfer is completed when the UTXO carrying the transfer inscription is spent to a new address
If two indexers apply different rules or process inscriptions in a different order, they can arrive at different token balances. This is a fundamental limitation: there is no on-chain consensus mechanism for BRC-20 state. The community relies on reference indexer implementations to maintain agreement.
Relationship to the UTXO Model
BRC-20 tokens are tracked by indexers based on inscription ownership, but the tokens themselves are not natively represented in Bitcoin's UTXO model. A UTXO carrying a BRC-20 inscription has no special properties at the protocol level: it is simply a standard output that happens to contain witness data. This disconnect between UTXO mechanics and token state creates complexity, particularly around change outputs and UTXO management.
If a user accidentally spends a UTXO carrying a pending transfer inscription without following the indexer's expected flow, the tokens can effectively be lost or misrouted. Wallet software must be BRC-20-aware to prevent accidental destruction of token balances.
Use Cases
BRC-20 tokens have been used primarily for speculative and community-driven purposes, though the standard demonstrated broader demand for fungible tokens on Bitcoin.
- Community tokens: projects and communities deployed tokens as membership or identity markers, leveraging Bitcoin's security and immutability for issuance
- Memecoins on Bitcoin: the fair-mint mechanism (anyone can mint up to the per-mint limit) created a first-come-first-served distribution model that appealed to memecoin communities
- Fee market experimentation: BRC-20 demonstrated real demand for block space beyond simple payments, contributing to the ongoing discussion about Bitcoin's long-term fee market dynamics
- Proof of concept for Bitcoin tokens: BRC-20 proved that fungible tokens on Bitcoin had market demand, directly inspiring the creation of more efficient standards like Runes
BRC-20 vs. Runes
The Runes protocol, launched in April 2024, was designed as a direct response to BRC-20's inefficiencies. Understanding the differences highlights BRC-20's limitations:
| Feature | BRC-20 | Runes |
|---|---|---|
| Data storage | Witness data (inscriptions) | OP_RETURN outputs |
| UTXO handling | Requires separate inscription UTXOs | Token balances tied directly to UTXOs |
| Transfer mechanism | Two-step (inscribe then send) | Single transaction |
| UTXO set impact | Creates many small UTXOs (bloat) | Minimizes UTXO creation |
| State tracking | Off-chain indexers only | Off-chain indexers (but UTXO-native) |
| Ticker format | Exactly 4 characters | Flexible length |
BRC-20's two-step transfer process creates unnecessary UTXOs that bloat the UTXO set. Because every transfer inscription mints a new UTXO, high BRC-20 activity leads to significant UTXO set growth, increasing the storage and memory requirements for all Bitcoin full nodes. Runes addresses this by encoding token data in OP_RETURN outputs, which are provably unspendable and pruned from the UTXO set.
Risks and Considerations
Indexer Dependency
BRC-20's entire token state depends on off-chain indexers. If the reference indexer has a bug, token balances can be misrepresented. If competing indexers disagree on state, there is no on-chain mechanism to resolve the dispute. Users must trust that indexer software correctly implements the BRC-20 specification, which has evolved through informal community consensus rather than a formal standards process.
No On-Chain Enforcement
Bitcoin nodes do not validate BRC-20 rules. An invalid mint (exceeding the supply cap) is still a valid Bitcoin transaction: it simply gets ignored by indexers. This means BRC-20 security is only as strong as the indexer layer. There are no protocol-level guarantees about token ownership or supply integrity.
Fee Market Impact
During peak BRC-20 activity in May 2023, Bitcoin transaction fees spiked dramatically as token-related inscriptions competed for block space. Average fees exceeded $30, pricing out many standard payment use cases. This highlighted a tension in Bitcoin's block space market: inscription-based tokens consume witness data space, and high demand for token operations directly impacts all Bitcoin users through elevated fee market pressure.
UTXO Set Bloat
Each BRC-20 transfer inscription creates a new UTXO. During the BRC-20 boom, the Bitcoin UTXO set grew significantly, increasing the resource requirements for running a full node. Unlike OP_RETURN data, which is prunable, inscription UTXOs remain in the active UTXO set until spent. This externalized cost is borne by all node operators, not just BRC-20 participants.
Wallet Complexity
Standard Bitcoin wallets are not BRC-20-aware. Users risk accidentally spending UTXOs that carry BRC-20 transfer inscriptions, destroying their token balances in the process. Dedicated BRC-20 wallets and marketplaces exist, but they add a layer of complexity and introduce additional trust assumptions. The two-step transfer process (inscribe, then send) is also unintuitive for users familiar with single-transaction token transfers on other chains.
Experimental Status
BRC-20 was explicitly introduced as an experiment. The standard lacks a formal specification body, and rule changes have been implemented through informal community discussion. Token standards like token standards on other chains benefit from formal improvement processes and smart contract enforcement. BRC-20 offers neither, making it unsuitable for applications requiring strong guarantees about token behavior.
For a deeper look at how Bitcoin's base layer handles data and transactions, see the research articles on the UTXO model and Taproot and Schnorr signatures, which explain the underlying mechanisms that Ordinals and BRC-20 build upon.
This glossary entry is for informational purposes only and does not constitute financial or investment advice. Always do your own research before using any protocol or technology.