Hello, LRC-20!
LRC-20 is a native Bitcoin token protocol, introduced in Summer 2024. It was built to be primarily compatible with Bitcoin and Lightning and designed with additional issuer-first features.
We played around with it, pushed its limits, and then made the call — LRC-20 had to run natively on Spark to reach its full potential. But we weren’t about to break composability with L1. Backward compatibility is non-negotiable.
TL;DR
LRC-20 has two key components: Bitcoin (L1) as the settlement layer and Spark as the execution engine.
On Bitcoin (L1), LRC-20 works by tweaking Bitcoin addresses in a way that embeds token data inside regular transactions. Bitcoin nodes process these transactions as usual, but LRC-20-aware nodes can extract and verify token movements by watching how those keys are adjusted.
On Spark, LRC-20 doesn’t need to play the same tricks as L1, we don’t tweak keys. Instead, they exist natively as metadata within Spark’s leaves. When an issuer mints new tokens, they submit a transaction embedding the token’s details—amount, ID, and properties—directly into a designated leaf. Spark Operators validate these transactions, making sure they follow protocol rules and attesting to state changes. They then share this data with LRC-20 nodes, which continuously track transactions and keep Spark in sync with L1. LRC-20 tokens on Spark inherit the same L1 guarantees as Bitcoin—you can unilaterally exit your assets at any time.