UniSat
  • home
    • UniSat Documentation Home
    • Work Priorities
      • UniSat 2025 Q2 Work priorities
      • Overview of UniSat 2025 Work Priorities
      • Production Roadmap in Q4 2024
  • 🛠️dev
    • UniSat Developer Center- Open API
      • UniSat Developer Center Plans
      • How to Acquire a UniSat API Key
      • Enable the two-factor authentication
      • FAQ
    • Open API documentation
      • UniSat Wallet
        • Connect with UniSat Mobile Wallet
        • Supported Chains
      • API for Bitcoin
        • General
          • Blocks
            • Get Blockchain Info
            • Get Block Transactions
          • Transactions
            • Get Recommended Fees
            • Get Tx Info
            • Get Tx Inputs
            • Get Tx Outputs
            • Get UTXO Info
          • Addresses
            • Get Address Balance
            • Get Address History
            • Get BTC UTXO
            • Get Inscription UTXO
          • Inscriptions
            • Get Inscription Info
            • Get Inscription Content
            • Get Inscription Events
            • Get Address Inscriptions
        • BRC-20
          • Get Best Block Height
          • Get BRC-20 List
          • Get BRC-20 Status
          • Get BRC-20 Ticker Info
          • Get BRC-20 Holders
          • Get BRC-20 Ticker History
          • Get BRC-20 Total History By Height
          • Get BRC-20 Tx History
          • Get Address BRC-20 Summary
          • Get Address BRC-20 Ticker Info
          • Get Address BRC-20 History
          • Get Transferable Inscriptions
        • Runes
          • Get Runes Status
          • Get Runes Info List
          • Get Runes Info
          • Get Runes Holders
          • Get Address Runes Balance List
          • Get Address Runes Balance
          • Get UTXO Runes Balance
          • Get Address Runes UTXO
          • Get Runes Events
        • BRC20-Swap
          • Get Global Config
          • Get Address Balance
          • Get Deposit Info
          • Get Address All Ticker
          • Deploy Pool
          • Add Liq
          • Remove Liq
          • Swap
          • Get All Pool List
          • Get My Pool List
          • Get My Pool
          • Get Overview
          • Get Gas History
          • Get Liq History
          • Get Swap History
          • Get Rollup History
          • Get Deposit List
          • Deposit
          • Withdraw
          • Cancel Withdraw
          • Get Withdraw Process
          • Get Withdraw History
          • Get System Status
        • UniSat Inscribe
          • Get Order Summary
          • Get Order List
          • Create Order
          • Search Order
          • Refund estimate
          • Refund
          • Create BRC-20 DEPLOY
          • Create BRC-20 MINT
          • Create BRC-20 TRANSFER
        • UniSat Marketplace
          • BRC20 Marketplace
          • Runes Marketplace
          • Collection Marketplace
          • Domain Marketplace
        • UniSat Collection
          • Get Collection Status
          • Get Collection List
          • Get Collection Info
          • Get Collection Holders
          • Get Collection List By Address
          • Get Collection Items
          • Get Collection Summary By Address
          • Get Collection Items By Address
          • Get Collection List By Inscription
          • Add Items
          • Remove Items
      • API for Fractal Bitcoin
        • General
          • Blocks
            • Get Blockchain Info
            • Get Block Transactions
          • Transactions
            • Get Tx Info
            • Get Tx Inputs
            • Get Tx Outputs
            • Get UTXO Info
          • Addresses
            • Get Address Balance
            • Get Address History
            • Get BTC UTXO
            • Get Inscription UTXO
          • Inscriptions
            • Get Inscription Info
            • Get Inscription Content
            • Get Inscription Events
            • Get Address Inscriptions
        • BRC-20
          • Get Best Block Height
          • Get BRC-20 List
          • Get BRC-20 Status
          • Get BRC-20 Ticker Info
          • Get BRC-20 Holders
          • Get BRC-20 Ticker History
          • Get BRC-20 Total History By Height
          • Get BRC-20 Tx History
          • Get Address BRC-20 Summary
          • Get Address BRC-20 Ticker Info
          • Get Address BRC-20 History
          • Get Transferable Inscriptions
        • Runes on Fractal
          • Get Runes Status
          • Get Runes Info List
          • Get Runes Info
          • Get Runes Holders
          • Get Address Runes Balance List
          • Get Address Runes Balance
          • Get UTXO Runes Balance
          • Get Address Runes UTXO
          • Get Runes Events
        • UniSat Inscribe on Fractal
          • Get Order Summary
          • Get Order List
          • Create Order
          • Search Order
          • Refund estimate
          • Refund
          • Create BRC-20 DEPLOY
          • Create BRC-20 MINT
          • Create BRC-20 TRANSFER
        • UniSat Marketplace on Fractal
          • BRC20 Marketplace
          • Runes Marketplace
          • Collection Marketplace
          • Domain Marketplace
        • UniSat Collection on Fractal
          • Get Collection Status
          • Get Collection List
          • Get Collection Info
          • Get Collection Holders
          • Get Collection List By Address
          • Get Collection Items
          • Get Collection Summary By Address
          • Get Collection Items By Address
          • Get Collection List By Inscription
          • Add Items
          • Remove Items
        • Get Fractal Circulating Supply
        • Get Fractal Total Supply
        • Get Fractal Total Address Count
        • Get Fractal Rich Address List
        • PizzaSwap
        • CAT Market
        • CAT20-DEX
          • Get Token Price
          • Get Market Stats
        • Fractal Development Support (testnet)
      • API Version Upgrade Notes
        • API Version Upgrade completed: Untrack Useless brc20 Inscriptions
      • API Demos
      • UniSat Game Framework
    • Development for brc-20 protocol
      • brc20-swap Introduction
        • What Is an Automated Market Maker?
        • Liquidity providers (LPs)
        • Testnet guide
        • Technical Q&A
        • Modules, withdrawals, and decentralization of brc-20
      • Single-Step Transfer
    • Developer Service Legal Disclaimer
  • 💡Services (Bitcoin)
    • UniSat Wallet
      • What is Signet?
      • UniSat Wallet FAQ
      • UniSat Wallet Address Type
      • Transfer brc-20 in UniSat Wallet
    • UTXO Management
      • Understanding UTXO
      • How to unlock inscription/runes utxo and send as normal btc in utxo management.
      • FAQ
    • PizzaSwap
      • How to interact with PizzaSwap?
      • Green Channel User Guide
      • Guides for withdrawing your assets from PizzaSwap or brc20-swap
      • LPfest: Step-by-Step Guide
    • Product Chronicles
      • UniSat Wallet - Release Notes
        • v1.6.2
        • v1.6.1
        • v1.6.0
        • v1.5.8
        • v1.5.4
        • v1.5.2
        • v1.5.1
        • v1.4.10
        • v1.4.9
        • v1.4.6
        • v1.4.5
        • v1.4.2
        • v1.4.1
        • v1.4.0
        • v1.3.3
        • v1.3.2
        • v1.3.1
        • v1.3.0
        • v1.2.9
      • Timeline of brc-20 Swap and PizzaSwap Development
  • 💡Services (Fractal Bitcoin)
    • Fractal Service Links
    • FairPool
      • Getting Started with FairPool
    • Runes on Fractal
      • How to Etch Runes?
      • How to Mint Runes?
      • How to Trade Runes?
    • CAT Support
      • How to send / receive CAT20?
      • How to Buy and Sell CAT on UniSat CAT Market?
    • Simple Bridge
      • How to use the Simple Bridge
    • Guides & Tutorials
      • How to Submit Collection in GitHub?
      • Full Node Configuration
  • 📖Knowledge Base
    • Extension Wallet Safety Guide: Protecting Your Assets
      • Best Practices for Safety
    • Bitcoin Basics
      • What is Bitcoin?
      • How does Bitcoin work?
      • Understanding Bitcoin Address Types
      • Glossary
    • .unisat Names
      • Name recognized and resolved
    • Runes
      • How to Etch Runes?
      • How to Mint Runes?
      • How to Trade Runes?
  • Alkanes
    • How to Trade Alkanes on UniSat Marketplace
    • FAQ
  • 🎏Community
    • Reputation System
      • Guides & Explanations
        • UniSat Marketplace Fee Rates
        • FAQ
          • Drops FAQ
      • Points
      • Titles
      • Credits
    • Events
      • brc20-swap Early Access
      • UniSat OG Pass Collection
      • LPfest
      • Babylon Staking Activity
        • How to Transfer $BABY to a Cosmos Wallet
        • How to Participate in BTC Staking on Babylon Using UniSat Wallet
    • Assets potentially associated with UniSat's products
Powered by GitBook
On this page
  • What are the considerations for using brc20-sats as L2 gas?
  • Will people receive rewards for providing liquidity?
  • Can you explain how brc-20 modules work and why should we care?
  • I heard withdrawal is restricted when in the 'black module', can you describe the details?
  • More details about the sequencer and rollup?
  • How do you make sure that it is accepted by all indexers and that there is complete consensus? If some indexers have not accepted, how to deal with it?
  1. dev
  2. Development for brc-20 protocol
  3. brc20-swap Introduction

Technical Q&A

What are the considerations for using brc20-sats as L2 gas?


Using brc20-sats as L2 gas has several considerations:

  1. Wide Distribution: brc20-sats are the most widely distributed brc20 assets to date, with the largest number of holding addresses. This wide distribution makes it a practical choice.

  2. Fine-Grained Value Measurement: brc20-sats have a relatively small unit, allowing for precise value measurement. This is especially valuable in situations where small amounts of value need to be calculated and transferred.

  3. Consistency with Layer 1: Using brc20-sats as L2 gas maintains relative consistency with the use of Bitcoin-sats on the Layer 1 network. This consistency can simplify the user experience and provide continuity in value representation between the two layers.

In summary, using brc20-sats as L2 gas offers practicality due to their widespread distribution, fine-grained value measurement, and consistency with Bitcoin-sats used on Layer 1. These factors contribute to a seamless and user-friendly experience in both L1 & L2 of the network.

Will people receive rewards for providing liquidity?


Yes.

UniSat offers two types of rewards to users who provide liquidity:

  1. Service Fee: Liquidity providers receive a portion of the swap service fee as a reward for their participation.

  2. Staking of LP Tokens: UniSat provides a farming mechanism, enabling third-party developers to establish their staking models. This allows for additional rewards to be offered for specific swap pairs.

Can you explain how brc-20 modules work and why should we care?


(this is technical, skip if you are not interested in development)

Anyone can implement their own modules, which is permissionless, much like UniSat has done with the brc20-swap module. All newly created modules start in 'black module' mode by default, meaning that all indexers treat them as blackboxes, not recognizing their contents.

To provide services to their users, module providers must independently index data within their modules. All activities within these modules remain hidden from the external world and have no impact on the existing brc-20 ecosystem.

Once the main indexers (Alex, Domo, Hiro, OKX, UniSat) are ready to recognize brc20-swap operations and are satisfied with its performance (let's assume that they are happy with it), the brc20-swap module has the opportunity to be 'accepted' and become a part of the brc-20 as one 'white module'.

Looking ahead, the core protocol will remain stable and straightforward. Many modules supporting various protocols, blockchains, and domains will be introduced. Some of these modules will gain acceptance from the main indexers.

This approach allows brc-20 to remain highly adaptable, permissionless (meaning anyone can create modules), decentralized (as indexers can choose which modules to support), and sustainable (modules are isolated without interfering with each other), all while keeping the core protocol simple and stable.

Numerous modules are currently in development (Sep. 2023), aiming to support different protocols, blockchains, and domains. brc-20 is showcasing its robustness and vitality through its inherent simplicity.

I heard withdrawal is restricted when in the 'black module', can you describe the details?


In the 'black module' state, the main indexers lack detailed information about the module. Allowing direct withdrawals in this state would result in varying states across different indexers, potentially causing chaos in the entire system. This is why direct withdrawal is not an option for 'black modules.'

Nevertheless, there are multiple workarounds available. The most straightforward approach is to utilize existing marketplaces, where users can trade in-module assets (L2 assets) for classic brc-20 assets (L1 assets).

However, we offer a simpler solution: when a user requests a withdrawal, they simply submit the withdrawal request. If there is someone depositing assets, the deposit and withdrawal processes will automatically and atomically exchange, ensuring a smooth and atomic deposit/withdrawal happening at the same time.

More details about the sequencer and rollup?


To address the congestion challenges on the Bitcoin mainnet, UniSat has developed a sequencer capable of rolling up thousands of swap operations, including adding liquidity, removing liquidity, and swapping assets. The resulting rollup inscription is then submitted to the Bitcoin mainnet.

What makes this sequencer truly remarkable is its versatility. It's designed in a way that allows it not only to roll up swap operations but also to be extended to support various advanced operations in the future.

It's quite encouraging that we now have a comprehensive Layer 2 solution with Ordinals on Bitcoin, all achieved elegantly. This achievement highlights the inherent strength of brc-20 and showcases its potential for further innovation.

How do you make sure that it is accepted by all indexers and that there is complete consensus? If some indexers have not accepted, how to deal with it?


To provide a more feature-rich experience, the current main indexers may show interest in implementing useful and highly reliable modules. This becomes even more likely when the source code is available for thorough review and reference.

In the ever-evolving ecosystem, An indexer is expected to communicate well with others and make decisions thoughtfully about supporting different modules. If it remains stagnant may find itself outperformed by newer counterparts and risk losing support over the long term.

Ideally, having the support of all indexers for a module would be fantastic. However, it's essential to acknowledge that in reality, there might be cases where most indexers adopt a module while the rest have reservations and choose to step back without following. In such scenarios, the indexer is risking being orphaned, which reflects the reality well.

The governance of brc-20 is a journey that stretches into the future. UniSat holds immense respect for other participants in this field and wholeheartedly supports the development of a robust and ever-evolving ecosystem.

PreviousTestnet guideNextModules, withdrawals, and decentralization of brc-20

Last updated 1 year ago

🛠️