RUNES (Runes Protocol)¶
Overview¶
Runes is a Bitcoin fungible token protocol proposed by Ordinals creator Casey Rodarmor on September 26, 2023. Runes was designed as an improved version of BRC-20, providing a simpler and more efficient Bitcoin-native token standard.
The core feature of the Runes protocol is that it is based on Bitcoin's UTXO model, rather than relying on Ordinals Inscriptions like BRC-20. Casey Rodarmor summarized it as "a simple, UTXO-based fungible token protocol that provides a good user experience for Bitcoin users."
Design Motivation¶
Problems with BRC-20 - Relies on Ordinals Inscriptions, requiring inscription for each operation - Generates large amounts of junk UTXOs, polluting the Bitcoin UTXO set - Complex indexing and verification, dependent on off-chain indexers - Poor user experience, high gas fees
Runes Improvements - Based on the UTXO model, natively compatible with Bitcoin - Uses OP_RETURN to store protocol data, producing no junk UTXOs - "Harm reduction" design philosophy, minimizing impact on the Bitcoin network - Simpler protocol specification, easy to implement and verify
Core Features¶
UTXO Native - Each UTXO can contain one or more types of rune tokens - Token transfers follow Bitcoin's UTXO transfer rules - No additional indexing layer needed; Bitcoin nodes can directly verify
Protocol Messages Protocol messages are embedded in Bitcoin transactions using OP_RETURN: - Etching: Create a new rune token - Minting: Issue additional rune tokens (if permitted) - Transferring: Transfer runes between UTXOs
Token Attributes - Name: The unique name of the rune token - Symbol: Optional token symbol - Divisibility: Number of decimal places - Supply: Total supply and minting rules - Premine: Pre-mined quantity
Technical Implementation¶
OP_RETURN Data Structure
Runestone Contains encoded protocol operation data: - Uses Protobuf encoding - Includes token ID, amount, operation type, and other information - Efficient binary format
UTXO Balance Model - Each UTXO can carry balances of multiple rune types - During transfers, specify how runes are allocated to output UTXOs - Runes not explicitly allocated are burned (as a safety mechanism)
Activation¶
The Runes protocol was activated at Bitcoin block height 840,000, coinciding with the April 2024 Bitcoin halving event.
Comparison with Other Protocols¶
| Feature | Runes | BRC-20 | Taproot Assets |
|---|---|---|---|
| Base Technology | UTXO + OP_RETURN | Ordinals Inscription | Taproot + CSV |
| UTXO Pollution | Minimal | Severe | Minimal |
| Complexity | Simple | Medium | Complex |
| On-Chain Footprint | Small | Large | Minimal |
| Verification Method | On-chain | Off-chain indexing | Client-side validation |
| Lightning Network | Potentially supported | Not supported | Natively supported |
Use Cases¶
Token Issuance - Community tokens and meme coins - Project governance tokens - Reward and points systems
Decentralized Trading - On-chain DEXs can directly trade runes - Atomic Swaps - Liquidity pools
Gaming and Applications - In-game currencies and assets - Application token economies - Auxiliary tokens for NFT projects
Ecosystem Development¶
Tools and Infrastructure - Rune indexers and explorers - Rune wallet support - Marketplaces and DEXs
Community Adoption - Multiple rune projects launched at the halving - Exchanges gradually adding rune support - Developer tools and SDKs
Future Outlook - May become the standard for Bitcoin-native tokens - Potential integration with the Lightning Network - More innovative applications and use cases
Recommended Reading¶
Related Concepts¶
- UTXO Model
- OP_RETURN
- Ordinals
- BRC-20
- Casey Rodarmor
- Atomic Swaps