How
The LRC-20 Token Protocol is an extension of Spark that enables token issuance, transfer, and management on Bitcoin. By leveraging Spark’s unique architecture, LRC-20 tokens can be transferred instantly and at near-zero cost while maintaining the security and decentralization properties of Bitcoin.
LRC-20 tokens exist as metadata associated with Spark leaves. When a token issuer mints new tokens, they create a special transaction that associates token metadata with a specific leaf. This metadata includes the token amount, token ID, and any other relevant token properties. The Spark Operators (SOs) validate and witness these token operations, ensuring that all token transfers and state changes follow the protocol rules.
Unlike traditional Bitcoin transactions where inputs and outputs hold specific amounts of BTC, Spark Token Transactions work differently. In Spark, each input and output maps directly to an LTTXO (Leaf Token Transaction Output), where each Leaf represents a single broadcastable transaction on Bitcoin L1. In this way, you could think of a Spark Token Transaction as a ‘Meta-Transaction’.
Key Operations
The LRC-20 protocol enables several key operations:
Token Issuance
- Token issuers can mint new tokens by creating token metadata and associating it with Spark leaves
- Minting operations are validated by SOs to ensure compliance with issuance rules
- Token metadata is stored and tracked by SOs as part of the Spark state
Token Transfers
- Users can transfer tokens by updating the token metadata associated with their leaves
- Transfers are instant and do not require on-chain transactions
- SOs validate transfers to prevent double-spends and ensure token conservation
Token Burns
- Token holders can burn tokens by destroying the associated metadata
- Burns are validated by SOs and permanently remove tokens from circulation
- Burned tokens cannot be recovered or reused
Withdrawals to L1
- Users can withdraw their tokens to L1 Bitcoin at any time
- Withdrawals follow Spark’s unilateral exit mechanism
- Token metadata is preserved during the withdrawal process