Skip to main content

RGB Protocol

RGB is a smart contract system for Bitcoin that enables asset issuance and complex programmable transactions using client-side validation.

Overview​

RGB provides:

  • Smart contracts on Bitcoin
  • Asset issuance with programmable rules
  • Client-side validation for privacy/scalability
  • Lightning compatibility for fast transfers
RGB = Bitcoin Security + Smart Contract Flexibility + Privacy

Architecture​

Client-Side Validation Model​

Components​

ComponentPurpose
SchemaAsset/contract definition
GenesisInitial state creation
State TransitionState changes
ConsignmentProof package

How RGB Works​

1. Schema Definition​

Defines what the asset/contract can do:

Schema: RGB20 (Fungible Token)
- max_supply: uint64
- can_burn: bool
- decimal_places: uint8

2. Genesis​

Creates the initial state:

Genesis:
schema: RGB20
ticker: "MYTOKEN"
name: "My Token"
supply: 1000000
owner: seal_definition

3. State Transitions​

Changes ownership or state:

State Transition:
input: previous_state
output: new_state
witness: signature

4. Anchoring​

Commits to Bitcoin:

RGB vs Taproot Assets​

FeatureRGBTaproot Assets
Smart ContractsFullLimited
ComplexityHigherModerate
MaturityEarlier stageProduction
FocusProgrammabilityLightning integration
Schema SystemFlexibleFixed types

Asset Types​

RGB20 - Fungible Tokens​

Standard token interface:

  • Fixed or unlimited supply
  • Decimal precision
  • Burn capability
  • Metadata

RGB21 - NFTs​

Non-fungible assets:

  • Unique identifiers
  • Rich metadata
  • Provenance tracking
  • Attachments

RGB25 - Collectibles​

Limited series:

  • Fractionalization
  • Series management
  • Rarity tiers

Contract Capabilities​

What RGB Can Do​

✓ Conditional transfers
✓ Multi-signature requirements
✓ Time-locked releases
✓ Burn mechanisms
✓ Issuance schedules
✓ Compliance rules

Example: Vesting Contract​

Vesting Schedule:
- 25% released immediately
- 25% after 6 months
- 25% after 12 months
- 25% after 18 months

Lightning Integration​

RGB can work with Lightning Network:

Current Status​

  • Basic integration available
  • Full integration in development
  • Requires compatible nodes

Development​

Libraries​

  • rgb-core - Rust core library
  • rgb-std - Standard library
  • rgb-wallet - Wallet implementation

Example: Creating Asset​

// Simplified conceptual example
use rgb::schema::RGB20;

let schema = RGB20::new();
let genesis = Genesis::new(
schema,
"MYTOKEN",
"My Token",
1_000_000u64,
owner_seal
);

let contract = Contract::new(genesis);

Ecosystem​

Wallets​

  • In development
  • Research implementations
  • Future integration expected

Exchanges​

  • Bitfinex (investor/contributor)
  • DEX research ongoing

Tools​

  • RGB Explorer (development)
  • CLI tools
  • SDK libraries

Nostr Integration​

Potential Uses​

  1. Discovery - Find RGB assets via Nostr
  2. Trading - P2P exchanges using DMs
  3. Coordination - Multi-party contracts
  4. Identity - Nostr keys for RGB ownership

Current State​

  • Conceptual integration
  • Active research
  • Community building

Resources​

Considerations​

Advantages​

  • Full smart contract capability
  • Maximum privacy
  • Bitcoin-native security
  • No new consensus

Challenges​

  • Complexity
  • Tooling maturity
  • Ecosystem development
  • Learning curve

Active Development

RGB is under active development with significant resources from organizations like Bitfinex and the Bitcoin community. Expect rapid evolution.