Skip to content

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

OP_RETURN <protocol_id> <runestone>

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

  • UTXO Model
  • OP_RETURN
  • Ordinals
  • BRC-20
  • Casey Rodarmor
  • Atomic Swaps