# UniSat Docs

### Quick Navigation

{% content-ref url="/pages/g03UT1oGPngQOJC2h5Fq" %}
[Products](/products)
{% endcontent-ref %}

{% content-ref url="/pages/fTEIi9Fmav3NlxVdjXei" %}
[Fractal Bitcoin](/fractal-bitcoin)
{% endcontent-ref %}

{% content-ref url="/pages/lglDzMEP2w0jkznOdDR1" %}
[Developer Support](/developer-support)
{% endcontent-ref %}

{% content-ref url="/pages/vqVsBZLgzfkujdDYOkeQ" %}
[LEGAL](/legal)
{% endcontent-ref %}

{% content-ref url="/pages/QvPTXgywvkRrkVJ0tlK7" %}
[MISC](/misc)
{% endcontent-ref %}

Stay connected with UniSat:

* Website: <https://unisat.io>
* X: <https://x.com/unisat_wallet>&#x20;
* Discord: <http://discord.gg/unisat>


# UniSat Work Priorities

Welcome to UniSat’s Work Priorities page — a transparent, living overview of the core initiatives and focus development cycle.

This section outlines what we’re actively building, improving, or exploring. It reflects our evolving priorities as we grow the UniSat ecosystem, while staying responsive to community feedback and protocol-level changes.

What you'll find here:\
🌱 Our goals

🛠️ Feature and product development priorities

📊 Infrastructure, ecosystem, and scalability work

We believe in building in the open — this page is part of that commitment.

Note: Items listed here are not guaranteed release targets or deadlines. Priorities may shift based on technical discoveries, user demand, or ecosystem needs.

For the latest product updates or changelogs, please refer to our Release Notes or Dev Updates on X.

UniSat Website: <https://unisat.io/>&#x20;

X: <https://x.com/unisat_wallet>&#x20;

Discord: <http://discord.gg/unisat>


# UniSat 2025 Q2 Work priorities

**To the UniSat Community,**

At the start of this year, we shared our [**2025 Work Priorities Overview**](https://docs.unisat.io/home/production-roadmap/overview-of-unisat-2025-work-priorities) to keep you informed—and we’re thrilled by how well it’s helped align our efforts with your expectations. Today, we’re excited to provide an update on our progress in 2025 so far and our plans for Q2.

We’ve never stopped building, and we’re hard at work on countless exciting initiatives we can’t wait to unveil.

***

## Our Focus for Q2 2025

**Elevating Your Bitcoin Trading Experience**

* InSwap: The first open-sourced brc-20 DEX built natively on Bitcoin and Fractal
* UniHexa: A hybrid trading engine for Bitcoin assets

**Protocol Upgrade and Indexing Improvements**

* brc-20 Single-step transfer
* UniScan: The one explorer for all your Bitcoin needs.

**Enhancing the Security and Management of Your Assets**

* UniSat Wallet 2.0: Home for Your Bitcoin Assets

**A Step towards a more global and inclusive community**

* Multilingual support for InSwap and UniSat Wallet

**Decentralized infrastructure for an open finance system on Bitcoin**

* Decentralized indexing services

**UniSat’s practical approach to innovation**

* Research-Driven, Decentralized, Open-Minded
* Execution Over Crafted Narratives
* Multitasking as a trusted service provider

***

### Elevating Your Bitcoin Trading Experience

#### InSwap: the first open-sourced brc-20 DEX

Liquidity has been a longstanding issue with brc-20 owing to orderbook marketplace being the most adopted avenue of trading, and having to wait block confirmations on Bitcoin which can take up to 30-40 mins.

InSwap presents an innovative solution as the first b**rc-20** AMM **DEX, allowing users to swap, provide liquidity and earn brc-20 easily on Bitcoin and Fractal.**

The automated market maker (AMM) model enables brc-20 trades to always be executed with an algorithmically determined price, without needing a counterparty.

It is powered by a decentralized swap module that aggregates transactions in batches using a novel sequencer which enables:

* Instant swaps without waiting for block confirmation
* Large volumes to be processed simultaneously
* Robust decentralization and security

InSwap mainnet has been live since September 2024, we shipped several key updates in 2025 so far:

✅ Integrated wrap: easier and faster wrap into swap module

✅ New domain and multilingual support: <https://inswap.cc/> and languages like traditional chinese

✅ UI cleaning: Charts and pool info

✅ Runes swap (wrapped as a token brc-20) has been successfully implemented using SUSD and we plan to roll out more assets later in Q2.

🎡 LPfest: provide liquidity for trading pairs and get a share service fee and additional rewards in LPfest.

<figure><img src="/files/PkpebaAeBjGS5fxH2ERr" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/47AWonQVdrGIFRFcNYvl" alt="" width="563"><figcaption></figcaption></figure>

What we planned for Q2:

✅ Regular LPfest epochs to boost liquidity rewards

✅ Better visualization of activities in InSwap and search feature

✅ More experimentation on how to improve trade routing and user onboarding

\
🟠 Updates：

* Hosted multiple LPfest Epoch events: Epoch 3, 3.1, 4, and 4.1 successfully completed.
* Run several InSwap trading events with community partners.
* Feature upgrades:
  * Added LP Burn feature
  * Introduced One-click sign for swaps
  * Enabled Custom fee rates for wrap operations
  * Added Bulk Send for brc-20 transfers to multiple addresses

***

#### brc-20 Swap module on Bitcoin

InSwap will be deployed on Bitcoin mainnet pending implementation of the brc-20 swap module on Bitcoin, which requires brc-20 protocol upgrade and unilateral approval from all relevant parties. Therefore, we chose to deploy on Fractal first.

✅ In Q1, we included two additional implementations of the swap module on Fractal to ensure maximum reliability.

Once brc-20 upgrade is approved, we will aim to launch InSwap on Bitcoin testnet by Q2 2025.

This means that you will have the option to either roll up your transactions onto Bitcoin mainnet when trading assets on Bitcoin, or roll up transactions onto Fractal for lower roll up fees.\
\
🟠 Updates: \
We are currently waiting for the brc-20 upgrade to be approved and will continue to keep the community updated as progress unfolds.

***

#### **brc-20: Single-step transfer**

In the plainest sense, single-step transfer means you no longer need to inscribe a ‘transfer’ inscription and wait for block confirmations before sending brc-20!

Our progress in 2025 so far:

✅ UniSat developed the solution to combine brc-20 transfer into a single step. We have deployed this upgrade on Fractal testnet and within UniSat inscribe and UniSat Wallet.

✅ We are slightly behind the announced schedule as this requires us to work closely with other indexers. The good news is we have completed development of the indexer implementations for the other main brc-20 indexers OKX and OPI, and we’re working with them to integrate.

What we planned for Q2:

✅ Once sufficiently tested, **Single-step transfer** will be deployed on Fractal mainnet by Q2 2025.

✅  We will work with other indexers and brc-20 maintainers to push for its implementation on Bitcoin mainnet.

If you enjoyed the experience of InSwap and single-step transfer and would like to see it on Bitcoin mainnet. Please let us hear your voice and support us in pushing this forward!

<figure><img src="/files/HnJCHhYjD4XXUoBKNCBy" alt="" width="375"><figcaption></figcaption></figure>

\
🟠 Updates: \
✅ brc-20 Single-Step Transfer is now live on Fractal Mainnet and we will closely monitor its performance on Fractal network and continue to advocate for its deployment on Bitcoin mainnet.

***

#### UniHexa: the next-gen hybrid trading engine for Bitcoin assets

UniHexa brings you the best of both worlds:

* Trade across brc-20, Runes, Taproot Assets, native stablecoins and more in a unified CEX-like trading experience.
* DEX-style self-custody, and permissionless access to all.

There is NO compromise on transparency OR performance

* Built for optimal performance: 20x blockspace, 30s confirmation time
* Every transaction committed to blockchain and verifiable as it should be.

🟠 We are coding hard and aim to ship a public testing version by the end of Q2.

***

#### UniScan: The one explorer for all your Bitcoin needs.

UniScan provides powerful search across protocols and networks, supporting Ordinals, brc-20, Runes on Bitcoin & Fractal.

This supported by our high-performance proprietary brc-20 indexing code, which can process hundreds of blocks per second, with full on-chain data processing taking only a few hours, at least two days to process complete on-chain data.

What we shipped in 2025 so far:

✅ Search any br&#x63;**-20 tokens, Runes, and Ordinals collections**

✅ **Search any Bitcoin address for instant portfolio visibility:**

✅ Explore full transaction history with advanced filtering options

✅ Clear visualization of transaction details

✅ **Track on-chain activity by protocol**\
\
🟠 Updates:\
We continue to enhance UniScan with richer features and improved usability:

✅ New independent domain launched: [uniscan.cc](https://uniscan.cc)

✅ Protocol support expanded: UniScan now supports Alkanes protocol assets.

<figure><img src="/files/vgeu7vFFYCLdRgDb5iy3" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/yXrNz7kfR0hgOAsOHfU9" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/BxomVX535FfYlrR3Epyn" alt="" width="563"><figcaption></figcaption></figure>

***

### **Enhancing the Security and Management of Your Assets**

#### UniSat Wallet 2.0: Home for Your Bitcoin Assets

UniSat Wallet will see critical security upgrades that keep your assets even more secure:

* Providing the option to turn your UniSat Wallet installed device into a cold storage wallet.
* Enabling 2-of-2 multisig wallet with one being your UniSat extension wallet and the other your UniSat App Wallet.

🟠 We’ll be developing in Q2 and aim to ship in Q3.

The upgrade will be complete with new features support for everyday utxo management and advanced tools for degen users.

What we shipped on Fractal so far:

✅ Merge ready-combined useless (mint and transfer) inscriptions in one click.

✅ Batch select and unlock UTXOs containing various asset types: Ordinals, BRC-20, Runes

✅ Select any UTXOs to lock to avoid unintended spending.

✅ Visualisation of all UTXOs and contained assets

✅  We’ll be launching the UTXO management tool on Bitcoin mainnet in Q2.\
\
🟠 Updates: \
✅ UTXO Management Tool has officially launched on the Bitcoin mainnet.&#x20;

<figure><img src="/files/arzJFvxWf0GyzLerzjBc" alt="" width="563"><figcaption></figcaption></figure>

***

### **Decentralized Indexing for an Open Finance System on Bitcoin**

Bitcoin has evolved beyond a "money layer" into a comprehensive "data layer" with Ordinals, hosting billions of tokens and their transaction data. However, the ecosystem relies on off-chain indexers—a critical vulnerability. Centralized entities introduce risks, as their mutable state creates potential for manipulation or failure. To ensure long-term growth, a decentralized indexer is essential.

UniSat would like to have a go at tackling this challenge. We aim to build a decentralized indexer that can:

* Validate brc-20 and other protocols that Bitcoin nodes can’t natively process.
* Support a broader range of protocols in a secure, incentive-driven network.
* Let users independently verify transactions without relying on centralized entities.

🟠  We’ll commence development work in Q2, and aim to deliver in the second-half of 2025.

***

### **A Step towards a more global and inclusive community**

As UniSat community grows, we now have users from every continent. Even though crypto users are often used to adjusting to English, but we know they’d be much more comfortable using products in their mother tongues.

✅ InSwap was upgraded with multilingual support including French, Spanish, Russian, Japanese, and Traditional Chinese

✅ Multilingual support for UniSat Wallet will be coming to users in Q2.

\
\
🟠 Updates:&#x20;

✅ Multilingual support is now live for both the UniSat Extension Wallet and the UniSat App, including French, Spanish, Russian, Japanese, and Traditional Chinese.

<figure><img src="/files/hbsvZt5Z4KkMeGsMjWOV" alt="" width="563"><figcaption></figcaption></figure>

***

### UniSat’s a practical approach to innovation

If you’ve made it this far into the article and into the journey with us, we would like to express our heartfelt appreciation, and share a bit more about how we think and how we work.

#### **Research-Driven, Decentralized, Open-Minded**

As an infrastructure provider, we face a constant influx of new protocols and upgrades requiring support, including our own upgrades! Integrating everything early is easy; choosing wisely and supporting innovations sustainably is harder.

We always keep an open mind and never dismiss ideas simply because we don’t yet understand them. Instead, we research thoroughly to answer: *Does this empower users sustainably? What risks could undermine decentralization or self-custody?* When in doubt, we pause, learn, and collaborate.

Core principles like decentralization and self-custody drive our philosophy. It’s tempting to overlook these when platforms offer sleek user experiences—until the cost of compromising them becomes painfully clear. We aim to support new protocols more efficiently than before, but never at the expense of our foundational values.

#### **Execution Over Crafted Narratives**

Since the beginning of our journey in 2023, we’ve prioritized action over hype. In an ecosystem dominated by flashy token launches and inflated roadmaps, we stay focused on what matters: *building*. Markets fluctuate, but our commitment to transparency and tangible progress remains unwavering.

We’ll continue investing time in building—not talking about building—and delivering real benefits for users.

#### Multitasking as a trusted service provider

For some time since the launch of Fractal mainnet, praises for our work is always accompanied by concerns from the community: are we moving too fast? Are we spreading ourselves too thin?

We understand. Our journey began humbly as the first extension wallet to support Ordinals and an inscription platform. The path hasn’t been linear—we grinded when few cared, persevered through setbacks unnoticed, and now we must embrace the responsibility as pioneers. We experiment boldly, push boundaries, and learn from failures, all to improve user experiences and ease the path for future builders.

Bitcoin’s ecosystem is still nascent, and its infrastructure gaps demand bold experimentation. We move quickly but never recklessly—every step aims to strengthen Bitcoin’s foundation for the long term.

#### Growing with Bitcoin

UniSat is maturing into a reliable team. We’re unafraid of short-term failures or doubts because we’re committed to Bitcoin’s future, confident in our team, and inspired by this incredible community.

Thank you for your faith in us- and in Bitcoin. Let’s keep building, thoughtfully and relentlessly.

UniSat Team


# Overview of UniSat 2025 Work Priorities

Note: This plan summary includes content related to our ongoing work and plan for 2025, with a focus on development work.

### Work carried-over from 2024

#### **CAT721**

Let’s start with some ongoing work.

Support for CAT721 on Fractal is expected to be delivered in two phases: wallet and browser support will be delivered by January 10th, and CAT721 market support will be delivered around January 20th, with corresponding community events.&#x20;

🟠 Updates from Feb. 2025: The CAT721 marketplace development is complete and awaiting launch. Stay tuned.&#x20;

#### **InSwap**

There will be three updates in a row:

a. Simplifying user operations through embedding the bridge in the swap.&#x20;

b. Implementing support for Runes and CAT20.&#x20;

c. Introducing support for the stablecoin SUSD from Shell Finance.

These changes will be delivered over different iterations throughout January.

&#x20;🟠 Updates:&#x20;

✅ Integrated bridge + deposit in one step, dramatically reducing deposit and withdrawal waiting times.&#x20;

✅ InSwap integrated SUSD•SUSD•SUSD (Runes) — a stablecoin developed by Shell Finance based on the Runes Protocol.

➕ Additional updates and improvements:

* New domain and multilingual support: <https://inswap.cc> now available in multiple languages including Traditional Chinese.

➕ Beyond Feature/UI upgrades:

* Added LP Burn feature
* Introduced One-click sign for swaps
* Enabled Custom fee rates for wrap operations
* Added Bulk Send for brc-20 transfers to multiple addresses
* Enhanced charts and pool information for a smoother experience

➕ Events

* Regular LPfest epochs: Epochs 3, 3.1, 4, and 4.1 successfully completed
* InSwap Liquidity Boost & LP Match events
* InSwap trading events with community pairs

***

### Product Deliverables for 2025

#### **brc-20 Feature Extensions and Open-Source Indexing Service**

Considering the inconsistencies that have existed with brc-20 on the Bitcoin mainnet, we made a few adjustments to significantly simplify and reduce potential rule complexities for brc-20 on Fractal. These include supporting 6-12 character ticker names, lifting the character constraints for fair-mint and self-issuance, using a simplified standard character set, and so on. For more details, see [here](https://docs.fractalbitcoin.io/doc/brc-20-on-fractal).

In terms of expanding brc-20 features, we will attempt further improvements in 2025 on Fractal, including:

* **One-step transfer:** Simplifying the current mint and transfer into a single step.
* **One-to-many transfer:** Enabling a single transfer to multiple users.
* **Airdrop functionality:** Supporting airdrop transactions with up to 2000 recipients in a single transaction.
* **Phased minting:** Enabling fair minting within a specified block range.

We believe that enhancing and expanding these features will make brc-20 a more featured protocol.

Regarding implementation, UniSat will focus more on refining and improving its open-source indexing service. While the previously released open-source index service works, it hasn’t been actively maintained. Our improvement objectives include:

* Simplifying the system architecture of the open-source index, focusing solely on providing brc-20 index services, without the need to maintain flexible architecture supporting multiple protocols.
* Fully integrating UniSat’s high-performance proprietary brc-20 indexing code into the open-source index service, delivering significant advantages over the official Ordinals index service. Specifically, our high-performance indexing service can process hundreds of blocks per second, with full on-chain data processing taking only a few hours, while the Ordinals index processes one block in a few seconds and requires at least two days to process complete on-chain data.
* In the near future, we aim to transition UniSat’s entire product line to use this open-source index implementation and maintain it actively for the developer community.

Long-term, we hope to optimize the index service implementation, introduce new features, and create applications to inject new vitality into brc-20, driving the continued development for the protocol.

&#x20;🟠 Updates:&#x20;

✅ brc-20 Single-Step Transfer already live on Fractal Mainnet

✅ Our UTXO Management Tool was officially launched on Fractal & Bitcoin, along with continuous feature enhancements including:

* Merge, One-click merge, Unlock/Lock, Batch send to multiple addresses, and Split functions.
* These updates provide better asset organization and meet developer needs such as large-scale airdrops.

#### UniSat Wallet 2.0

We will deliver version 2.0 of UniSat Wallet in Q2. The most critical change will be the security model upgrade. Users will be able to choose from different security models and, when needed, use cross-device interactions for higher security. This version will also support more types of hardware wallets, such as Ledger and Trezor, and gradually support more protocols on Bitcoin.

We’ve been taking note of community feedback, highly requested features such as easier inscription management (categorization and search), handling obsoleted inscriptions or large amount of scattered inscriptions, and managing fragmented UTXOs will be delivered across multiple product updates throughout 2025.

🟠 Updates:

✅ Wallet Enhancements

* Added multilingual support: French, Spanish, Russian, Japanese, and Traditional Chinese.
* Added support for Alkanes & brc2.0 assets
* Introduced Address Book, Feedback Channel, and improved password UI for smoother user experience.

✅ Launched UTXO Management Tool on UniSat wallet, featuring:

* Clear categorization by asset type for easier and more efficient asset management.
* Detailed breakdown of assets within each UTXO.
* Gradually introduced Merge, One-click merge, Unlock/Lock, Batch send, and Split functions.
* The tool now supports both Fractal and Bitcoin networks, allowing seamless network switching.

#### UniSat Explorer 2.0

In Q4 of 2024, with the launch of Fractal, we launched a comprehensive block explorer for the Fractal network- UniSat Explorer. This explorer is compatible with different protocols and clearly show asset transfers across protocols like Ordinals, brc-20, Runes, and cat20.

In the new year, we will further enhance UniSat Explorer’s capabilities, expanding to Bitcoin mainnet and ensuring product consistency across different networks. For example, users will be able to conveniently query the asset distribution of a Bitcoin address across different networks with one click.

🟠 Updates:

➕ Apr 2025: Launched the new UniScan domain [https://uniscan.cc](https://uniscan.cc/)

✅ Expanded Fractal Explorer’s capabilities to the Bitcoin mainnet — clearly displaying cross-protocol transfers for Ordinals, brc-20, Runes, and cat20 assets.

✅ Continued to enhance UniScan with expanded multi-protocol compatibility, now supporting Alkanes, brc2.0, and more.

➕ Beyond Feature/UI upgrades:

* Heat Map launched — making it easier to track trending transactions on Fractal and Bitcoin.
* Enhanced Wallet Address Display for better clarity and visibility.
* Sort your assets by $ value for a clearer portfolio overview.
* InSwap assets and transaction details are now visible directly in your wallet.

#### UniSat Marketplace 2.0

This year, we will fully upgrade the PSBT-based P2P transaction model used by our Marketplace. We are gearing up for a major product and brand upgrade of the Marketplace in Q3. Stay tuned for community events around the release.

***

### Collaboration and Ecosystem Development Plans for 2025

#### Bitcoin/Fractal Interoperability

In 2025, our main focus for Fractal Bitcoin will be to enhance interoperability between Bitcoin and Fractal, simplifying asset flow between Bitcoin’s mainnet and Fractal. This will allow Fractal to play a more substantial role in supporting Bitcoin as a system and lay better groundwork for using Fractal to expand Bitcoin. Over the long term, we aim to create a more scalable and flexible system for Bitcoin/Fractal.

The launch of DeTrading, a trustless cross-chain platform for atomic swaps that supports Fractal and Bitcoin networks, marks a major milestone in Bitcoin interoperability. This groundbreaking application of atomic swaps is the first successful attempt to bring a truly trustless cross-chain experience for users.

DeTrading’s solution will play significant role in simplifying and promoting interoperability between Fractal Bitcoin and Bitcoin mainnet. The atomic swap protocol can also support multiple asset types including brc-20, runes and even CAt20, and be expanded to other blockchains like Ethereum and Solana, which makes it a highly universal and adaptable approach. This universal approach paves way for fast transaction channels for different types of assets across various networks. UniSat will support the DeTrading team in refining and improving their product and may also explore structural improvements to existing bridge products.

✅ Updates: DeTrading has officially launched on the UniSat Dapps portal, enabling seamless FB ⇄ BTC swaps directly on-chain.

#### Constructing a Hyper Indexer

In 2025, SatWorld will start to create a vibrant virtual world, allowing people to create (avatars), explore (vast unknown worlds), harvest (treasures and resources), build (homes and habitats), and organize various forms of interaction. The virtual world will also have autonomous agents that interact with user avatars, offering more possibilities and variety.

UniSat will collaborate closely with SatWorld, using the Bitcoin/Fractal network infrastructure to help bring this vision into reality. We will improve and optimize the existing indexer, provide a more user-friendly interface that allows virtual world creators to quickly access and use images, sounds, texts, artworks, and concepts existing in millions of inscriptions. By turning on-chain inscription data into a shared library and development repository, UniSat’s indexing service will become a powerful hyper-indexer for managing and retrieving on-chain resources.

#### DID System Based on Unified Addresses

One unique feature of Fractal Bitcoin is its shared address format and transaction structure with Bitcoin, this not only allow Bitcoin users to enjoy Fractal’s expanded block space and utility with ease, but also allows us to create build a global identity and reputation system in the Bitcoin system. You may have noticed that UniSat has started creating different Titles that users can claim for unlocking various achievements. With this system, Users will be able to form and leverage a universal identity and reputation based on their activity and achievements across networks.

In the new year, we will gradually begin to build out this system, starting with the following:

* UniSat titles
* Domains linked to your Bitcoin/Fractal addresses.
* Interactions with different projects in the Bitcoin/Fractal ecosystem.
* Your on-chain voting history in Fractal Vote.
* Your avatars and gear in SatWorld.
* Changes in your Fractal Bitcoin and other asset holdings.

This list will expand as the system is developed. You will gradually see the system rolled out on your UniSat personal asset page. We will accumulate a DID system based on on-chain reputation, allowing you to link addresses used in different periods as part of your identity.

🟠 Updates:&#x20;

✅ The UniSat Titles system was officially launched — each title marks a moment in time when you’ve helped make Bitcoin grow and thrive. &#x20;

✅ We also introduced Drops — our way to show our love for Art on Bitcoin and to say thank you to the community by awarding benefits based on Proof of Contribution.

* Drops creatively uses UniSat Titles as eligibility to participate so creators can get maximum exposure to UniSat Title.&#x20;
* Throughout 2025, the Titles system continues to grow, integrating with more use cases and evolving into an increasingly comprehensive reputation system.

✅ Through active interactions with projects across Fractal ecosystem, we have launched multiple events — including LPfest, LPmatch, InSwap Liquidity Boost, and various InSwap trading campaigns.<br>

#### Support for Stablecoins, Yields, AI Agents, and More

We have already done some preliminary work on stablecoins. Some time in 2025, we plan to begin to provide strong support for stablecoins in our products. For Fractal, stablecoins with low fees will become a critical part of transactions, thereby driving the development of more use cases.

In December 2024, UniSat Wallet integrated Babylon's service. We will also engage with more projects that generate yield from holding assets and actively explore native yield models on Fractal Bitcoin.

We have observed that active AI agents are beginning to support Bitcoin, and we will contribute code to support Ordinals, Runes, and Fractal Bitcoin, ensuring that these agents can operate inscriptions and other assets without obstacles.

✅ Updates:\
In Sep 2025, We officially launched FB Farming, the first native, fully on-chain, non-custodial yield solution for the Fractal Bitcoin community. FB Farming is designed to reward long-term FB holders and promote sustainable ecosystem growth.

***

### Conclusion

This document shares a brief overview of our development plans for 2025. As our work progresses, we will update this plan periodically. In the coming year, we will focus on integrating development and operational resources more effectively, serving Bitcoin users more holistically, and fostering a more open industry atmosphere. We aim to collaborate more actively with different teams and communities, explore innovative ideas, contribute more open-source code, and organize more community activities, creating greater value and opportunities for users and developers.

*(This document will be updated as work progresses, Last Update: 2025-01-05)*


# Production Roadmap in Q4 2024

As we enter the final quarter of 2024, our focus remains on delivering and optimizing our products to provide top-tier infrastructure support for both Bitcoin and Fractal. We are excited to share our upcoming roadmap to encourage proactive and meaningful engagement with the community as we continue our journey together.

*(please note this is a draft version that will be revised periodically as we progress)*

## Roadmap in Q4 2024

### October 2024

* **Runes activation on Fractal**

  * (Engineering complexity: ⭐️⭐️⭐️; Technical innovation: ⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️⭐️⭐️)
  * Implement Runes on Fractal (lowercase)&#x20;
  * Post-activation: Enable SimpleBridge to bridge Bitcoin mainnet Runes onto Fractal,  so that they can interact with Runes on Fractal directly

* **CAT20 identifying and transferring**&#x20;

  * (Engineering complexity: ⭐️⭐️⭐️; Technical innovation: ⭐️⭐️⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️⭐️)
  * UniSat Wallet: Enable CAT20 recognition, display and transfers
  * UniSat Explorer: Identify CAT20 assets and transactions &#x20;

* **CAT Market (trustless CAT20 trading)**&#x20;

  * (Engineering complexity: ⭐️⭐️⭐️⭐️⭐️; Technical innovation: ⭐️⭐️⭐️⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️)
  * Implement a trustless, permissionless Bitcoin script-based on-chain CAT20 trading platform&#x20;
  * Support for both buy orders and sell orders (more flexible than PSBT), but partial order fulfillment is not supported yet due to script limitations (without OP\_MUL)

### November 2024

* **Fractal on-chain voting**&#x20;

  * (Engineering complexity: ⭐️⭐️⭐️⭐️; Technical innovation: ⭐️⭐️⭐️⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️⭐️)
  * Design and implement OP\_CAT-based locking and voting model
  * Apply transparent proposal submission, discussion and adoption for Fractal&#x20;

* **InSwap major update**&#x20;

  * (Engineering complexity: ⭐️⭐️⭐️; Technical innovation: ⭐️⭐️⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️⭐️⭐️)
  * UniSat Points and FB Rewards for specific Liquidity Providers
  * Simplified operating procedures for InSwap
  * Opening up to all tickers on Fractal.

* **brc-20, Runes & CAT20 optimization**

  * (Engineering complexity: ⭐️⭐️⭐️⭐️⭐️; Technical innovation: ⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️)
  * Enhance UniSat indexing infrastructure to achieve faster block parsing with all supporting protocols (target response time: 15-30s)
  * Optimize the responsiveness (balance updating and UTXO retrieving) of UniSat Wallet (target response time: 15-30s)

### December 2024

* **zkAtomicSwap - effective atomic swapping**&#x20;

  * (Engineering complexity: ⭐️⭐️⭐️⭐️⭐️; Technical innovation: ⭐️⭐️⭐️⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️)
  * Implement atomic swap between different chains & different protocols
  * Trustless trading mechanism between Fractal and other ecosystem

* **CAT Protocol advanced support**&#x20;

  * (Engineering complexity: ⭐️⭐️⭐️⭐️; Technical innovation: ⭐️⭐️⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️)
  * Advanced support for cat721 and cat-dApps across all UniSat products
  * Further consolidating product-side implementation of the CAT protocol

* **InSwap major update** &#x20;

  * (Engineering complexity: ⭐️⭐️⭐️; Technical innovation: ⭐️⭐️⭐️⭐️; Scheduling certainty: ⭐️⭐️⭐️⭐️)
  * Perform the upgrade of the BRC-20 swap module on Bitcoin mainnet.
  * Build unified and consistent accessing model for both Bitcoin and Fractal for InSwap

UniSat Team

*Last Update: Oct 21, 2024*

*(please note this is a draft version that will be revised periodically as we progress)*


# Products

Your one-stop view of UniSat’s product suite — products, tools, and features.

Here, you’ll find all UniSat products in one place, from wallet and explorer to trading, inscribing, swapping, and tools, making it easy to discover everything UniSat provides in a single unified hub.

{% content-ref url="/pages/qSp7KCCblF4GDnxN3FyI" %}
[UniSat Wallet](/products/unisat-wallet)
{% endcontent-ref %}

{% content-ref url="/pages/gQK527lrjTFQQALTHG9D" %}
[UniSat Inscribe](/products/unisat-inscribe)
{% endcontent-ref %}

{% content-ref url="/pages/UmZygMjKvzBXSpfiNn2M" %}
[UniSat Marketplace](/products/more-products/unisat-marketplace)
{% endcontent-ref %}

{% content-ref url="/pages/dJNkQQaJurNsztr582zy" %}
[UniScan](/products/uniscan)
{% endcontent-ref %}

{% content-ref url="/pages/AfC9IzHGBq3ETI0OoFCy" %}
[UTXO Management](/products/utxo-management)
{% endcontent-ref %}


# UniSat Wallet

### **UniSat Wallet — Home for Your Bitcoin Assets**

*Easy and safe to trade, inscribe, and manage assets with UniSat*

UniSat wallet is the first fully open-source, non-custodial, and decentralized wallet built for Bitcoin’s innovative standards. it provides users with a decentralized, self-custody experience alongside a suite of integrated tools, including:

* UniSat Marketplace
* UniSat Inscribe
* InSwap
* UTXO Management Tool
* DApp Center

Together, these services deliver a one-stop, seamless on-chain experience for Bitcoin and Fractal Bitcoin. &#x20;

#### **Key Advantages of UniSat Wallet:**

* **Decentralized**/**Non-Custodial** **Control:** Your private keys, passwords, and seed phrases are never stored by UniSat. Users retain full control of their keys with no personal data collected.
* **100% Open Source:** All code is available on GitHub, ensuring transparency, security, and community-driven development.
* **Encryption & Security:** Private keys are encrypted locally with your password, providing robust protection for your assets.
* **Privacy First:** UniSat does not track personal data. You can import private keys as "imported" accounts for flexible wallet management.
* **All-in-One Bitcoin & Fractal:** UniSat Wallet supports Native SegWit, Taproot, Nested SegWit, and Legacy address types. You can manage BTC, Ordinals, Runes, and Alkanes in one place, with multi-seed import and batch address derivation. Seamlessly access UniSat Marketplace, Inscribe, InSwap, UniScan and other services, and switch between Bitcoin and Fractal with a single click.
* **Multi-Platform Support:** Available on iOS, Android, and web browsers for convenient, cross-device access.

Being a non-custodial wallet means you will be in full control of managing and safeguarding your assets, including your seed phrase, private keys, and wallet password. You are the only one with access, and thus fully accountable for their security. You will need:

* Back up your recovery phrase or private keys securely. Losing them means losing your assets permanently.
* Set a strong wallet password and keep it safe. UniSat cannot help recover forgotten passwords.
* Only download UniSat Wallet from the [official website](https://unisat.io/download) to avoid fraud or phishing.
* Be cautious when clicking links or downloading software from any source.

Stay safe and enjoy your journey with UniSat Wallet!

#### Disclaimer:

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Create UniSat Wallet

This guide serves only as a reference for users.

Follow the steps below to create your wallet and get started.

### 1. Download UniSat Wallet

Visit  [here ](https://unisat.io/download)to download UniSat Wallet. After installation, start creating your wallet.

<figure><img src="/files/vSEFqk3D0P41ZE9APnCD" alt=""><figcaption></figcaption></figure>

### **2. Create or Import a Wallet**

* Click **Create New Wallet** to set up a new wallet.
* If you already have a wallet, click **I already have a wallet** to import your wallet using your recovery phrase.
* You can also click **Connect to Hardware Wallet** to link your hardware wallet. Currently, Keystone hardware wallets are supported (more options will be added in the future).

<figure><img src="/files/97LJp1dQJHcjvhuPTKK5" alt="" width="329"><figcaption></figcaption></figure>

### **3. Set a Login Password**

This password is used to unlock your UniSat Wallet. **As a decentralized wallet, UniSat does not store your password and cannot help recover it if lost. Keep it safe.**

**Password Tips:**

* Use a combination of uppercase, lowercase, numbers, and special characters.
* Avoid personal information or common words.
* Do not reuse passwords from other accounts—set a unique password for UniSat Wallet.

<figure><img src="/files/HezvtEKEOt2P15FndPUO" alt="" width="328"><figcaption></figcaption></figure>

### **4. Backup Your Recovery Phrase**

**Your recovery phrase (seed phrase) is your key to accessing your wallet. If anyone obtains your recovery phrase, they can control your assets. Losing or exposing it can lead to permanent asset loss.**

**Important Security Reminders:**

* NEVER screenshot, copy, or photograph your seed phrase.
* Do not let anyone watch you create your wallet.
* Avoid storing your seed phrase in cloud storage, emails, SMS, or any connected devices.
* Never share your seed phrase through communication tools.
* Do not store your seed phrase in one place or entrust it to others.
* Keeping your seed phrase on internet-connected devices poses significant risks.

<figure><img src="/files/dCvZytoipKr67nb6Mcke" alt="" width="375"><figcaption></figcaption></figure>

<br>

### **5. Complete Wallet Creation**

At this stage, you will see four wallet address types. All four types of wallet addresses support receiving, sending, and storing BTC, Ordinals, Runes, and Alkanes assets.

The most commonly used types are **Native SegWit (bc1q)** and **Taproot (bc1p)**. You can choose based on your needs.

<figure><img src="/files/ul1xXVmUWACj94kACJrS" alt="" width="563"><figcaption></figcaption></figure>

UniSat Wallet supports 4 Bitcoin address formats and allows switching between them in the settings.

| Type          | Script Type | Derivation  | BIP                                                                        |
| ------------- | ----------- | ----------- | -------------------------------------------------------------------------- |
| Native Segwit | P2WPKH      | m/84'/0'/0' | [bip-0084](https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki) |
| Nested Segwit | P2SH-P2WPKH | m/49'/0'/0' | [bip-0141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki) |
| Taproot       | P2TR        | m/86'/0'/0' | [bip-0341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki) |
| Legacy        | P2PKH       | m/44'/0'/0' |                                                                            |

####

#### **Custom HdPath (Optional)**

The Custom HdPath defines how your wallet's hierarchical deterministic (HD) structure generates addresses. Different paths produce different wallet addresses.

\
Example: `m/84'/0'/0'/0/0` → Native SegWit (bc1q addresses)

* `m`: Master key
* `84'`: Purpose—BIP84 (Native SegWit)
* `0'`: Coin type—Bitcoin Mainnet (0 for Bitcoin Mainnet, 1 for Testnet)
* `0'`: Account: Account 0 (you can have multiple accounts)
* `0`: Address Type: 0 = External (receiving) address, 1 = Internal (change) address
* `0`: Address index (first generated address)

\
**Note:** If you use a custom HdPath or other wallet tools with different paths, you must enter the exact same path during recovery to restore the same wallet address.<br>

#### Phrase (Optional)

The Phrase is an optional additional password for enhanced security. It is NOT the same as the login password set in Step 3.Entering a different Phrase during wallet recovery generates valid wallets, but with different addresses. If you set a Phrase, make sure to remember it—it's required for wallet recovery.

### Final Reminders: Decentralization = Full Responsibility

Using a decentralized wallet means you fully control your assets—and are responsible for your own security.

**Please remember:**

1. UniSat never stores your recovery phrase or private keys. Back them up securely. Losing them means losing your assets permanently.
2. Set a strong wallet password and keep it safe. UniSat cannot help recover forgotten passwords.
3. Only download UniSat Wallet from the [official website](https://unisat.io/download) to avoid fraud or phishing.
4. Be cautious when clicking links or downloading software from any source.

#### Disclaimer:

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Address Types

UniSat Wallet supports 4 Bitcoin address formats and allows switching between them in the settings.<br>

| Type          | Script Type | Derivation  | BIP                                                                        |
| ------------- | ----------- | ----------- | -------------------------------------------------------------------------- |
| Native Segwit | P2WPKH      | m/84'/0'/0' | [bip-0084](https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki) |
| Nested Segwit | P2SH-P2WPKH | m/49'/0'/0' | [bip-0141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki) |
| Taproot       | P2TR        | m/86'/0'/0' | [bip-0341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki) |
| Legacy        | P2PKH       | m/44'/0'/0' |                                                                            |


# How to Deposit/Withdraw Assets

This guide is for reference — actual UI and options may vary slightly, please follow what’s displayed on the page.

### 1. Download or Update UniSat Wallet

Get the latest version of the UniSat Wallet here:&#x20;

👉 <https://unisat.io/download>

To create a new wallet, follow this step-by-step guide:&#x20;

👉 <https://docs.unisat.io/products/unisat-wallet/how-to-create-unisat-wallet>

Once your wallet is created, you can use UniSat to store, manage, transfer, or trade your assets.

<figure><img src="/files/8dbFzd0siqHWzzf0mwas" alt="" width="354"><figcaption></figcaption></figure>

***

### 2. How to Deposit Assets into UniSat Wallet

* Open UniSat Wallet and tap **Receive** on the main Wallet page to view your UniSat wallet address, which can be used to receive BTC, Ordinals, Runes, and Alkanes assets.
* Copy the address or use the QR code directly.

<figure><img src="/files/png4RhIfmdU25opRGmQS" alt="" width="355"><figcaption></figcaption></figure>

<figure><img src="/files/qFMPcOPv9F9CriB86rCX" alt="" width="354"><figcaption></figcaption></figure>

* Go to the withdrawal page of the exchange or platform you’re transferring from.
* Paste your copied UniSat address, enter the amount, and follow their instructions to complete the withdrawal.
  * Example:

<figure><img src="/files/sJzeclAYtK2X2jXVGDIi" alt="" width="328"><figcaption></figcaption></figure>

\
**Note:**&#x20;

UniSat supports 4 types of address formats for BTC, Ordinals, Runes, and Alkanes. Before depositing, make sure the address format in your UniSat Wallet matches the format used on the withdrawal platform. You can switch address type in: ⚙ Settings > Address Type\
For example, Taproot (bc1p...) is commonly used for receiving inscriptions.

***

### 3. How to Transfer Assets from your UniSat Wallet

* Open your UniSat Wallet and tap **Send**.

<figure><img src="/files/4FuCUTQOfUNNfRiW6syr" alt="" width="529"><figcaption></figcaption></figure>

* Enter the recipient address and the transfer amount.
* Tap **Next**, review details, and **sign to confirm**.

> ✅ **Always double-check your inputs and outputs before signing the transaction.**

<figure><img src="/files/3dK95WUJkG5WVe6tMCYj" alt="" width="353"><figcaption></figcaption></figure>

📌 **Quick Tip for tickerTransfers (Ordinals / Runes / Alkanes)**

**For specific assets:**

* Go to the **Assets** tab.
* Tap on the ticker you want to transfer.
* Enter the **ticker Details Page**, and tap **Transfer** to proceed.&#x20;

<figure><img src="/files/iiyc6qjA7dObvmJRZtMA" alt="" width="526"><figcaption></figcaption></figure>

<figure><img src="/files/eQGxfJXJuZyxeguak0As" alt="" width="242"><figcaption></figcaption></figure>

#### Disclaimer:

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Inscribe Transfer Using UniSat Wallet

Step-by-step Guide for Inscribing and Sending TRANSFERs

According to the brc-20 protocol, all transfers require a TRANSFER inscription before sending tickers to others. Here's how to do it properly using UniSat Wallet:<br>

#### Step 1: Download or Update UniSat Wallet

Make sure you're using the **official UniSat Wallet** and have updated to the latest version.&#x20;

Download link: <https://unisat.io/download><br>

<figure><img src="/files/TmOeO7Wmc5UN7x2bjkau" alt="" width="355"><figcaption></figcaption></figure>

#### Step 2: Check Your Assets in the Wallet

On the UniSat homepage, scroll to view your asset list. Click on any brc-20 assets to access their action buttons: Mint, Send, Trade

<figure><img src="/files/E8JzWLbuxiB1KRdv3e6X" alt="" width="356"><figcaption></figcaption></figure>

#### Step 3: Understand Your Transfer Balance

Click **Send** to initiate a transfer. You’ll see two balance types:

* **Transferable Amount**: Already inscribed as TRANSFER — can be sent immediately. *(Note: This amount is not editable. It’s based on your existing TRANSFER inscriptions.)*
* **Available (Inscribe TRANSFER)**: This part of your balance is not yet transferable. You need to inscribe transfer first to make it sendable.

<figure><img src="/files/1qSi6PqD4y2IJyL58X4u" alt="" width="354"><figcaption></figcaption></figure>

<br>

#### Step 4: Inscribe TRANSFER

Click the **“Inscribe TRANSFER”** button to start.

* Enter the **amount** you want to inscribe
* Set **Output Value** and **Fee Rate**
* Click **Next**

<figure><img src="/files/Il0QFvo8jG3YTdIDvad7" alt="" width="354"><figcaption></figcaption></figure>

<br>

#### Step 5: Confirm and Inscribe

Preview the details of the inscription. If all looks good, click **Next** --> **Pay & Pay** &#x20;

<figure><img src="/files/NJzcwWGDLArOHVFA45Ou" alt="" width="357"><figcaption></figcaption></figure>

Now your TRANSFER inscription is live and ready to be used for sending.<br>

#### Step 6: Select TRANSFER and Send

* Go back to the **Send** page
* Choose one or more **TRANSFER inscriptions**

<figure><img src="/files/8ckdkfU8cEYvH8kJ3hJX" alt="" width="348"><figcaption></figcaption></figure>

* Enter the **receiver’s address** or name

<figure><img src="/files/EEIQZUuOaM52Z6WfKiFS" alt="" width="356"><figcaption></figcaption></figure>

* Carefully check the input and output, then click **Sign & Pay.**

<figure><img src="/files/o1uqLO0j9jb3clT6eKtq" alt="" width="353"><figcaption></figcaption></figure>

#### 🎉 Step 7: Done!

You’ve successfully completed a brc-20 transfer using UniSat Wallet.Check your transaction status via wallet history or a public explorer.

<figure><img src="/files/hQMn9nnCJsrkEhcx7W7g" alt=""><figcaption></figcaption></figure>

<br>

* brc-20 Spec: <https://domo-2.gitbook.io/brc-20-experiment>

#### Disclaimer:

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Manage Your UniSat Wallet

### Download & Update UniSat Wallet

Always make sure you are using the latest version of UniSat Wallet.&#x20;

👉 Download here: <https://unisat.io/download>

To create a new wallet, follow this step-by-step guide:&#x20;

👉 <https://docs.unisat.io/products/unisat-wallet/how-to-create-unisat-wallet>

***

### How to Switch Address Types

UniSat supports **4 types of addresses**, and all of them can send, receive, and store BTC, Ordinals, Runes, and Alkanes.To switch:

* On the Wallet homepage, click the ⚙ (Settings).
* Select **Address Type** and choose your preferred type.

<figure><img src="/files/LzWazKhAu5ZeFGoNpBQa" alt="" width="354"><figcaption></figcaption></figure>

***

### How to View Secret Recovery Phrase / Private Keys

**View Secret Recovery Phrase**

* On the wallet homepage, click **HD Wallet**.

<figure><img src="/files/ajiOosff0OC3mPeOxPQV" alt="" width="354"><figcaption></figcaption></figure>

* Go to Wallet Management, select the wallet you want, click the ⚙ icon, and enter your login password.&#x20;

<figure><img src="/files/pmlhFQqodyQYHu6kDjbi" alt="" width="347"><figcaption></figcaption></figure>

<figure><img src="/files/C11u75kMbSHgkLAd18Qr" alt="" width="176"><figcaption></figcaption></figure>

After that, you will be able to see your mnemonic phrase information.&#x20;

<figure><img src="/files/68sQAYRgUzCEB5uKqhWv" alt="" width="355"><figcaption></figcaption></figure>

*⚠️ Important:*

* *If you lose your Secret Recovery Phrase, your assets will be gone.*
* *If you share your Secret Recovery Phrase, your assets will be stolen.*
* *Keep it safe — it’s your sole responsibility*

**View / Export Private Key**

* On the extension wallet homepage, click the address bar. You’ll see the **Address Detail** page.

<figure><img src="/files/5sX68YrOSL8N6MaWm1SV" alt="" width="358"><figcaption></figcaption></figure>

* Click the ··· (options) next to your account. Here you can:
  * Edit account name
  * Copy address
  * **View / Export Private Key**

<figure><img src="/files/QwgB6DT2jDsfQ03cQ9eN" alt="" width="353"><figcaption></figcaption></figure>

* Click **Export Private Key**, enter your password, and your private key will be displayed.

<figure><img src="/files/DbnPvNmmUuXcwz2bBjxi" alt="" width="350"><figcaption></figcaption></figure>

***

### Q: Imported wallet addresses don’t match my old ones. What should I do?

1. Double-check your mnemonic phrase is correct.
2. One mnemonic = one HD wallet. Inside, you can create multiple accounts (Account 1, 2, 3). By default, only Account 1 is restored. Try adding more accounts.
3. Each account has its own private key. Export accordingly.
4. Imported address type defaults to **Native SegWit**. Switch to the address type you need (e.g., Taproot).
5. If you previously set a **Custom HD Path or Passphrase**, you must input the same one during recovery. If forgotten, recovery won’t be possible.
6. Still not working? On Step 3, click **Scan in More Addresses** to attempt recovery.

<figure><img src="/files/fKmLR9lfMsb25H78EGD5" alt=""><figcaption></figcaption></figure>

***

### Q: What If I Forgot My Wallet Password?

UniSat does not store or transmit your wallet password. If you've forgotten it:\
You can restore the wallet using your seed phrase. During the restoration, you can set a new password.

If you don’t have the seed phrase, unfortunately, there is no way to reset or recover the password.

#### Disclaimer:

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# UniSat Wallet Recovery and Key Concepts

This guide helps you understand the fundamental concepts of private keys and seed phrases, and provides practical instructions on how to recover your UniSat wallet in specific situations.<br>

### What Are Private Keys and Seed Phrases?

#### Seed Phrase

A seed phrase (or recovery phrase) is a human-readable representation of your private key, typically consisting of 12 or 24 random English words. It serves the same purpose as the private key and should be treated with the same level of security.

* With your seed phrase, you can restore your wallet and recover all your assets.
* Anyone with access to your seed phrase can take full control of your wallet.
* It is critical to keep it private and stored securely (preferably offline, on paper).

**Best Practices for Seed Phrase Management:**

* Back it up immediately after creating a wallet.
* Do not take screenshots or store it on cloud drives.
* Write it down and store it in a secure, offline location.
* Double-check the words and their order for accuracy.

#### Private Key

A private key is a unique 64-character hexadecimal string that grants control over a blockchain wallet. It is the cryptographic proof required to sign transactions and move funds.

* Think of it as the password to your blockchain bank account.
* Whoever possesses the private key controls the wallet and its assets.
* If lost, access to the wallet and all associated funds is permanently lost.

Because private keys are difficult to remember and risky to write down, wallets often provide a seed phrase as an easier alternative.

> 🔒 Remember: Losing your seed phrase or private key means losing access to your assets forever.

***

### How to Import / Restore a Wallet Via Seed Phrase or Private Key

You can add an existing wallet into UniSat using your **mnemonic phrase** or **private key**.Steps:

* Open the App or Extension Wallet.
* On the homepage, click **HD Wallet (top-left)** → enter Wallet Management.

<figure><img src="/files/1hn5lyYTyyL8gJ1c2Es1" alt="" width="354"><figcaption></figcaption></figure>

* Click the **+** icon (top-right) to import more wallets.

<figure><img src="/files/fLbcnZHv1sbwmz8E5sNZ" alt="" width="356"><figcaption></figcaption></figure>

* On the *Create a New Wallet* page, select **Restore from mnemonics** or other import method.

<figure><img src="/files/pILQxQmpM3BvtXgOPRh2" alt="" width="352"><figcaption></figcaption></figure>

Example: Importing via Mnemonics:

* Step 1: Select the wallet type. If not listed, choose **Other Wallet**.
* Step 2: Enter your mnemonic phrase. Make sure each word is spelled correctly and separated properly.

<figure><img src="/files/NtiCS0hn7g6ymifVpZdy" alt="" width="346"><figcaption></figcaption></figure>

* Step 3: Confirm the account you want to restore and click **Continue**. Done!

***

### How to Recover Your Wallet If You Forgot to Back Up Your Seed Phrase or Private Key

If your UniSat extension wallet won’t open, and you didn’t save your seed phrase or private key, but the browser and extension have not been deleted, there is still a recovery option using local files.

> ✅ You must still remember your wallet password for this method to work.

#### Step-by-Step Recovery:<br>

1. Locate Extension Files

Find the UniSat extension folder named: ppbibelpcjmhbdihakflkdcoccbgbkpo\
**For Google Chrome:**

* **Windows Path:**

C:\Users\\\<Username>\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\ppbibelpcjmhbdihakflkdcoccbgbkpo<br>

* **macOS Path:**

/Users/\<Username>/Library/Application Support/Google/Chrome/Default/Local Extension Settings/ppbibelpcjmhbdihakflkdcoccbgbkpo<br>

2. Important - Back Up the Folder⚠️

**Before proceeding with any recovery steps, make sure to back up the entire folder `ppbibelpcjmhbdihakflkdcoccbgbkpo` to a safe backup location.**

*Do not skip this step — if this folder is lost or deleted before backup, your wallet data cannot be recovered.*<br>

3. Reinstall UniSat Extension

* Open Chrome and uninstall the current UniSat extension.
* Reinstall it from <https://unisat.io/download>
* Do **not** create a new wallet.
* Close the browser completely.

4. Restore Extension Files

* Reopen the extension data folder location.
* Delete the created `ppbibelpcjmhbdihakflkdcoccbgbkpo` folder.
* Replace it with your backed-up version just now.

5. Open the Extension and Log In

* Launch Chrome.
* Open the UniSat extension.
* Enter your **original wallet password**.

If everything is done correctly, your wallet should be restored.

Browsers like Brave and Edge follow a similar approach, for example:

C:\Users...\AppData\Local\BraveSoftware\Brave-Browser\User Data\Default\Local Extension Settings\ppbibelpcjmhbdihakflkdcoccbgbkpo

C:\Users...\AppData\Local\Microsoft\Edge\User Data\Default\Local Extension Settings\ppbibelpcjmhbdihakflkdcoccbgbkpo

> ⚠️ Disclaimer: This recovery method is provided as a last resort. Always back up your seed phrase and private key.

***

### Final Reminders

* Always back up your seed phrase or private key when you create a wallet.
* Store backups offline and in multiple secure locations.
* Never share your recovery details with anyone.

Wallet safety is your responsibility. A few minutes of careful backup can save your assets from permanent loss.

#### Disclaimer:

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# UniSat Wallet Safety Guide: Protecting Your Assets

### Understanding the Risks

Browser extension wallets have become an essential tool for managing digital assets, but they come with inherent security risks that every user should understand:

**Browser Sandbox Limitations**

The browser's built-in sandbox mechanism, while important, serves as a single line of defense. This makes it a potential target for sophisticated attacks, as breaking this one mechanism could compromise the entire system.

**Weak Extension Isolation**

Extensions within the same browser environment have limited isolation from each other. This creates a "weakest link" scenario - if one extension is compromised, it could potentially affect all others in the same browser environment, including your wallet extension.

### Essential Safety Practices

To protect your digital assets when using extension wallets, consider implementing these security measures:

#### 1. Browser Account Separation

Create a dedicated browser profile for your wallet extensions. This profile should:

* Install only essential wallet extensions
* Be kept separate from your daily browsing profile
* Use a separate account for each wallet extension where possible

#### 2. Restricted Browsing

When using a browser with wallet extensions:

* Only visit verified, trusted websites
* Avoid general web browsing
* Stay away from unfamiliar or suspicious links
* Always verify website URLs carefully

#### 3. Duo-Browser Strategy

For maximum security:

* Use one browser exclusively for wallet extensions and cryptocurrency transactions
* Use a different browser for general web browsing
* Keep your crypto-dedicated browser clean and minimal

#### 4. Hardware Wallet Integration

Consider using a hardware wallet as your primary security measure:

* Hardware wallets provide the highest level of security
* Use them in conjunction with extension wallets for enhanced protection
* Keep critical assets in hardware wallets while using extension wallets for smaller, frequent transactions

### About UniSat Wallet

UniSat is a non-custodial, open-source browser extension wallet. This means:

* We never store or have access to your private keys
* You have complete control over your assets
* All code is open-source and verifiable
* Your funds remain solely in your possession

While we maintain the highest security standards possible for an extension wallet, we believe in complete transparency about the inherent risks of browser-based wallets and empowering users with security best practices.

### Looking Forward

We understand that in today's increasingly complex digital environment, wallet security cannot rely solely on traditional browser protection mechanisms. At UniSat Wallet, we're committed to strengthening our extension's security mechanisms to provide users with a safer experience, this is a key item on our 2025 Roadmap.

### Final Recommendations

1. Regular Security Audits

* Review your installed extensions regularly
* Remove unused or suspicious extensions
* Keep your wallet extension updated to the latest version

2. Best Practices

* Always backup your seed phrases securely
* Enable all available security features
* Use strong, unique passwords for your browser profiles
* Enable two-factor authentication whenever possible

Remember: Security in the digital asset space requires constant vigilance. While convenience is important, never compromise security for ease of use.


# Best Practices for Safety

UniSat Wallet provides a secure and convenient experience. However, it’s crucial to stay vigilant and take proactive measures to protect your funds from potential threats.

By staying informed and following these guidelines, you can significantly reduce the risk of falling victim to scams and malicious activities in the cryptocurrency space. Remember, your wallet’s security is ultimately in your hands, so take the necessary precautions to keep your funds safe.

## **Avoid malicious websites and scammers**

We’d like to make sure you’re aware of common scams and phishing attempts, so you can be ready if you ever encounter them. Most scams use similar tricks, often trying to get your private information to access your cryptocurrency. Stay vigilant!

* **Beware of Unsolicited Messages** Be cautious about clicking on links received via Discord, Telegram, email, or other social media, especially if they are unsolicited. Scammers often use phishing emails or messages to trick users into visiting malicious websites. If you receive an unexpected communication, verify its legitimacy with UniSat Wallet’s official channels. **UniSat staff will never message you directly.**
* **UniSat & UniSat staff will never ask for your secret recovery phrase or private key.**
* **Double-Check URLs** Always verify the legitimacy of the websites you visit. Scammers often create fake websites that mimic official platforms. Before entering any sensitive information, double-check the URL for spelling mistakes or unusual characters. Official UniSat Wallet websites will always use secure protocols like HTTPS.
* **Verify Announcements** Scammers may create fake announcements that appear to come from official sources. Before taking any action based on an announcement, verify its authenticity by cross-referencing with UniSat Wallet’s official channels.
* **Educate Yourself** Stay informed about common scams and phishing techniques prevalent in the cryptocurrency space. Knowledge is your first line of defense. Familiarize yourself with the typical tactics scammers use, such as fake websites, phishing emails, and fraudulent announcements.

### Official Channels

Ensuring the safety of your UniSat Wallet is our top priority. Unfortunately, scammers and impersonators are on the rise, attempting to deceive users and compromise their assets. To safeguard your funds, it's crucial to only interact with our verified and official channels.

#### **Verified Organization on X (Yellow checkmark)**

UniSat has been verified as an organization on X, and you can easily identify us by the yellow checkmark associated with our name. This verification serves as a stamp of authenticity, assuring you that you are engaging with the legitimate UniSat organization.

#### **Exclusive Support Channel on Discord**

When it comes to seeking assistance, the only official channel for customer service is the support ticket system on our Discord server. Beware of individuals reaching out to you through other means, especially DMs or external platforms, claiming to be UniSat support.

### Safety Tips

You should never share your recovery phrase or private key with anyone. Follow these rules to stay safe:&#x20;

* Install the official UniSat Wallet browser extension and avoid installing a fake extension.
* UniSat & UniSat staff will never ask for your secret recovery phrase or private key. UniSat staff will never message you directly first.
* Never enter your private key or secret recovery phrase on any website unless you know what you are doing.
* Avoid interacting with suspicious websites using UniSat Wallet browser extension.
* Keep your UniSat Wallet browser extension up-to-date.
* There is no UniSat Airdrop. Don't trust airdrop or giveaway messages. If you’re unsure you can ask our staff about your concerns in discord or twitter.
* Keep your system security/anti-virus updated so your wallet keys do not get compromised.

## Keep your Secret Recovery Phrase secure

UniSat Wallet is used to sign transactions when interacting with the Bitcoin blockchain, as well as to store your BRC-20s, NFTs, and other kinds of inscriptions. You receive a 12-word Secret Recovery Phrase when you first create your wallet. It provides access to all the addresses within your wallet. You should never share your secret recovery phrase or private key with anyone.

UniSat Wallet does not control any of your personal or private data on servers. Your wallet data is encrypted in your browser and guarded with your UniSat Wallet password.&#x20;

When you lose password access to your accounts and need to restore them, you can only do that with your Secret Recovery Phrase. So keep your Secret Recovery Phrase safe and secure!

## Protect yourself on Discord

Users are increasingly being targeted by scammers and impersonators on Discord. Here's what you can do to increase your safety on Discord. We recommend you adjust the following Discord settings to reduce risks.

* **Turn off server-specific DMs:** Right-click on a **server icon > Privacy Settings** to allow or disallow direct messages from users of that particular server. Turn it off for large public servers such as UniSat Discord.
* **Turn off DMs:** In user **settings > Privacy & Safety**, you can control who can send you direct messages. Consider turning them off by default for added security.
* **Enable 2-Factor Authentication (2FA):** In **user settings > My Account, s**croll down and set up both an authentication app and SMS authentication. Download your backup codes for 2-FA access in case of emergencies.
* **Verify User Identities:** Right-click a user's profile > Copy ID, verify the ID with the server's staff to confirm the identity. If in doubt, reach out to us via our official channels.

By following these tips and staying vigilant, you can protect yourself from scammers and enjoy your time on Discord. Remember, it's always better to be cautious than sorry!<br>


# Private Keys, Mnemonics & Derivation Paths: How Is Your Wallet Created?

In the world of digital assets, your wallet holds all your assets, and controlling the private key of your wallet means controlling the funds associated with it.

So where does your private key come from?

Are mnemonic phrases really secure?

Can derivation paths be cracked?

Are wallets like UniSat truly secure?

Let’s break it down from a technical perspective.<br>

### What Is a Private Key?

<figure><img src="/files/kOSjWDpspQWfgATTZd4u" alt="" width="563"><figcaption></figcaption></figure>

Holding the private key gives you the authority to spend funds associated with the corresponding address.

Therefore, *how the private key is generated, managed, and protected is the core of your asset security.*<br>

### How is the Private Key Generated?

Most Bitcoin wallets follow standards BIP39, BIP32, or BIP44.

* Step 1: Generate Random Entropy

The wallet first creates a high-entropy random number (128–256 bits).This entropy determines the unpredictability of the private key.If randomness is weak or predictable, the key can be at risk.

* Step 2: Convert to Mnemonic Phrase

BIP39 defines how to convert entropy into a set of 12 or 24 human-readable words. These words are your *master key*.

* Step 3: Generate the Seed

Mnemonic + optional Passphrase (“the 25th word”) are fed into PBKDF2, which performs thousands of hashing iterations to derive a strong Master Seed. This computational cost is intentional — it makes brute-force guessing significantly harder.

* Step 4: Derive Keys Using Paths

Using standards like BIP32/BIP44/BIP86, the seed deterministically produces *many private keys* along hierarchical derivation paths.Examples:`m/44'/0'/0'/0/0 → BIP44 (Legacy addresses) m/86'/0'/0'/0/0 → BIP86 (Taproot addresses)`\
Each address in your wallet is mathematically derived from the master seed and the derivation path.<br>

### Can your private key be compromised by cracking the derivation path?

No derivation paths are simply *formulas* for deriving keys, cracking it does not expose your private key.The true security risks are:

* Mnemonic or seed leakage
* Vulnerabilities in wallet implementation or device environment (malware, side-channel attacks, insecure hardware)

To put it simply:

> The derivation path tells *where the key is*, but only the mnemonic *is the key itself*.

### Is the Randomness Safe? Can Keys Be “Collision Attacked”?

If the wallet uses a secure cryptographic random number generator (CSPRNG), the key space is astronomically large.A 256‑bit private key space is:`≈ 1.15 × 10^77 possibilities`\
Brute forcing such a key is infeasible with all computing power available in the universe.\
However — if a wallet uses:

* weak pseudorandom sources
* repeated seed patterns
* compromised key generation logic

Keys may collide or be guessable — this is a *real* risk, but it is a wallet implementation problem, not a protocol-level weakness. So the quality of entropy matters *a lot*.<br>

### Can Developers or Platforms “Know My Private Key”?

If you use a **non-custodial, open-source wallet**, private keys are generated and stored **locally only**, and **developers have no access**.Risk appears only if you:

* generate mnemonics on online websites
* use closed-source / unknown wallets
* sync keys to cloud services
* input mnemonics into untrusted apps

✅ Best practice:

* Generate mnemonics/keys offline
* Use **open-source** non‑custodial wallets
* Backup mnemonics securely (no screenshots, no cloud storage)

<br>

### UniSat Wallet Security Recommendations

UniSat is a fully non-custodial wallet:

* Private keys and mnemonics are generated and encrypted locally
* They are never uploaded to any server
* All cryptographic logic is open-source and auditable

Your private key is encrypted using your wallet password and only you can decrypt it. These are security guarantees from a technical perspective, true wallet security requires your vigilance and good security habits:

<figure><img src="/files/KbBjSj0yaPvEANifsgW1" alt="" width="563"><figcaption></figcaption></figure>

\
Even with strong cryptography, compromised devices or phishing sites can still cause loss.

\
Trust the cryptography — but do not blindly trust the entropy source.


# Extension Wallet FAQ

## **How to update your wallet?**

Usually, the extension will be auto-updated. If your extension didn't update to the latest version, then you may follow the steps below to update it.

1. Click on the extension icon on the top right of your screen, then click "Manage extensions" menu.

📍 Directly Update link: <chrome://extensions/?id=ppbibelpcjmhbdihakflkdcoccbgbkpo>&#x20;

<figure><img src="/files/wQBWzhspwsWuWlGmAzwZ" alt=""><figcaption></figcaption></figure>

2. Switch on to Developer mode, then click the "Update" button

<figure><img src="/files/aK2Nh7vF1xIFCAPHKCK1" alt=""><figcaption></figcaption></figure>

3. Then your wallet will be updated to the latest version.

## How to load the Chrome extension wallet into your Chrome from manually

The extension could be temporarily installed this way:

1. Download the '[**unisat-chrome-xxx.zip**](https://github.com/unisat-wallet/extension/releases/latest)' file, unzip it to an isolated folder.\
   ![](/files/RNcDLcqwh9eEPEXICeoN)
2. Open Google Chrome and enter "**chrome://extensions/**" into address bar ("More Tools | Extensions" from menu) to open the extension page, find the switch "**Developer mode**" in the upper right corner and turn it on.\
   ![](/files/LdlBjyxuyiSl7B16FGFA)
3. Click "**Load unpacked**" button and browse to the unzipped folder.\
   ![](/files/JYFiF5FBYDxC39omqvV9)<br>

* By doing this, you can experience the new version in advance or install the plugin in cases where you cannot access the Google Chrome Web Store.&#x20;
* However, please note that versions installed in this way won't receive automatic updates and won't share data with versions downloaded from the Chrome Web Store.&#x20;
* Make sure you have only one Unisat Wallet plugin installed in the same browser to avoid conflicts.


# Release Notes

Welcome to the UniSat Wallet – Release Notes!

Here you’ll find a complete history of updates to the UniSat browser extension wallet — including feature improvements, bug fixes, newly supported protocols, and user experience enhancements.

We created this space to help you stay informed about how UniSat Wallet evolves over time and to give you better insight into the product’s latest developments.

Thank you for your continued support and feedback.&#x20;

* Explore our latest products: [https://unisat.io](https://unisat.io/)
* Follow us on X for real-time updates: <https://x.com/unisat_wallet>
* Join our Discord for support & discussions: <http://discord.gg/unisat>


# v1.6.2

* UniSat Extension Wallet Now Speaks Your Language! - English, Français, Español, Русский, 日本語, and 中文!

<figure><img src="/files/v1FygA9H0M8yfpnAa9Rw" alt=""><figcaption></figcaption></figure>


# v1.6.1

🔸 Address Book is here!&#x20;

<figure><img src="/files/dM8lxiYCpYE1kI35hOCx" alt=""><figcaption></figcaption></figure>

🔸 Built-in Feedback Channel– Share your feedback & suggestions

🔸 Improved Password Settings UI

<figure><img src="/files/tekJiCwjX1D0sHeulWrD" alt=""><figcaption></figcaption></figure>


# v1.6.0

Check out the details in this release:

**⛓ Improvements**

* Improved wallet loading speed

**🔧 Bug Fixes**

* Fixed the signing error when connecting with Keystone hardware wallet. Now you can smoothly use your Keystone wallet with the UniSat Extension.

&#x20;📍 UniSat Extension Wallet v1.6.0 no longer supports Atomicals Protocol indexing or displays Atomicals assets.

🔗 Download or update to the latest version now: <https://unisat.io/download>

For full details on v1.6.0, check out the release notes: <https://github.com/unisat-wallet/extension/releases/tag/v1.6.0>


# v1.5.8

🔗 <https://github.com/unisat-wallet/extension/releases>&#x20;

**New Feature**\
🔸Phishing Site Detection – Get instant alerts when visiting reported or blacklisted sites (with UniSat Extension installed). Stay safe and protect your assets!

<figure><img src="/files/ss6J9WSpCDb4wa8oq6cm" alt=""><figcaption></figcaption></figure>

**Improvements**\
🔸Better Extension Compatibility – Fixed issues where UniSat app couldn’t be prompted for signing due to conflicts with other extensions. Signing is now seamless!


# v1.5.4

🔗 <https://github.com/unisat-wallet/extension/releases>&#x20;

* UTXO management tool on Fractal

<figure><img src="/files/hnT0jEEeZ6tZgA4vYXCJ" alt=""><figcaption></figcaption></figure>

* Solution for Unavailable Assets caused by ARC20

<figure><img src="/files/ZPXsHqoPFzmNB8tu4dLE" alt="" width="563"><figcaption></figcaption></figure>

* UI enhancements! Better late than never

  * The brc-20 asset tab on the BTC mainnet now hides assets with a **0 balance**—no more clutter in your asset list!
  * brc-20 5-byte assets are now displayed alongside 4-byte assets in the brc-20 tab, giving you a unified view of all your brc-20 assets.

<figure><img src="/files/UzdSB8bQk2GglChSkw8C" alt="" width="351"><figcaption></figcaption></figure>

* Other useful features
  * When you view specific Brc-20, Runes, or CAT20 asset, you can now click the newly added '**Trade**' button to be directed to the UniSat marketplace for direct transactions.&#x20;

<figure><img src="/files/DfXrVFM9q2zGuaE1cv6Z" alt="" width="356"><figcaption></figcaption></figure>


# v1.5.2

🔗 [https://github.com/unisat-wallet/extension/releases ](https://github.com/unisat-wallet/extension/releases)

* We've rolled out several improvements to the UniSat Explore page in Extension v1.5.2.

<figure><img src="/files/ZPnCm8UhjRUyO5TROfPU" alt=""><figcaption></figcaption></figure>

* Fractal assets now display USD value
* Real-time GAS display on the homepage

<figure><img src="/files/WSYo8KHwf69KfO6zOKMM" alt=""><figcaption></figcaption></figure>


# v1.5.1

🔗 [https://github.com/unisat-wallet/extension/releases ](https://github.com/unisat-wallet/extension/releases)

**Features:**

🔸 Multi-Signature Support for Whitelisted SitesFor whitelisted websites, you can now sign multiple transactions with a single click, simplifying batch transactions.&#x20;

⚠️ *Please note that UniSat Wallet will not verify each transaction individually. We strongly recommend using this feature only on trusted and familiar websites to minimize the risk of potential losses.*

<figure><img src="/files/l44HLkX83qitmdmIbKYl" alt="" width="375"><figcaption></figcaption></figure>

🔸 Keystone USB Connection Support.

<figure><img src="/files/vwlyBMd1Kj2CqaGBhtAR" alt=""><figcaption></figcaption></figure>

🔸 Improved Wallet Navigation&#x20;

When switching between wallets or accounts, UniSat Wallet will automatically scroll to the selected wallet/account and display a scrollbar, making it easier for users managing multiple wallets.

<figure><img src="/files/RoYzemTHTJsZivmIG8wz" alt=""><figcaption></figcaption></figure>

\
🔸 For Developers:-Added the `useTweakedSigner` option to the `signPsbt` method for more flexibility in signing workflows.


# v1.4.10

These updates have been implemented on the Fractal Bitcoin network in UniSat Extension Wallet v1.4.10:

* A warning will appear on the wallet homepage if you're using a legacy address.
* A warning pops up when attempting to send assets to a legacy address.
*

```
<figure><img src="/files/d3ZhS6eG9RZcD8Bji1Pj" alt="" width="351"><figcaption></figcaption></figure>
```

```
<figure><img src="/files/XGhXXug7R9EXqV6vv7ed" alt="" width="344"><figcaption></figcaption></figure>
```


# v1.4.9

Refer to more updated details:\
<https://github.com/unisat-wallet/extension/releases/>&#x20;

* Fractal Discover Page now gives you direct access to Fractal Marketplace and Bridge & InSwap.

<figure><img src="/files/7tL8NPPV3hrBSdVuZyXy" alt=""><figcaption></figcaption></figure>

* Support for the .fb name has been added on Fractal mainnet for easier recognition. Transferring assets to a .fb name is equivalent to transferring to that address.

<figure><img src="/files/cW5Y6iO7Npny9tLeyMbt" alt=""><figcaption></figcaption></figure>

* Ticker Display Enhancements: Tickers on Bool Bridge and Simple Bridge now show short names for a cleaner view.

<figure><img src="/files/shHo5S5BFRm0FmK3C5GB" alt=""><figcaption></figcaption></figure>

* Bug Fixes: Fixed an issue where balances below 0.001 FB were incorrectly displayed as 0.000 FB on the main screen.

<figure><img src="/files/S1fSLAr8Y4gwrK9uGpDo" alt=""><figcaption></figcaption></figure>


# v1.4.6

UniSat Extension Wallet v1.4.6 now supports switching to Fractal Mainnet. Be sure to update to the latest version to prepare for the mainnet launch.

<figure><img src="/files/ZsKqFbVmyFNdgxPm8nEB" alt="" width="353"><figcaption></figcaption></figure>


# v1.4.5

**Features:**

* Added support for Fractal Bitcoin Testnet.

<figure><img src="/files/dfSzk4fG6vF1xwOcwyEK" alt="" width="351"><figcaption></figcaption></figure>

* Adjusted BRC-20 protocol on the Fractal network, removing the BRC-20 5-byte pagination.

<figure><img src="/files/NoRPmuaKNewUgVylBfOe" alt="" width="356"><figcaption></figcaption></figure>

#### **UI Enhancements:**

* **UI:** When renaming Wallet or Account, the input field now retains the previous name.
* **UI:** Improvements to the homepage, network switching, and signature pages.

<figure><img src="/files/zjxI22MVcoGqOwQiLlaS" alt="" width="351"><figcaption></figcaption></figure>

<figure><img src="/files/XaWjw83osvLWTehstDuG" alt="" width="375"><figcaption></figcaption></figure>

#### **Bug Fixes:**

* Resolved the issue where the `networkChanged` event was not triggering (issue #211).
* Added the `unisat.disconnect` API to allow websites to proactively disconnect from the wallet (issue #204).
  * The <https://demo.unisat.io/> now includes a disconnect feature.

<figure><img src="/files/RAh9mVLvvbsPwME6zWny" alt="" width="375"><figcaption></figcaption></figure>


# v1.4.2

**Features:**

* Added support for switching to the **Signet network** *(*[*`What is Signet?`*](https://docs.unisat.io/knowledge-base/what-is-signet)*)*
* Added support for switching to the **Testnet4 network**

<figure><img src="/files/SOjbFnCrwaHWnzRR3WIR" alt="" width="349"><figcaption></figcaption></figure>

**UI:**

* Added the current chain indicator on the signing interface

<figure><img src="/files/51x2JX6BDxBXNMcApM3p" alt="" width="346"><figcaption></figcaption></figure>

Assets Unit Adjustments:

* Bitcoin: BTC
* Fractal Bitcoin: FB
* Bitcoin Testnet: tBTC
* Bitcoin Testnet4: tBTC
* Bitcoin Signet: sBTC


# v1.4.1

* **Added display of USD prices for BTC、BRC20 and Runes!**

Now you can view prices in USD for better clarity and convenience.

&#x20;  <br>

<figure><img src="/files/R5ZdLOsaRREnDv7rvpn8" alt="" width="339"><figcaption></figcaption></figure>

* **Support for setting transfer fees with one decimal place!**&#x20;

Now you can set transfer fees with 1 decimal place for more precision and easier operation.

<figure><img src="/files/bsKBgyqiifgtNHhKAOom" alt="" width="263"><figcaption></figcaption></figure>

* **Real-time fee displays for various buy BTC options**

See more straightforward fee rates, allowing for quicker choices.

<figure><img src="/files/2H1f9H4tQTzsC3G3jZ9G" alt="" width="353"><figcaption></figcaption></figure>


# v1.4.0

* Support for switching to Fractal Bitcoin beta network

<figure><img src="/files/X6c2TQdidzsOqnJi5Uug" alt="" width="351"><figcaption></figcaption></figure>

* Added Telegram group link

<figure><img src="/files/YBa4mTTJ8XUHKmHi92Tj" alt="" width="375"><figcaption></figcaption></figure>


# v1.3.3

* UniSat now supports hardware wallet access through our collaboration with Keystone Walle

<figure><img src="/files/mkYF5bRg3ySY8gvK4kpf" alt="" width="188"><figcaption></figcaption></figure>

<figure><img src="/files/zQIqHNhcFEeHl3gofuXd" alt="" width="186"><figcaption></figcaption></figure>


# v1.3.2

* **Cursed Inscriptions** are now supported!

\
\#UniSat Wallet (both UniSat App & UniSat Chrome Extension) now displays and securely sends cursed inscriptions.

UniSat Marketplace now supports trading cursed inscriptions.

<figure><img src="/files/IL1eNj8GWatMRPHhrPMJ" alt="" width="177"><figcaption></figcaption></figure>

<figure><img src="/files/ylcWGqUIwJAnf9Wnjqdi" alt="" width="188"><figcaption></figcaption></figure>

* Splitting Runes

Allow splitting Runes by sending a specified amount to yourself (for Runes that cannot be listed or transferred due to being mixed with others)

* Alchemy Pay added as a new option for purchasing BTC.
* Text prompts of Unconfirmed Balance are improved for better clarity.&#x20;

When you hold Runes (or ARC-20) assets, the system will temporarily restrict the use of unconfirmed balances, and the related balance will be available after the transaction is confirmed.

<figure><img src="/files/ZTgWkTVOjjGeEM8ifbch" alt="" width="176"><figcaption></figcaption></figure>


# v1.3.1

* Fixed the bug of runes constructing a burn transaction
* Fixed the bug of "can not convert 1+21 to bigint" appearing during transfer


# v1.3.0

* Runes Support

&#x20;      \- View and send Runes assets on the testnet.

&#x20;      \- Before mainnet launches, we will enhance the display and user experience. Your feedback is highly valued.

<img src="https://v4c1fl581ns.sg.larksuite.com/space/api/box/stream/download/asynccode/?code=Nzc4ZDY0MzM4YjRkYjA1YTczNjEzNmEzYjQxMjRmNDdfTUNEVkQ2b1pkdnVIN0k2Y3dBaHpaRUk3aHdqMDBKc2ZfVG9rZW46VW5vR2JLTHdBb28wMGx4aE5UQ2xRaExlZ1doXzE3MTM0Mjg2NjE6MTcxMzQzMjI2MV9WNA" alt="" data-size="original">![](https://v4c1fl581ns.sg.larksuite.com/space/api/box/stream/download/asynccode/?code=ZTc2MGMzMTI1MzZiYjA5MDQxMjdlODQ5MDc1YTI5OGRfQ2cwcWZvMmRFdVdRNkF4eEdZS1hjSnBlWXNEdHhSeWNfVG9rZW46STVRUmJSa2JBb2R0YmZ4TTZqcmxWQmlHZ3NkXzE3MTM0Mjg2NjE6MTcxMzQzMjI2MV9WNA)

* Unconfirmed Balance Mode

&#x20;       \- Introduced a toggle for enabling unconfirmed balances.

&#x20;       \- Unconfirmed balance usage is automatically disabled when holding ARC-20 or Runes assets.

&#x20;       \- You can re-enable it in Advanced Settings, but be cautious as these asset types are currently not recognized in the mempool, which could lead to asset burning risks.

![](https://v4c1fl581ns.sg.larksuite.com/space/api/box/stream/download/asynccode/?code=Y2IyZjRjYzMwMGRhODAxMGM5MTQwNWViOWE3MDE3OTBfTnlsNjlyVkZPY2gyWDgxYjNSZEV3S3NsOHpzZTI3RVZfVG9rZW46RW5POGJ0b0lZb1EzTFp4OEhaU2xXS05oZ2ZvXzE3MTM0Mjg2NjE6MTcxMzQzMjI2MV9WNA)

* About Unavailable Balances

&#x20;        \- We've added explanations for balances labeled as 'Unavailable', which include inscriptions, ARC20, and Runes asset balances. When Unconfirmed Balance is disabled, this will also include unconfirmed balances.

&#x20;       \- Due to the system handling a maximum of 500 UTXOs at a time, any excess UTXOs at an address will temporarily be classified as 'Unavailable'.

![](https://v4c1fl581ns.sg.larksuite.com/space/api/box/stream/download/asynccode/?code=ZjFjZjM2ODkxMTg3ZGZlZGJiMGFjOWQ4MmIxNGMxNmJfUTNuQllQc0ZxelJERlZJM1ZFM3hlbGZPMWR1eUFOMXVfVG9rZW46RUx1YmIzWlBGb3A2UG14dEF6Qmw3bTVDZzBiXzE3MTM0Mjg2NjE6MTcxMzQzMjI2MV9WNA)<br>

* Fee Rate Alerts

&#x20;       \- No longer forcing pop-up warnings for transactions with high or low fee rates.

&#x20;       \- Risk level downgraded, now indicated by a subtle tag.

![](https://v4c1fl581ns.sg.larksuite.com/space/api/box/stream/download/asynccode/?code=ZGYwOTg1MjU1M2NmYTU3ZGYxZTNkMzY2NmRlZTZkZmRfOXBmYXlmSVN6RzdVMFhFUFBzeHBXUDh3emlna2UydkJfVG9rZW46UHBoV2JiaVIwb29FbkZ4QXhFYWx1c05YZ2hiXzE3MTM0Mjg2NjE6MTcxMzQzMjI2MV9WNA)

* Default OutputValue Adjustment

&#x20;       \- Reverted the default inscribe outputValue to 546 satoshis for simplified operations.

&#x20;       \- For certain addresses, manual adjustment to 330/294 is still possible if necessary.


# v1.2.9

Refer to more updated details:\
<https://github.com/unisat-wallet/extension/releases/tag/v1.2.9>

* Enhanced transaction details during signing:

Transactions now display involved assets more accurately. Please ensure all assets are as expected before signing.

<div align="left"><figure><img src="/files/3MvPfu7XhV5ErALRTTci" alt="" width="370"><figcaption></figcaption></figure></div>

* Improved risk warnings on the signing page:

Updated our risk detection for unintended inscription sending. If a warning appears, please double-check transaction details before proceeding with signing.

&#x20;     \- SIGHASH\_NONE risks

&#x20;     \- Risk of burning inscriptions/brc20/ARC20

&#x20;     \- Mixing inscriptions/brc20/ARC20 in transactions

&#x20;     \- Low/high fee alerts

&#x20;     \- Inscription merges or value changes

&#x20;     ...

\
...![](/files/84i62OtZw4ajGHFEywtM)

* Display Hidden Characters in BRC-20 Tickers

![](/files/zmAOMpsjtzB3RkBuNJL7)<br>

* Improved balance display: Now differentiates between "**Available**" and "**Unavailable**" balances.

&#x20;    \- Available: BTC you can safely spend now.

&#x20;    \- Unavailable: Includes BTC in inscriptions, ARC20, pending balances for addresses with Atomicals enabled, and BTC beyond the first 500 UTXOs for those holding a large number of UTXOs.

&#x20;    \- You'll be able to pick specific UTXO from the "Unavailable" set in the next update.

<div align="left"><figure><img src="/files/YwE7n2Nz2yM5gL8wymtK" alt="" width="344"><figcaption></figcaption></figure></div>


# UniSat Inscribe

Your One-Stop inscribing Solution

UniSat Inscribe is a powerful and user-friendly tool designed for creators, developers, and users to seamlessly inscribe. Supporting both Bitcoin and Fractal networks, UniSat offers full compatibility with multiple inscription standards—including Ordinals (brc-20, text, files, names) and Runes (mint and etch)—for a secure and efficient inscription experience.

🔗 <https://unisat.io/inscribe>&#x20;

### Why Use UniSat Inscribe?

#### 1. Multi-Protocol Support & Diverse Inscribing Types

**On Bitcoin:**

* Ordinals Mint & Deploy
  * 4-byte brc-20 tickers & 5-byte brc-20 tickers
  * Inscribing types
    * **brc-20**
    * **Text**
    * **Files:** Including `.jpg`, `.webp`, `.png`, `.gif`, `.txt`, `.mp3`, `.mp4 (H.264)`, and more.
    * **Names:** Including `sats`, `xbt`, `unisat`, `ord`, `btc`, `gm`, and `uniworlds`
* Runes Mint & Etch

**On Fractal:**

* Ordinals Mint & Deploy
  * **brc-20**
  * **Text**
  * **Files:** Including `.jpg`, `.webp`, `.png`, `.gif`, `.txt`, `.mp3`, `.mp4 (H264)`, and more.
  * **Names:** Including `fb`
* Runes Mint & Etch

***

#### 2. Batch Minting Capabilities

UniSat allows up to **1,000 brc-20 or Runes items** in a single batch order on Bitcoin. Users can:

* Use **Repeat mint** up to 1,000 items in a single transaction.
* Upload multiple files or datasets for batch inscription.

***

#### 3. File Size & Format Limits

* **Maximum file size (per file):** 365 KB
* **Total size per batch:** 10M. UniSat automatically validates file types and size. Unsupported formats or oversized files will be rejected.

***

#### 4.  **Affordable & Transparent Fees**

UniSat Inscribe offers service fees below market average, helping you reduce inscription costs more effectively. Before isncribing, you can customize your network fee, and the system will provide real-time cost estimates based on your selected rate—ensuring both priority and cost-efficiency in your transactions.

***

#### 5. Advanced Inscription Features

UniSat Inscribe supports advanced minting capabilities:

* Parent/Child Provenance
* Delegate
* Metadata
* Reinscription
* Combined brc-20 and Runes minting in a single transaction

***

#### 6.  Seamless Integration

UniSat Inscribe is tightly integrated with the UniSat services:

* UniSat Wallet
* UniScan
* UniSat Marketplace
* InSwap

Combined, these tools offer a streamlined, end-to-end experience for managing, tracking, and trading inscriptions.

UniSat Inscribe is built to provide a robust and continuously improving isncribing service, offering diverse and customizable minting options—while ensuring a secure and efficient experience across both Bitcoin and Fractal.&#x20;

#### Disclaimer:

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Inscribe on UniSat

Getting started with the UniSat Inscribe service is simple. Let’s walk through the process using brc-20 inscription as an example.&#x20;

This guide is for reference — actual UI and options may vary slightly, please follow what’s displayed on the inscribe page.

\
**Limited-Time Offer!**&#x20;

Enjoy 0 service fee for the first 20 inscriptions in the first batch inscribe order per day!<br>

### Step 1: Connect Your Wallet

Visit <https://unisat.io/inscribe> and connect your UniSat Wallet (or any supported wallet).

*Download or upgrade UniSat Wallet:* [*https://unisat.io/download*](https://unisat.io/download)

<figure><img src="/files/jTGxWNYDGLUoZAQioAJp" alt=""><figcaption></figcaption></figure>

### Step 2: Choose Inscribe Type

After entering the Inscribe page:

* The top panel shows an overview of ordinals, brc20 and Runes parts. You can switch between them

Choose your desired protocol: Ordinals or Runes, Then select the content type to inscribe (e.g., brc-20, Files, Name, Text).

* Use the search bar to look for specific brc-20/Runes tickers.
* Use the 1h / 6h / 24h filters to view popular tickers by time range.
* Use the view toggle icon to switch to the Heat Map view.

For this guide, we'll use brc-20 as an example.

<figure><img src="/files/3z1kTY0HOVQfmGT7MmOV" alt=""><figcaption></figcaption></figure>

### Step 3: Start Inscribing

* Search or click on the brc-20 ticker you want to mint.
* On the result page, click the **Mint** button on the right.
* In the panel on the right:
  * Confirm that it's a 4-byte Mint inscription.
  * Verify the ticker name and mint amount.
  * Use the input box or slider to batch mint multiple times.

Once you've reviewed all the details, click **Next**, and confirm again on the next screen.

<figure><img src="/files/KZVlVWoR42rCMRKTJ99B" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/13we58G8ZqYld3OP3KJL" alt="" width="563"><figcaption></figcaption></figure>

### Step 4: Choose Receiving Address & Fee

* Select **"To Single Address"** to inscribe to one address or **"To Multiple Addresses"** for batch inscribing.
* Customize your network fee as needed.
* Please carefully read the Risk Warning, and confirm by checking the box.
* Click **Submit & Pay Invoice** to proceed.

<figure><img src="/files/gCT9iGh13gG1zmSTUmjR" alt="" width="563"><figcaption></figcaption></figure>

### Step 5: Payment

On the order confirmation page:

* Double-check your inscription details and total cost.
* Select a payment method.
* Complete the payment to submit your inscription order.

<figure><img src="/files/xYbF4tqxr2FYxFVK2xZX" alt="" width="375"><figcaption></figcaption></figure>

\
💡 **Tips:**

* Before the transaction is broadcasted, you can click **Cancel** to abort the order.
* To speed up confirmation, use the **Boost** option.

<figure><img src="/files/nJFU9Ha2xotr0nUFV1wU" alt="" width="563"><figcaption></figcaption></figure>

<br>

***

### Inscribe via UniScan

You can also access the inscribe service through the **UniScan explorer**:

* Go to <https://uniscan.cc>
* Click on **Ranking** to see tickers for Alkanes, brc20, Runes  (Note: Alkanes inscribe service not yet supported).
* Search the ticker you want, and click the **Mint** button to jump directly to the inscribe page.

<figure><img src="/files/3PKXpOS9IEPDGUJRnrcd" alt="" width="563"><figcaption></figcaption></figure>

\
**Notes:**

1. In case of platform order congestion, there might be delays in on-chain processing, and we cannot guarantee the on-chain processing time.
2. The rate you submit now does not represent the real-time on-chain rate. Please be aware of the fluctuating on-chain rate.
3. If there are unconfirmed outbound transactions in your payment account, please stop the payment or switch to another account for operation.
4. When encountering orders with ongoing engraving, please patiently wait for the miner's confirmation, as the transaction cannot be revoked.
5. Please note the inscribing transaction delivers the inscription to the receiving address directly.

***

### brc-20 Deploy&#x20;

Deploy is the first step in creating a new brc-20 ticker.\
Through the Deploy function, you can define the core parameters of the token, including:

* Tick: the ticker name of the asset
* Deploy Max: the maximum total supply of the ticker
* Limit Per Mint: the maximum amount that can be minted in a single mint transaction
* **Self-issuance**: When enabled, only the deployer of the ticker can participate in subsequent minting. This is an optional issuance mode for cases where the deployer wants to retain control over mint participation.

Once the deploy transaction is successfully confirmed on-chain, the ticker’s rules are established, and users can mint the token according to those parameters.

<figure><img src="/files/kMOwHLofLzkh9DlBOf6W" alt="" width="563"><figcaption></figcaption></figure>

#### Important Notes

* **Deploy is competitive**: Under certain network conditions, multiple users may attempt to deploy the same ticker at the same time. There is a risk that the ticker may be taken by someone else before your transaction is confirmed.
* **Parameters cannot be changed**: Once the deploy is confirmed, the ticker’s key parameters are fixed and cannot be modified.
* **Deploy does not mean mint**: Completing a deploy only creates the ticker. Minting must still be carried out separately according to the rules you set.
* **On-chain confirmation is final**: Whether the deploy succeeds should always be determined by the final on-chain result.

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Inscribing brc-20 and Runes in a single transaction

This guide is for reference — actual UI and options may vary slightly, please follow what’s displayed on the inscribe page.

UniSat supports inscribing brc-20 and Runes in a single transaction! This means you can inscribe Runes alongside brc-20 in a more cost-efficient way compared to inscribing them separately.

\
**How is this achieved?**

Whether you are inscribing a BRC-20 ticker or making a regular BTC transfer, any Bitcoin transaction with an OP\_RETURN data size of 16 bytes or more will automatically mint a runes ticker.

In other words, if the fee rate is 1 sat/vB, the minting cost of 1 runes ticker is 16 sats because of the 16 bytes OP\_RETURN data.

\
\
**What's new?**&#x20;

* Simultaneously inscribe BRC-20 and Runes in one UTXO
* Save on inscribing fees
* Faster & more efficient inscribing
* On both Bitcoin and Fractal mainnet

\
**What are the potential drawbacks?**

If you mint 1000 A brc-20 tickers for instance, you will also generate 1,000 B runes tickers, each associated with a separate UTXO. If you do not consolidate these B tickers later, you will only be able to sell them one by one.

Additionally, since BRC-20 tokens and Runes tokens exist within the same UTXO, some applications may have difficulty distinguishing between them, potentially leading to asset misidentification and loss.

<figure><img src="/files/E7JhoHjTXcTLoggzeW3r" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Advanced Features

UniSat Inscribe introduces new advanced features for Ordinals creators and degens<br>

* **Parent/Child Provenance**: Link parent-child inscriptions
* **Delegate**: Save fees when minting copies of an inscription
* **Metadata**: Add metadata to your inscriptions
* **Pointer**: Choose the exact satoshi/utxo you mint on

\
UniSat Inscribe: <https://unisat.io/inscribe>

***

### **Parent/Child Provenance**

\
Enable the Parent/Child toggle to mint “child” inscriptions linked directly to a parent you own, establishing **on-chain provenance** that verifies their origin.<br>

* Trustlessly establish the provenance of child inscriptions
* Children and parent inscriptions can used in the same collection

\
Learn more about Parent/Child Provenance: <https://docs.ordinals.com/inscriptions/provenance.html>

<figure><img src="/files/XR28pekzDigqyywoi2CW" alt=""><figcaption></figcaption></figure>

***

**🎨 Delegate: Save big when mass-minting copies!**

\
Delegate lets you create copies of an inscription easily by nominating a “delegate” (the original copy). Imagine repeat-minting 1000 images in one go!

\
It save storing content for each inscription and therefore saves fees too! Requests for the content of an inscription with a delegate will instead return the content, content type and content encoding of the delegate.

\
ICYDK, UniSat OG pass collection was minted with this method! This helped us save big on fees.

\
Learn more about Delegate : <https://docs.ordinals.com/inscriptions/delegate.html>

<figure><img src="/files/QtxaY1dsJ2VKaA0SNSOT" alt=""><figcaption></figcaption></figure>

***

**📝 Metadata**

\
Metadata option lets you add metadata to your inscriptions using CBOR format when inscribing.

You can now attach rich, human-readable info like Name and Traits to your inscriptions！

* Great for NFT and game assets creators.<br>
* More details about Metadata: <https://docs.ordinals.com/inscriptions/metadata.html>

<figure><img src="/files/kKZZ2wpgcvwtfL5KoKeH" alt=""><figcaption></figcaption></figure>

***

**📍 Pointer: Choose Your Sats!**

\
With the Pointer option, you can choose exactly which utxo or sats (satoshi) your inscription gets minted on, like rare sats!

* &#x20;This gives builders more control over sats
* &#x20;This can be used to create multiple inscriptions in a single transaction on different sats

\
Learn more about pointer: <https://docs.ordinals.com/inscriptions/pointer.html>

<figure><img src="/files/9zXXEXxWY71m4tSSeBsD" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Inscribe Gallery

Inscribe Gallery lets you turn any existing collection's JSON files into a fully on-chain gallery, making your collection stored and verifiable on Bitcoin.<br>

## How to Inscribe Gallery

* Visit: <https://unisat.io/inscribe>
* Go to the **Gallery** tab under the **Ordinals** section.

<figure><img src="/files/ejnCRmUizsPNpBruv1ne" alt=""><figcaption></figcaption></figure>

### Step 1: Add Gallery Data

You can add your gallery data in one of the following ways:

#### **1. Upload your collection JSON files**

You can choose to:

* Upload a single JSON file (Inscriptions JSON), or
* Upload two files (Metadata / Traits JSON + Inscriptions JSON)

We recommend uploading two files, as this allows the system to auto-fill collection details and reduces manual input.

<figure><img src="/files/2e9PPdPQmMdG4HXSHgW9" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="https://v4c1fl581ns.sg.larksuite.com/space/api/box/stream/download/asynccode/?code=YWJiMDhiODA3OTk3OGE3ZGVkNjhjM2ZiYzBkNGNmZmRfZHdBUkVIdlZkRjBSRTFzc3ZuenMxVVY5M1lxMzJzVDZfVG9rZW46QnpYcWJnMmVnbzJMUVN4RUFMZmxkVXNMZ3FiXzE3NzQ0MzM3Njg6MTc3NDQzNzM2OF9WNA" alt="" width="375"><figcaption></figcaption></figure>

#### **2. Import directly from UniSat Marketplace (Recommended)**

This is the easiest method.

\
Simply paste the collection link or collection ID from UniSat Marketplace.For example: <https://unisat.io/market/collection?collectionId=XXX> (*XXX is the collection name displayed on UniSat Marketplace URL*)

<figure><img src="/files/SzhYRBG1TfmXf0DxNFcY" alt=""><figcaption></figcaption></figure>

<figure><img src="https://v4c1fl581ns.sg.larksuite.com/space/api/box/stream/download/asynccode/?code=ODZkNTkwNDJjZjM4NGFiMTgyZGM3OTYzNjEyZGUxNGNfWXBlNnFGZlJ4WUJHVUwzNDFOTEg4bExIam1tMEVja2xfVG9rZW46QXpwb2JON21Bb1R3S2R4bWhwSmxTVW9GZzFjXzE3NzQ0MzM3Njg6MTc3NDQzNzM2OF9WNA" alt=""><figcaption></figcaption></figure>

#### **3. Paste Inscription IDs manually**

You can manually input all inscription IDs of the collection:

* Paste them into the input box
* One per line or separated by commas

Make sure all inscription IDs are accurate before submitting

<figure><img src="/files/oOPr7KyjNotpUW4a9Rxu" alt="" width="563"><figcaption></figcaption></figure>

***

### Step 2： Review gallery Information

After uploading your gallert data, you will be redirected to the Review Gallery Information page.

\
Please review your gallery data, complete collection information, and confirm inscription settings.

You can also edit fields such as: Title, description, traits

<figure><img src="/files/8TQUZge2B7lCbNAdetXb" alt="" width="563"><figcaption></figcaption></figure>

* **Cover image**

If your JSON data includes a specified inscription ID, the system will automatically select “Use an inscription ID” and fill it in.

You can switch to other options if needed.

Please make sure the image does not exceed the gallery size limit.

<figure><img src="/files/X8Wi6ck51YMd5is3MabS" alt="" width="563"><figcaption></figcaption></figure>

* **Advanced Options**

You can choose to make the gallery a child of a parent inscription. After setting, the gallery will be inscribed as a child.

You must own the parent inscription in your wallet -> Connect your wallet and provide the parent inscription ID

<figure><img src="/files/XD2Np4a08Ldy0xEGzwT5" alt=""><figcaption></figcaption></figure>

* **Finalize the Inscription**

Once everything is confirmed:

-> Enter the receiving address, set the fee rate, agree to the risk warning and sign the transaction

📌 Double-check all information you submitted before signing

<figure><img src="/files/PJkXXcRFqEDpHU7PGZ2T" alt="" width="563"><figcaption></figcaption></figure>

***

### **Track Your G**allery **Inscribing Order**

After creating gallery inscribing order, you can track its status under **My Orders** on the inscribe page.

Once your gallery is successfully inscribed, you can view it on:

* UniScan: <https://uniscan.cc/>&#x20;
* <https://ordinals.com/>

***

### Submit your Gallery to UniSat Marketplace

\
\- After the gallery is inscribed, a Submit button will appear on the page. You can use it to submit your gallery for listing on UniSat Marketplace.

<figure><img src="/files/nYjJFZTBdEuLz31CfEqq" alt="" width="563"><figcaption></figcaption></figure>

* Or via “Submit Collection” at the bottom of the website

<figure><img src="/files/a6NRKmHf0nAtcGnKrFNZ" alt="" width="563"><figcaption></figcaption></figure>


# UTXO Management

UniSat’s UTXO Management Tool is a game-changer for Bitcoin and Fractal users juggling Ordinals, brc-20, Runes. Unlike basic unlocking tools, UniSat offers *full ecosystem integration* and advanced UTXO optimization.

&#x20;UniSat UTXO Management Tool: [https://unisat.io/utxo ](https://unisat.io/utxo)&#x20;

Here’s why our approach is more challenging, but worth it:

**Smart Management**

* **Reclaim BTC/FB trapped in useless inscription UTXOs:** Effortlessly consolidate UTXOs that are no longer useful like mint and transfer inscriptions in one click.
* **Efficient Splitting:** Split Alkanes, Runes, BTC and FB UTXOs with clarity and control.
* **Batch Send:** Send Alkanes, Ordinals, Runes, BTC and FB UTXOs in batches to different addresses to save time.
* **One-Click Merge:** Easily merge Alkanes, Runes, BTC and FB UTXOs. Keep your wallet clean, organized, and reduce transaction fees.
* **Clear Categorization:** UTXOs are grouped by asset type — Alkanes, Runes, Ordinals, BTC and FB — for improved clarity and reduced risk of misoperations.
* **“All” Tab Features**
  * View detailed UTXO information for your address — including lock/unlock status, protocol type, amount, and more.
  * Custom merge useless UTXOs.
  * Batch Unlock: Unlock multiple UTXOs in one sweep.
  * Beyond Unlocking: Enjoy the freedom to lock any UTXOs.
  * One-Click Filter: Instantly filter for locked or unlocked UTXOs for easy management.

**Power Through Integration**

* **Cross-Platform Usability**: Unlocked UTXOs can be used seamlessly across UniSat ecosystem (Inscribe, Marketplace, InSwap, Voting) and other third-party applications through UniSat API.
* **Protocol-Agnostic**: Manage Ordinals, brc-20, and Runes UTXOs in one place.

***

## UniSat UTXO Management Tool <a href="#id-7b5a" id="id-7b5a"></a>

## Visual Management <a href="#id-7434" id="id-7434"></a>

* Organized by asset type: Alkanes, Runes, Ordinals, BTC(on Bitcoin) / FB(on Fractal), and All
* Clear categorization for easier and more efficient asset management
* Detailed breakdown of assets within each UTXO

## Reclaim BTC(on Bitcoin) / FB(on Fractal)  trapped in useless inscription UTXOs

Consolidate ready-combined useless (mint and transfer) inscriptions in one click.

* We filter out ‘useless’ brc-20 mint & transfer UTXOs—so you can turn them into BTC or FB with one-click.
* Never worry about selecting the wrong UTXOs or burning valuable assets.
* Clear overview of selected UTXO value, and claimable UTXO value after gas fee deduction.

<figure><img src="/files/wqRa9Cu0OCT4HMvcDQmc" alt=""><figcaption></figcaption></figure>

***

### **UTXO Management Tool – Protocol-Based Asset Handling**

UTXOs are grouped by asset type, offering dedicated features across different pages:

<figure><img src="/files/zpwfpWWYse1z1CcLghXz" alt="" width="563"><figcaption></figcaption></figure>

#### **🔸 Alkanes**

<figure><img src="/files/ksCgp73L3n51YYSGnhX7" alt="" width="563"><figcaption></figcaption></figure>

* **Efficiently Split Alkanes UTXOs**
  * **Auto split:** Select and split Alkanes UTXOs to a designated receive address.
  * **Manual split:** Select and split Alkanes UTXOs to multiple receive addresses with custom amounts - total control.
* **Batch send** Alkanes UTXOs to multiple addresses with custom amounts.
* **Custom merge** up to 500 Alkanes UTXOs into a single UTXO.

***Note:***

* *UTXOs containing mixed assets cannot be operated on.*
* *Only UTXOs of the same Alkanes tickers can be operated on.*

#### **🔸 Ordinals**

<figure><img src="/files/e8fG4n7kV1MyrqfRL4O6" alt="" width="563"><figcaption></figcaption></figure>

* **Batch send** up to 500 inscriptions/collections/name/ brc-20 transfer UTXOs to a designated address, save time and fees.
* **Efficiently split** a UTXO containing multiple inscriptions into separate individual inscriptions.

***Note:**&#x55;TXOs that contain mixed assets (e.g., both Ordinals and Runes) cannot be operated on.*

#### **🔸 Runes**

<figure><img src="/files/xdVy0YzhLXss0hH07DEj" alt="" width="563"><figcaption></figcaption></figure>

* **Batch send** different amounts of Runes to different addresses.
* **Efficiently split** Runes UTXOs for finer control.
  * **Auto split:** Select and split Runes UTXOs to a designated receive address.
  * **Manual split:** Select and split Runes UTXOs to multiple receive addresses with custom amounts.
* **Custom merge** up to 500 Runes UTXOs into a single UTXO.

***Note:***

* *UTXOs containing mixed assets cannot be operated on.*
* *Only UTXOs of the same Runes ticker can be operated on.*

#### **🔸 BTC on Bitcoin Mainnet  & FB on Fractal Mainnet**

<figure><img src="/files/BgkrA81ndFIr8pyNBmHV" alt="" width="563"><figcaption></figcaption></figure>

* **Efficiently Split BTC/FB UTXOs**
  * **Auto split:** Select and split large BTC/FB UTXOs into multiple smaller UTXOs of equal size to a designated receive address.
  * **Manual split:** Select & split one or more BTC/FB UTXOs and batch send to up to 1000 receive addresses with custom amounts.
* **Merge** up to 500 UTXOs into a single UTXO.
* **Batch send** up to 500 UTXOs to a single address or up to 1000 different addresses.

***Note:** BTC*/FB *UTXOs that are locked cannot be operated on in this tab. Once selected, all buttons will be disabled.*

#### **🔸 All UTXOs**

<figure><img src="/files/yjaGAVaL1U9m4vQBc98r" alt="" width="563"><figcaption></figcaption></figure>

**Smart Unlocking**

* Batch select and unlock UTXOs containing assets such as Ordinals, brc-20, Runes, and Alkanes.
* Unlocked UTXOs can be used in transfers, UniSat Inscribe, and the UniSat Marketplace.
* Unlock up to 500 UTXOs at once.
* No fees for unlocking!

**Custom Locking**

* Manually lock any UTXOs to prevent unintended spending.
* Use locking to safeguard valuable UTXOs and avoid accidental transfers.

**Custom Merge**

* Select and merge spendable UTXOs and dust UTXOs.
* **Tip:** Unlock unused inscription UTXOs first, convert them into spendable UTXOs, and then merge them into a larger one.

**One-Click Filter**

* Instantly filter for locked or unlocked UTXOs for easy management.

**N*****ote:** All operations under this tab are treated as BTC(Bitcoin mainnet) or FB(Fractal Mainnet) operations. For example, unlocked Runes UTXOs under this tab will be interpreted as spendable BTC/ FB . Please proceed with caution. More guidance:* [*https://x.com/unisat\_wallet/status/1922313056996229509*](https://x.com/unisat_wallet/status/1922313056996229509)

***

## Our Vision <a href="#c706" id="c706"></a>

We’re building the ultimate customizable UTXO experience where users can maintain complete control over their assets, choose to spend any UTXO(s) in any scenario, and optimize for cost-effectiveness.

We’re continuously upgrading our indexer and wallet infrastructure to deliver the best possible user experience

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Understanding UTXO

## What is UTXO?

\
UTXO (Unspent Transaction Output) is a fundamental concept in Bitcoin and many other blockchain networks. It represents the unspent outputs of previous transactions that can be used as inputs for new transactions. Essentially, a UTXO is like a physical cash bill—you can only spend it as a whole, and any leftover balance is returned as change in a new bill (UTXO). This model differs from Ethereum’s account-based model, where balances are updated directly. Unlike traditional bank accounts, where money is summed up into a single balance, Bitcoin transactions require selecting specific UTXOs for spending, similar to using exact change when making a purchase.

***

## How UTXO Increases and Decreases?

\
UTXOs increase when a Bitcoin transaction generates new outputs. For example, if Alice sends 0.5 BTC to Bob, a new UTXO worth 0.5 BTC is created in Bob’s wallet. If Alice had 1 BTC before the transaction, the remaining balance of 0.5 BTC minus any transaction fees is returned to her as a new UTXO.

\
Conversely, UTXOs decrease when they are used as inputs in transactions. When Bob later sends 0.2 BTC to Charlie, his 0.5 BTC UTXO is consumed, and two new UTXOs are created: one for Charlie (0.2 BTC) and one as change returned to Bob (0.3 BTC minus fees). This mechanism ensures that all Bitcoin transactions follow a clear and traceable path.

\
Any Bitcoin transaction, including sending BTC, minting or transferring inscriptions, Runes or BRC-20 tickers, may increase or decrease UTXOs.

***

## Unlocking UTXOs: Benefits and Risks

\
Many users inscribe inscriptions or mint Runes and BRC-20 tickers, resulting in small UTXOs that hold these assets containing only 546 sats. To prevent these asset-containing UTXOs from being spent as miner fees and leading to asset loss, Bitcoin wallets tend to lock them by default, making them unspendable.\
You may have some 'useless assets' in UTXOs like BRC-20 mint inscriptions, transfer inscriptions.<br>

### Benefits of Unlocking UTXOs:

\
**Immediate Usability**: Once unlocked, these UTXOs can be directly used as Bitcoin for transactions.**User Control**: UniSat wallet allows users to decide whether to unlock specific UTXOs. Before confirming a transaction, the wallet will display whether a UTXO contains a particular asset, enabling informed decision-making.<br>

### Risks of Unlocking UTXOs:

\
**Potential Asset Loss**: If an unlocked UTXO contains inscriptions, Runes or BRC-20 tickers you wanna hold, it will be spent as regular Bitcoin. This means that if such a UTXO is included in a transaction, the associated assets may be irreversibly sent to the recipient, leading to loss.

***

## Splitting and Merging UTXOs:

### When to Use Them?

\
Splitting UTXOs involves breaking a large UTXO into smaller ones. This is useful in scenarios such as:

\
**Enabling Multiple Transactions**: Having smaller UTXOs allows users to initiate multiple transactions simultaneously. This is especially useful for minting inscriptions, Runes or BRC-20 tickers, where users may need to broadcast multiple minting transactions quickly without being stopped by pending(unconfirmed) UTXOs.

**Preventing Asset Mixing**: Users who manage both Bitcoin and Bitcoin ecosystem assets (inscriptions, Runes or BRC-20 tickers) may split UTXOs to keep asset-containing UTXOs separate from pure Bitcoin UTXOs.

\
Merging UTXOs is the opposite process, where multiple smaller UTXOs are combined into a single larger one. This is beneficial when:

\
**Reducing Transaction Fees**: Users who have accumulated many small UTXOs (e.g., 546 sats, 1000 sats) from minting inscriptions may find that transactions become costly due to the high number of inputs. Merging these UTXOs reduces the input count and lowers transaction fees.

**Wallet Management**: Consolidating UTXOs into fewer, larger UTXOs makes managing funds more efficient, especially for users frequently engaging with Bitcoin-based assets. You can merge many small UTXOs only containing 546 sats or 1000 sats into a larger one.

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to reclaim BTC/FB trapped in useless inscription UTXOs

UniSat UTXO Management Tool: [https://unisat.io/utxo ](https://unisat.io/utxo)

Consolidate ready-combined useless (mint and transfer) inscriptions in one click.

* We filter out ‘useless’ brc-20 mint & transfer UTXOs—so you can turn them into BTC/FB with one-click.
* Never worry about selecting the wrong UTXOs or burning valuable assets.
* Clear overview of selected UTXO value, and claimable UTXO value after gas fee deduction.

***Tips: Lower fee = more BTC in your pocket! Consolidating is optimal when network fees are <3 sats/vB!***

UniSat provides FREE consolidations up to **3000 UTXOs** each month with activities to get more!

<figure><img src="/files/pesOh4DZEyISlHAqYyAW" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to split Ordinals / Runes / Alkanes / BTC / FB?

UniSat UTXO Management Tool: [https://unisat.io/utxo ](https://unisat.io/utxo)&#x20;

Splitting UTXOs to different addresses with custom amounts, or breaking large UTXOs into smaller ones, can help improve asset flexibility, prevent asset mixing, and enable faster, smoother transactions.

UniSat UTXO Management Tool now supports easy UTXO splitting for:

* Alkanes Assets
* Ordinals
* Runes
* BTC (on Bitcoin Mainnet) / FB (on Fractal Mainnet)&#x20;

### How to Split Your UTXOs？

Let's take Split Alkanes as an example. Please note that the Split process for Ordinals, Runes, and BTC may vary slightly. You can check the specific details on each asset's Split page.&#x20;

**⚠ Always double-check before pressing that confirm button!**

<figure><img src="/files/TabKhzkkQXkWDc7rZWak" alt=""><figcaption></figcaption></figure>

**🔸 Alkanes:**

* **Auto split:** Select and split Alkanes UTXOs to a designated receive address.
* **Manual split:** Select and split Alkanes UTXOs to multiple receive addresses with custom amounts - total control.

*Note:*

* *UTXOs containing mixed assets cannot be operated on.*
* *Only UTXOs of the same Alkanes tickers can be operated on.*

\
**🔸 Ordinals:**

* **Batch send** up to 500 inscriptions/collections/name/ brc-20 transfer UTXOs to a designated address to save time and fees.
* **Efficiently split** a UTXO containing multiple inscriptions into separate ones.

*Note: UTXOs that contain mixed assets (e.g., both Ordinals and Runes) cannot be operated on.*

\
**🔸 Runes:**

* **Auto split:** Select and split Runes UTXOs to one designated receive address.
* **Manual split:** Select and split Runes UTXOs to multiple receive addresses with custom amounts.

*Note:*

* *UTXOs containing mixed assets cannot be operated on.*
* *Only UTXOs of the same Runes ticker can be operated on.*

\
\
**🔸 BTC / FB:**

* **Auto split:** Select and split large BTC/FB UTXOs into multiple smaller UTXOs of equal size to a designated receive address.
* **Manual split:** Select & split one or more BTC/FB UTXOs and batch send them to multiple receive addresses with custom amounts.

*Note: BTC/FB UTXOs that are locked cannot be operated on in this tab. Once selected, all buttons will be disabled.*

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to batch send Ordinals / Runes / Alkanes / BTC / FB?

The Batch Send function in UniSat UTXO Management Tool helps you efficiently transfer assets to one or multiple addresses, saving time and optimizing UTXO usage.

UniSat UTXO Management Tool: [https://unisat.io/utxo ](https://unisat.io/utxo)&#x20;

### **Supported Batch Send Scenarios**

* **Alkanes:** Batch send Alkanes UTXOs to multiple addresses with customizable amounts.
* **Ordinals: Batch send** up to 500 inscriptions/collections/name/ brc-20 transfer UTXOs to a designated address, save time and fees.
* **Runes: Batch send** different amounts of Runes to different addresses.
* **BTC(on Bitcoin)/FB(on Fractal): Batch send** up to 500 UTXOs to a single address or up to 1000 different addresses.

### How to Batch Send Your UTXOs?

In this guide, we will use Batch Send for Runes as an example. The overall process for Ordinals, Runes, Alkanes, and BTC/FB is similar, with slight differences depending on the asset type. Please refer to the specific batch send interface for each asset.

**⚠️ Note:*****To avoid sending assets as ordinary BTC, please use the batch send feature within the corresponding protocol-specific page (Ordinals, Runes, Alkanes, BTC/ FB(on Fractal) Tab), don't use batch send under the "All UTXOs" tab.***

1️⃣ Access the UTXO Management Tool

Visit: <https://unisat.io/utxo>

#### 2️⃣ Select the "Runes" Tab

Switch to the Runes section to manage your Runes UTXOs.

#### 3️⃣ Choose "Send"

Select Runes UTXO and click **Send** button to start the process.

#### 4️⃣ Enter Receiving Addresses and Amounts

* Input different addresses and the amount of Runes to send to each address.
* **Double-check all details before confirming.**

#### 5️⃣ Confirm the Transaction

Submit the batch send and wait for the transaction to be broadcast to the network.

<figure><img src="/files/nP2av3lgnFurrpCxhNmn" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to merge Runes / Alkanes / BTC / FB?

The Merge function in the UniSat UTXO Management Tool helps consolidate multiple fragmented UTXOs into a single UTXO, making your asset structure more efficient and easier to manage.

### **Supported Merge Scenarios**

* **Alkanes**: Custom merge up to 500 Alkanes UTXOs UTXOinto a single .
* **Runes**: Custom merge up to 500 Runes UTXOs into a single UTXO.
* **BTC**(on Bitcoin) / **FB** (on Fractal): Merge up to 500 UTXOs into a single UTXO.

### **How to Merge** Your **UTXOs？**

In this guide, we will use Merging Alkanes UTXOs as an example. The merging process for Runes, Alkanes, and BTC/FB is generally similar, with slight differences based on the asset type. Please refer to the specific merge interface for each asset.

**Visit:** <https://unisat.io/utxo>

**⚠ Always double-check all details before confirming.**

**⚠ Only UTXOs of the same asset type and same asset name can be merged.**

<figure><img src="/files/vJQABTfFe0G8F7fcNlUa" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to unlock/lock inscription/Runes/Alkanes/ utxo and send as normal BTC in All UTXO Tab

The **Lock** function in UniSat UTXO Management Tool allows you to prevent specific UTXOs from being accidentally used in transactions. The **Unlock** function lets you reverse this, making the UTXOs available again for normal operations.

Locking is helpful for protecting assets, reserving UTXOs for specific use cases, or managing wallet behavior.

&#x20;&#x20;

UniSat UTXO Management Tool: [https://unisat.io/utxo ](https://unisat.io/utxo)&#x20;

<figure><img src="/files/O0gbZYmh69epOYweoS6W" alt="" width="563"><figcaption></figcaption></figure>

***

### How to unlock inscription/runes/Alkanes/ utxo and send as normal BTC in All UTXO Tab?&#x20;

***📌 Unlock with care***

***UTXOs with brc-20, ordinals NFT, Alkanes or Runes assets are treated as BTC after unlocking — you may burn valuable assets if mistakenly select the wrong UTXO.***

**📌 First please be 100% sure you don't want to keep these assets "inscriptions, Runes, Alkanes" at all, because once you unlock and send, you will lose these assets.**

Here, we use inscription as an example (The process for Ordinals, Runes, Alkanes, and BTC is similar, with slight differences based on asset type. Please refer to the specific interface for each asset.)&#x20;

1\. select the related utxos and then unlock.

<figure><img src="/files/b5zOCdlZLfHCPl3rRQWm" alt=""><figcaption></figcaption></figure>

2\. You need to confirm and sign in wallet to finish unlocking.

<figure><img src="/files/mawdYOomWDNvBQZvYd0p" alt="" width="563"><figcaption></figcaption></figure>

3\. Then you could see these two utxos being unlocked. Then select them and click Send.

<figure><img src="/files/TjTWLewALQKINQfRHofa" alt=""><figcaption></figcaption></figure>

4. There is a Notice that pops out because these utxos are less than 600 sats, to protect your assets, we need you to confirm again, if be sure, you could click Next to continue.

<figure><img src="/files/1OLELFJtAbmgq1FqkTIP" alt=""><figcaption></figcaption></figure>

5. Then you could enter Recipient and Amount, custom fee rate and confirm. In Sign page of wallet, you could see it lists these two utxos as Inputs.

<figure><img src="/files/W6WPKE9yeU6FJwp9T61k" alt="" width="563"><figcaption></figcaption></figure>

* **Note:**
  * After manually unlocking and spending a UTXO with assets, it needs to be unlocked again before the next spend.
  * UTXOs with less than 600 sats, once unlocked, can only be merged or sent through the UTXO Management Tool. The wallet will not automatically select UTXOs below 600 sats for spending.

***

### How to lock inscription/Runes/Alkanes/ utxo and send as normal BTC in All UTXO Tab?&#x20;

Here, we use Alkanes assets as an example (The process for Ordinals, Runes, Alkanes, and BTC is similar, with slight differences based on asset type. Please refer to the specific interface for each asset.)&#x20;

**⚠ Always double-check before pressing that confirm button!**&#x20;

<figure><img src="/files/fGsqKf0rJOfDBgnZM8Vg" alt=""><figcaption></figcaption></figure>

<br>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# UTXO Tool FAQ

**UTXO Management Tool:**  [https://unisat.io/utxo ](<https://unisat.io/utxo >)&#x20;

\
**Q: What is UTXO?**

Each UTXO (Unspent Transaction Output) represents a spendable balance in Bitcoin or Fractal.

***

## **Consolidate FAQ**&#x20;

*Lower fee = more BTC in your pocket! Consolidating is optimal when network fees are <3 sats/vB!*

**Q: What are useless inscriptions? Will merging them affect my brc-20 assets?**

<figure><img src="/files/wqRa9Cu0OCT4HMvcDQmc" alt=""><figcaption></figcaption></figure>

There are currently two types: **brc-20 Mint inscriptions and used brc-20 Transfer inscriptions.**

These types of brc-20 inscriptions have no value and are not linked to your brc-20 asset holdings. Merging and spending them will not affect your brc-20 balance.

However, each inscription typically occupies 294–546 sats. If you have a large quantity of these types of useless inscriptions, they can take up a significant portion of your balance. Consolidating them when the fee rate is low can help you reclaim at least 60% of usable BTC.

**Q: Since useless inscriptions include brc-20 Transfer inscriptions, are minted but unused brc-20 Transfer inscriptions safe?**&#x20;

Yes, they are safe. Valid and unused brc-20 Transfer inscriptions will not be classified as useless inscriptions and will appear in the "UTXO list".

**Q: Will consolidated useless inscription UTXOs become spendable BTC in the wallet?**&#x20;

Yes. After consolidating, they usually exceed 600 sats and will appear as available balance in the wallet.

**Q: Why does consolidating useless inscriptions UTXOs consume high gas fees?**&#x20;

&#x20;Gas fee = fee rate × virtual transaction size. The more inputs a transaction has, the larger the size, and thus the higher the fee. We recommend merging when fees are relatively low to process.

**Q: Is there a service fee for consolidating useless inscription UTXOs? Will I earn points?**&#x20;

You get three free **consolidations up to 3000 UTXOs each month,** effectively no charge. For consolidate with a service fee, corresponding UniSat Points will be awarded. More details [here](https://docs.unisat.io/unisat-services/guides-and-explanations/unisat-points-explained).

***

## Unlock UTXOs under "All UTXOs" tab FAQ

***📌 Unlock with care***

***UTXOs with brc-20, ordinals NFT , Alkanes or Runes assets are treated as BTC after unlocking — you may burn valuable assets if mistakenly select the wrong UTXO.***

\
**Q: How do I unlock assets using the UTXO Management Tool?**&#x20;

*Tips: Before unlocking, make sure the UTXOs’ assets are useless/unwanted to avoid losing anything valuable.*

<figure><img src="/files/SgwBo8YMiJf5fFgpOnTi" alt="" width="563"><figcaption></figcaption></figure>

**Q: Can unlocked inscription/Runes/Alkanes UTXOs be used directly as BTC in the UniSat wallet?**&#x20;

Yes, and there are two cases:

* If the UTXO is >600 sats, your available balance in wallet will update its amount after unlocking, and it can be used directly as BTC.
* If the UTXO is <600 sats, your available balance won’t update. It cannot be directly selected in the wallet for sending. You must go to the UTXO Management tool <https://unisat.io/utxo> to send it. *(Detailed steps* [*here*](/products/utxo-management/how-to-unlock-lock-inscription-runes-alkanes-utxo-and-send-as-normal-btc-in-all-utxo-tab)*)*

\
**Q: Why do unlocked UTXOs get locked again after being used?**

If a UTXO contains assets that UniSat can recognize—such as inscriptions or runes, the system will require you to manually confirm and unlock it before each spend to ensure your assets remain secure.

**Q: Can unlocked inscription/Alkanes/Runes UTXOs be sent to other addresses such as exchanges' wallet addresses? Will they turn into available BTC?**&#x20;

Yes, if you do not wish to keep these assets, you can send them anywhere. \*Whether they appear as available BTC on any platform depends on whether that platform recognizes and locks the asset. If not, they will show up as unavailable BTC.

\
**Q：How many UTXOs can I unlock or merge at once?**

You can unlock or merge up to 500 UTXOs at a time. We may improve this limit in future updates.

***

**Q: If I select UTXOs on the current page, then go to the next page, will my selections be saved?**&#x20;

No. Currently, selection is only valid on the current page. If you have many UTXOs, please increase the number of items displayed per page at the bottom, and use the category filter in the top right to narrow your list.

<figure><img src="/files/H4VYMxqlLXgJpqEH7vS3" alt="" width="563"><figcaption></figcaption></figure>

***

**Q: Will unsupported small UTXOs be spent automatically in my UniSat wallet?**&#x20;

If your address has unsupported protocol assets stored in UTXOs under 600 sats, you cannot spend them directly unless you manually select and send them via our UTXO Management tool <https://unisat.io/utxo>. Please operate with caution when doing so.

***

**Q: Why does it say "Not enough BTC UTXOs available for network fee payment" when splitting BTC?** This occurs when the user only has one BTC UTXO or selects all BTC UTXOs for splitting, leaving none to pay the network fee. Solution: Reserve enough BTC from the split amount to cover the fee.

<figure><img src="/files/z8bWzQpxRAs59zkrupqz" alt="" width="563"><figcaption></figcaption></figure>

***

**Q: Why does the UTXO quantity show as 0 when trying to split Runes or Alkanes?**\
If the UTXO quantity shows as 0 on the split interface, it means the current settings do not allow the UTXO to be split. This can happen due to the asset's decimal support, the maximum allowed decimal places, or your specific split configuration. Please refer to the examples below:

* Example 1: The asset does not support decimals and must be split in whole numbers.\
  Attempting to split 1 unit into 3 parts results in decimals, so splitting is not possible.\
  Illustration:

<figure><img src="/files/p1ZwVMIdnNCk8erHgVn3" alt="" width="371"><figcaption></figcaption></figure>

* Example 2: The asset supports 2 decimal places.\
  Attempting to split 0.01 units into 2 parts exceeds the supported decimal precision, so splitting is not possible.

<figure><img src="/files/CGwWdDEj1M3of0qWr8D5" alt="" width="368"><figcaption></figcaption></figure>

* Example 3: Alkanes assets support 8 decimal places by default.\
  Attempting to split 0.00000001 units into 2 parts exceeds the 8-decimal limit, so splitting is not possible.<br>

<figure><img src="/files/A7kI6BByhyTP91V90i6s" alt="" width="375"><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# UniScan

The one explorer for all your Bitcoin needs.

Ordinals, brc-20, Runes, Alkanes and beyond — Bitcoin & Fractal supported.

Try it here: <https://uniscan.cc/>&#x20;

***

\
🔍 Powerful Search Across Bitcoin Protocols

* Enter any keyword to instantly discover related BRC-20 tokens, Runes, and Ordinals collections
* Navigate seamlessly to detailed views with a single click

<figure><img src="/files/N1cs87hjH8Q7r14BJ8q0" alt=""><figcaption></figcaption></figure>

***

\
**📍** Search any Bitcoin address for instant portfolio visibility:

* Bitcoin & FB balance
* brc-20
* Runes
* Ordinals NFTs
* Names

<figure><img src="/files/rMm3Ajq531gQoM10oCtF" alt=""><figcaption></figcaption></figure>

***

\
🔍 Explore transaction history with precision:

* Token filtering - Only view transactions of a specific token
* Transaction type sorting - View only sends, receives, or all activities
* Comprehensive timeline - Track your complete on-chain footprint

<figure><img src="/files/enATBZRrHoTYT5BS7LeK" alt=""><figcaption></figcaption></figure>

***

\
⭐ Super clear visualization of transaction details

* Know exactly when, who and what was involved in each transaction

<figure><img src="/files/9ATgNc0cOfTU7hxfLCf8" alt=""><figcaption></figcaption></figure>

***

\
**⛓ Track on-chain activity by protocol and never miss the next uptrend!**

* Compare ordinals and runes activity
* Hourly and daily transaction data
* 24H active addresses and transactions

<figure><img src="/files/szBhmbjaYYtmFOhjYFMI" alt=""><figcaption></figcaption></figure>

***

\
Seamlessly integrated with UniSat Wallet, Inscribe, Marketplace, and InSwap.

<figure><img src="/files/Y2TZMS356CkOMqiu0lID" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# UniHexa

The Next-Gen Hybrid Trading Engine for Bitcoin Assets

UniHexa is a unified on-chain exchange service for Bitcoin-native assets. It is live on the Bitcoin mainnet with real assets, real orderbooks, and real settlement. It supports multiple protocols and asset types, including brc-20, Runes, providing users with a unified and seamless multi-asset trading experience.

UniHexa combines the high-performance matching engine of centralized exchanges with the non-custodial nature of decentralized wallets, enabling users to enjoy low-cost, high-efficiency trading while maintaining full transparency and asset security. All transactions are verifiable on-chain, and order books are completely public and accessible without permission.

Built upon a robust architecture and open protocol support, UniHexa aims to redefine how Bitcoin ecosystem assets are traded—delivering a secure, transparent, and reliable next-generation decentralized trading experience.

### **⚡ Trading experience: CEX + DEX in One**&#x20;

**🔸 CEX-like Experience**&#x20;

* Support for all Bitcoin assets and cross-protocol trading&#x20;
* Set your price/direction; UniHexa handles order-matching instantly&#x20;
* Unmatched orders auto-convert to listed orders on the orderbook market&#x20;
* You can access and edit your orders at any given time&#x20;
* Liquidity thrives with active market makers&#x20;

**🔸 DEX-like self-custody**&#x20;

* Every single order is committed onto blockchain before it gets matched.&#x20;
* Fully non-custodial, peer-to-peer trading.&#x20;
* Pair with non-custodial wallets like UniSat Wallet for the ultimate decentralized experience.

### **🔐 Security & transparency by design**

* &#x20;Every transaction committed to blockchain and verifiable as it should be.
* Full orderbook in mempool. No compromises.
* Permissionless access for all.

### **🛠 Development Status**

Currently in invite-only  Early Access Phase 2. Feedback-driven iteration to ensure stability, usability, and scalability.

View UniHexa page: <https://beta.unihexa.io>

Join our Discord for UniHexa updates and Early Access opportunities: [UniSat Discord](https://discord.com/channels/1080002044129189908/1455141838657683456)&#x20;

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# More Products


# UniSat Marketplace

UniSat Marketplace is a decentralized marketplace that makes it easy and secure to trade and manage Bitcoin-native assets, including brc-20, Ordinals, Runes, and Alkanes. Since launching in 2023, UniSat has become a trusted, open-source tool known for its user-first approach, competitive fees, and seamless integration across the Bitcoin and Fractal network.

Whether you're looking to trade your first brc-20 tickers, Runes, or Alkanes, or securely manage your Bitcoin assets, UniSat Marketplace provides the tools and infrastructure to make it simpler, cheaper, and smoother.

UniSat Marketplace: <https://unisat.io/market>&#x20;

### Key Features of the UniSat Marketplace

* **Multi-Protocol Asset Support - Ordinals, Runes, Alkanes Assets:** Trade and manage Ordinals, brc-20 tickers, Runes, Alkanes, Names, and Collections—all fully compliant with Bitcoin mainnet standards. No third-party bridges or custodians required.
* **Decentralized & Non-Custodial:** UniSat never stores your mnemonic phrases or private keys. All trades are signed directly via your wallet, giving you full control over your assets.
* **Low & Competitive Fees:** Enjoy just 0.5% service fees for trading brc-20 tickers, Runes, Alkanes, Names, and Collections, ensuring cost-effective market participation. Small orders may even qualify for zero fees—see detailed [fee info](/products/more-products/unisat-marketplace/unisat-marketplace-fee-rates) for more.&#x20;
* **Seamless Integration:** Compatible with UniSat Wallet, OKX Wallet, Magic Eden Wallet, Xverse, and more and supports switching between Bitcoin and Fractal marketplaces in one click, making transactions and operations more convenient. Deeply integrated with UniSat Wallet, UniScan, Inscribe service, and InSwap, making advanced operations and data access more convenient.
* **Developer-Friendly:** All trading, listing, and indexing logic follows open protocols. With our [public APIs](/developer-support/unisat-ai-kit), developers can freely build custom tools or marketplaces without permission.
* **User-Centric Experience:** Clean UI with one-click listing and buying, real-time asset rankings, and automatic UTXO management. Powered by PSBT for enhanced security and flexibility. We continuously improve the experience based on community feedback.

UniSat Marketplace is your gateway to exploring Bitcoin-native assets—secure, efficient, and always improving based on community feedback.

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Trade on UniSat Marketplace

UniSat Marketplace makes it easy to buy and sell Bitcoin-native assets like brc-20, Runes, Alkanes, Names, and Collections—all in a decentralized, non-custodial way. This guide is for general reference. For the best results, please follow the current UI and make decisions based on your actual needs.

***

### Step 1: Access the Marketplace

* Go to the official UniSat website: <https://unisat.io>
* Connect your wallet

> **In this guide, we’ll walk you through the process using brc-20 as an example.**

<figure><img src="/files/i27a865ZC97spxEejw1Z" alt=""><figcaption></figcaption></figure>

### How to Buy Assets？&#x20;

On the homepage, select the **asset category** you want to trade from the top menu (e.g., brc-20, Alkanes, Runes, Collections etc.)

<figure><img src="/files/Unobb0e8uAErUMypFpd6" alt=""><figcaption></figcaption></figure>

1. Under **brc-20**, browse the ticker leaderboard or use the search bar on the right to find the ticker you want.

   ***⚠️ Double-check the ticker name to avoid choosing a similarly named asset.***

<figure><img src="/files/jfqOUOwMh5kJqXkHVE6A" alt=""><figcaption></figcaption></figure>

2. Click on the desired ticker to enter its trading detail page. You can also sort listed orders by price, either from highest to lowest or lowest to highest.

<figure><img src="/files/sO0tIPdCqNKoCC62mO72" alt=""><figcaption></figcaption></figure>

3. View all current listings for that asset. Select the amount and price you prefer and click **Buy**.

* You can also use the slider at the bottom left to batch purchase multiple listings.

<figure><img src="/files/hmMtdQBWtszGx1gWILx9" alt="" width="563"><figcaption></figcaption></figure>

4. On the order confirmation page, double-check: **ticker name, price, and amount**. Click **Confirm**, complete the wallet signature, and the asset will be yours.

<figure><img src="/files/DnySjvx1cZye4gTjNbQV" alt="" width="563"><figcaption></figcaption></figure>

\
✅ Tip: You can also access Buy options via your **My Assets** page:

* Go to the "**My Orders**" tab at the top right of the Marketplace homepage.
* Click **Assets** to see your full asset portfolio.
* Select any ticker and click **Buy** to proceed.

<figure><img src="/files/7z3in2F2JvL8fqsTP3qD" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/GhtQ1vQNUj7JWavEZEh6" alt="" width="563"><figcaption></figcaption></figure>

***

### How to List (Sell) Assets

Go to the [UniSat Marketplace homepage](https://unisat.io/market) and connect your wallet.

1. Click the **yellow icon** labeled **My Assets**.

* In the dropdown, find the brc-20 ticker you want to sell and click **List**.

<figure><img src="/files/om6yWwpCxHNMOJdPfoED" alt=""><figcaption></figcaption></figure>

2. Select the ticker and click **List** to enter a price.

<figure><img src="/files/VlgBWfMzpbo4shImOfAd" alt=""><figcaption></figcaption></figure>

3. Set your ideal sell price, then click **List** and confirm the signature.

<figure><img src="/files/ICQbSnUUkFNo5OY9R2bC" alt=""><figcaption></figcaption></figure>

* *Note: Due to how brc-20 works, you’ll need to inscribe a TRANSFER before listing. If prompted, simply click **Inscribe TRANSFER** as directed on the interface and wait for the inscription to complete before listing.*

***

### How to Update or Unlist a Sell Order

Go to **My Orders** from the top navigation.

1. Find the order you want to update or remove.
2. Click **Update** to change the price, or **Unlist** to cancel the listing.

<figure><img src="/files/t1asZQtkK2hbWbsbvRhe" alt=""><figcaption></figcaption></figure>

***

### How to Trade on UniSat App

<figure><img src="/files/EB5pJANnOF0eRS3dDwaQ" alt="" width="375"><figcaption></figcaption></figure>

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# UniSat Marketplace Fee Rates

|    UniSat Marketplaces   | ≥ 500 UniSat Points | ＜ 500 |
| :----------------------: | :-----------------: | :---: |
|           Names          |         0 %         | 0.5 % |
| brc-20 (Bitcoin Mainnet) |         0 %         | 0.5 % |
|           Runes          |         0 %         | 0.5 % |

Service fees for the brc-20 market on Fractal is **0**&#x20;

***

|   UniSat Marketplaces  | ≥ 2000 Points | 1500 ≤ X ＜ 2000 Points | < 1500 Points |
| :--------------------: | :-----------: | :--------------------: | :-----------: |
|     NFT Collections    |      0 %      |          0.3 %         |     0.5 %     |
| Pre-brc2.0 Collections |      0 %      |          0.3 %         |     0.5 %     |

* UniSat OG pass holders enjoy 0.3% fee on UniSat NFT Collections & Pre-brc2.0 Collections Marketplaces

***

<table><thead><tr><th align="center">UniSat Marketplace</th><th align="center"> Sell-side</th><th align="center" valign="top">Buy-side</th></tr></thead><tbody><tr><td align="center">Alkanes</td><td align="center">0 %</td><td align="center" valign="top">1.2 %</td></tr></tbody></table>

* OG Pass holders enjoy a 20% discount across all UniSat Marketplaces on the Bitcoin mainnet.&#x20;
* No service fee for orders under 500,000 sats on UniSat's brc20/Runes/Collections/Names Marketplace (Bitcoin mainnet).
* No service fee for orders under 250,000 sats on Alkanes Marketplace.
* No service fee for orders under 2 FB on UniSat's Fracral Marketplace (Fractal mainnet)

👉 More details about UniSat Points: <https://docs.unisat.io/community/unisat-points>&#x20;

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# UniSat Drops

* **What is UniSat Drops**

Drops is our way to show our love for Art on Bitcoin and to say thank you to the community by awarding benefits based on Proof of Contribution.

Drops creatively uses UniSat Titles as eligibility to participate so creators can get maximum exposure to UniSat Title holders who represent the most active and significant contributors to the bitcoin community!

* **What is UniSat Title**

UniSat Titles are your personal collection of digital medals that celebrate your journey in the UniSat community!

Each title marks a moment in time when you’ve helped make Bitcoin grow and thrive. As you collect more Titles, you'll unlock exciting new ways to earn benefits from UniSat and our partners, starting with UniSat Drops. More titles will be released as our community continues to grow.

* **What is Drops Pool**

Each Drops Pool contains rewards provided by a Bitcoin project, and has a designated start and end time. Eligible community members can enter the raffle to win rewards for each Pool.

* **How are winners selected?**

Winners are determined by a completely randomized algorithm after the raffle period ends.&#x20;

The last 6 characters of the latest block hash on Bitcoin or Fractal network is used as a random seed to determine the winner addresses fairly. If the project is issued on Bitcoin, the latest block hash on Bitcoin one hour after the raffle ended will be used.

* **Which networks do UniSat Drops Support?**

UniSat Drops currently supports Bitcoin and Fractal networks.

* **How to participate in Drops.**

1. Visit <https://unisat.io/drops> or navigate to the Drops Icon on the top right hand.
2. Check eligibility: Connect your wallet to check eligibility to participate in pools
3. Join raffle: Click Join Raffle.
4. Raffle results: Raffle results will be announced after raffle ends. You will receive a pop-up notification if you are a winner. You can view all winner addresses under ‘Raffle Winners.

<figure><img src="/files/5hks69HylNQbqnz4pkSt" alt=""><figcaption></figcaption></figure>

* **How to submit your project for Drops**

You may reach out to us via [this form for collaboration](https://docs.google.com/forms/d/11jS_Z3BJ5S7bLemqf12O6PLmTl9ds-OwAAcJuWEz1lQ/edit).

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Fractal Bitcoin

Fractal Bitcoin is the only Bitcoin scaling solution that uses the Bitcoin Core code itself to recursively scale unlimited layers on top of the world’s most-secure and-held blockchain. UniSat, as one of the core contributors to Fractal Bitcoin, participates in the development and maintenance of its core infrastructure — supporting Fractal’s sustainable growth and long-term stability.

### Fractal Bitcoin - A truly native scaling solution

Fractal is the first instance of a virtualization methodology applied to Bitcoin in the world.\
\
Fractal gradually extends the Bitcoin blockchain into a scalable computing system without breaking consistency with the Bitcoin main chain.

* **Native**

  Recursive scaling of Bitcoin Core code itself — without any foreign constructs — ensures consistent and unlimited scaling, and native support of current infrastructure (e.g. wallets).
* **Fast**

  Block confirmation times are 30 seconds or less, with 20x increase in capacity per layer.
* **Dynamic Scaling**

  On-chain interactions can scale up and down as demand changes; it acts as a dynamic “blockspace load balancer” and reduces congestion on any specific layer. This enables internet-scale applications on the Bitcoin blockchain, as has never been done before.
* **Consistent**

  Due to each layer’s self-replicating consistency with the main chain, on-chain consensus is preserved. Any layer’s transactions/hashes can be traced back to the source on the Bitcoin chain, without the risks of forks or shards involved.
* **Easy**

  Additionally, due to this consistency across layers, assets can be directly transferred from layer to another without the need for additional relays.

Learn more: <https://fractalbitcoin.io/fractal-primer>&#x20;

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.

{% content-ref url="/pages/OWUPtOAroNZppaQJI0Kf" %}
[InSwap on Fractal](/fractal-bitcoin/inswap-on-fractal)
{% endcontent-ref %}

{% content-ref url="/pages/lWOOxpjtjpK3gAkBOSAP" %}
[FB Farming](/fractal-bitcoin/fb-farming)
{% endcontent-ref %}


# FB Farming

UniSat introduces **FB Farming**, a revolutionary native ecosystem incentive program on Fractal Bitcoin that's fully open-sourced and secured by Taproot script.

This feature rewards long-term FB holders while driving sustainable ecosystem growth, with rewards provided by the UniSat team, and bonus rewards **1,000,000 FB** from the Fractal Treasury.

\
**FB Farming goes live September 29th** with Farming Pool 1, capped at 1 million FB capacity.

Participants can stake for different periods to receive corresponding incentives. These incentives can be further enhanced through the use of Gems. Actual rewards are subject to the activity settlement rules and do not constitute any guarantee or promise.

* Explore FB Farming  <https://fractal.unisat.io/farming>

### **✨ What Makes FB Farming Special**

FB Farming stands out with unmatched **flexibility and user control**:

* 🔓 **No On-Chain Time Lock** - Unstake whenever
* 📊 **Partial Unstaking** - Withdraw what you need, keep the rest active
* ⚡ **Zero Freeze Period** - Immediate access to your funds
* 📈 **Real-Time Calculations** - Live APY and rewards tracking.

### 🔧 How FB Farming Works

#### **💰 Rewards System**

* **Tier-Based APY**: Unlock higher APY tiers the longer you stake.

<figure><img src="/files/eurVY59HehSQRgErdTQL" alt="" width="563"><figcaption></figcaption></figure>

* **Gem Boosters**: Amplify rewards up to 46.8% APY with strategic Gem usage

<figure><img src="/files/DTtxT02XNydLBH3GyHFf" alt=""><figcaption></figcaption></figure>

* Estimate your rewards using our rewards calculator > <https://fractal.unisat.io/farming>

<figure><img src="/files/XYh6MHMc5uVi2WTZLPe8" alt=""><figcaption></figcaption></figure>

####

#### 🌱 **Simple Farming Process**

1. **Select** your farming amount and choose Gems
2. **Verify** - System checks address balance and pool capacity
3. **Sign** transaction to begin farming
4. **Claim** - Start accumulating rewards immediately

<figure><img src="/files/ZsdjQQfudsgGl4FDZgiu" alt=""><figcaption></figcaption></figure>

####

#### 📤 **Flexible Unstaking**

1. **Choose** unstaking amount (full or partial)
2. **Calculate** - System computes your obtained rewards
3. **Sign** transaction to confirm
4. **Receive** - Get your principal + rewards instantly

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# FB Farming: Step-by-Step Guide

Figures shown here are for reference only. Actual rewards may differ based on staking duration, Gem usage, and other conditions. Please always refer to the Farming page for the most accurate details.

### How to Participate in FB Famring&#x20;

1. **Visit the Farming Page**

Go to: <https://fractal.unisat.io/farming> and connect your wallet.

<figure><img src="/files/cwwW3SYbXQ9qwpvjY7MN" alt=""><figcaption></figcaption></figure>

<br>

2. **Use Rewards Calculator**

Understand your returns clearly using the built-in calculator:

* Input the amount of FB you want to farm
* Choose your staking duration
* If you claimed Gems during the Anniversary Carnival, add Gems for exra bonus APY
* View your estimated APY and FB rewards

<figure><img src="/files/G7bm2UCIZxRArDsf80yi" alt="" width="563"><figcaption></figcaption></figure>

<br>

3. **Start Farming**

* In the Pool #1 or Pool #2 section, click on **Stake** next to Pool 1

<figure><img src="/files/fYwAzgEyNgkwUY9K2JrO" alt=""><figcaption></figcaption></figure>

* Enter the amount of FB you want to stake
* Add up to **2 Gems** at same time to boost your returns (2 Gems must have different durations)
* Click **Confirm Stake**

<figure><img src="/files/xdxBleLe96VPnY9pnlPM" alt="" width="563"><figcaption></figcaption></figure>

<br>

4. **Track and Manage Your Stakes**

Go to **My Staking** to:

* Monitor your rewards
* Add Gems under the **Using Gems** section
* Unstake partially or fully at any time

<figure><img src="/files/Dtp9FglbKgnaxTtOv8rh" alt="" width="466"><figcaption></figcaption></figure>

### 📌 Tips:&#x20;

* **Gems:**
  * You can stack **up to 2 Gems at a time** (as long as their bonus APY differs).
  * When a Gem expires, you can add another one. Example: If you use a 30-Day Gem + 7-Day Gem at a time, when the first 7-Day Gem expires, you can add another one.
  * Ensure your staking duration is **equal or longer** than the Gem's duration for it to take effect
  * The Gem bonus rewards are calculated starting from the Gem’s effective date.
  * Farming rewards are calculated starting from the confirmation time.
* **Staking Limits:**
  * Minimum: 1 FB per stake
  * Maximum: 10,000 FB per pool per address

***

### 🔓 How to Unstake

1. Go to **My Staking** and find the position you want to unstake
2. Click **Unstake**

<figure><img src="/files/PVV1eCiAr9L6pVudb1CW" alt="" width="313"><figcaption></figcaption></figure>

3. Please make sure you have read the on-page explanation of Gem early-unstake reward calculations. After confirming that you fully understand the content, check the risk alert box and click **Continue to Unstake**.

<figure><img src="/files/4WADHNyUa4vG8XTtNduu" alt="" width="563"><figcaption></figcaption></figure>

4. Confirm Enter the amount you want to unstake&#x20;
5. Confirm the **receiving address** (default: connected wallet)
6. Click **Confirm Unstake**

<figure><img src="/files/X08YgCLagtVsIH7UQZAM" alt="" width="563"><figcaption></figcaption></figure>

#### 📍 Important Notes

#### You may unstake at any time. However, please note the implications of early unstaking.

* **Base APY (1.2%)** is always earned based on time staked
* **Tier Bonuses** and **Gem Bonuses** are **only earned if the full stake duration is completed**

**Example:**

* You choose to stake for 7 days but unstake on Day 6
  * ✅ You receive a prorated 1.2% APY based on 6 days
  * ❌ You forfeit +1.5% Tier Bonus and +25% Gem Bonus

***

### 🧾 Track Your Activity

You can find all your staking-related actions and history under **My Activity**.

<figure><img src="/files/6CzA9QbvYuDqlDLDUUfi" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# FB Farming FAQ

#### Q: How FB Farming works:

• FB farming has launched on <https://fractal.unisat.io/farming>&#x20;

• Any user can stake FB to earn standard APY (1.2%–9.8%), the longer you stake, the higher your APY!

• You can use Gems to boost your APY. Stack up to 2 Gems for a maximum bonus APY of **+37%.**&#x20;

• You may unstake at any time, staking and bonus rewards calculated based on time staked.

• Each address can stake up to **10,000 FB** per pool.

<br>

#### **Q: How can I participate in the** Farming **Event?**

**• 1,000,000 FB** in farming bonus for the Fractal‘s Anniversary Carnival, fully funded by the Fractal Treasury.

• During the event period (**Sep 12 to Sep 26, 08:00 UTC**), users can claim **Gems** daily at: <https://fractal.unisat.io/farming/events>&#x20;

• When FB Farming goes live, you can use claimed Gems to enhance your farming rewards <https://fractal.unisat.io/farming> <br>

#### **Q: How are FB f**arming **rewards structured?**

Refer to: <https://fractal.unisat.io/farming>&#x20;

**🔸Base APY**: All farming  periods start with a base APY of **1.2%**.

**🔸Farming Tier Bonuses**: Up to **9.8%** depending on duration and amount staked.

<figure><img src="/files/EiRucxH9J5KdyQhMyCIl" alt="" width="375"><figcaption></figcaption></figure>

**🔸Gem Bonuses**: Up to **+37%** APY.

<figure><img src="/files/cQ4dazXeozGpccWchqNr" alt="" width="367"><figcaption></figcaption></figure>

#### Q: What is Gems?

Maximum possible APY: **46.8%** (9.8% standard APY+ Gem bonus APY)

1,000,000 FB in bonus rewards will be distributed through Gems during the Carnival.&#x20;

Gems claim period: Sep 12 - Sep 26.&#x20;

5 types of Gems are available:

* 7-Day Gem: +25% APY
* 30-Day Gem: +12% APY
* 90-Day Gem: +7.5% APY
* 180-Day Gem: +4.5% APY
* 360-Day Gem: +3% APY

<figure><img src="/files/grHQzAVjKcRr2al09yFJ" alt="" width="563"><figcaption></figcaption></figure>

#### **Q: How do I use Gems to boost my FB farming?**

* You can stack **up to 2 Gems at a time** (as long as their bonus APY differs). You can stack more Gems after the first expires.
* Example: For a 30-day stake, you can use one 30-Day Gem + one 7-Day Gem. When the 7-Day Gem expires, you can add another.

#### **Q: Who is eligible to claim Gems?**

* All users must hold **≥100 FB** in their on-chain wallet to claim Gems (balances on InSwap or exchanges are not counted).
* Regular users can claim **1 Gem** per day.
* Whitelisted users can claim **3 Gems** per day.

#### **Q: Can I unstake early? What happens to my rewards?**

* Yes, you may unstake at any time.
* **Base APY (1.2%)** is always earned proportionally based on actual staking time.
* However, **Stacking Tier Bonuses** and **Gem Bonuses** are only earned if you complete the full staking duration.

Example:

* You choose a 7-day stake, but unstake on Day 6:
  * You still receive a prorated 1.2% APY based on 6 days.
  * You will **not** receive the +1.5% Tier Bonus or +25% from a 7-Day Gem.

#### **Q: How do I know if I’m a Whitelisted User when claiming Gems?**

Simplest way to check: If you can claim 3 Gems daily, you are whitelisted. Whitelisted addresses can claim **2 extra Gems** daily per day (3 in total). You qualify if:

💎 Long-term holders that are still holding

• The address first received FB on or before **Jun 9, 2025, and** still holds 500 FB or more at snapshot time.

• The snapshot covers FB balance held on-chain in your wallet, in InSwap, and in Fractal Vote.

💎 Early Inscribers on Fractal

• Minted 4000 or more inscriptions within one month of Fractal mainnet launch

💎 InSwap OGs

• Wrapped at least 50 FB on InSwap on or before Nov 11, 2024, 06:50:00 UTC

💎 Selected addresses that participated in Fractal Voting

• Staked at least 20 FB to participate in Fractal VotingSnapshot was taken on Sep 9, 2025, 02:00 UTC.

🔗 Full eligibility rules: [https://events.fractalbitcoin.io](https://events.fractalbitcoin.io/)

<br>

#### Q: Why do shorter-duration Gems offer higher yields?

There are a total of 5 types of Gems, and each day 4 of them are displayed on the event page. The higher the APY of a Gem, the rarer it is—and it’s first come, first served.


# InSwap on Fractal

InSwap is the first open-source AMM DEX for Bitcoin-native assets, built natively on Bitcoin and Fractal.&#x20;

It provides a seamless trading experience while maintaining the security standards of Bitcoin assets, enabling users to swap, provide liquidity, and earn native protocol assets across both networks without intermediaries

At the core of the service is a Bitcoin-native assets module that scales efficiently through rollups. Transactions are aggregated and batched using a novel sequencer which results in lower transaction costs and higher throughput capacity, enabling high-volume transactions directly on Bitcoin.

This document defines a Swap Module for Bitcoin-native assets.

\
Under the brc-20 Module, we introduce a mechanism that enables users to swap their balances within the module in a seamless and secure way.

All swap-related operations can be seen as a list, updated only by the module’s sequencer, and each event includes the signature of the initiating user.&#x20;

This ensures maximum security and order throughout the swap process.This proposal defines two operations within the brc-20 module: commit and approve.<br>

### Swap Mechanism

Each module instance can include multiple swap pairs, and any user can publicly create a swap pair.

Each module operates independently, with the module’s sequencer responsible for aggregating (committing) all user activities internally and submitting them to the chain.

To prevent users from disrupting aggregation operations with unwrapping, balances in the module are split into two categories: fund balance and trade balance. wrapping into the module are credited to the trade balance, and only the trade balance can participate in aggregation operations.

Only the fund balance can be unwrapped. Users can use the approve operation to transfer the fund balance to the trade balance, or use the decreaseApproval function to convert the trade balance back into the fund balance. The approve inscription can be used to build a brc-20 market within the module.

When the sequencer sends the aggregated events inscription (commit), users will be charged an aggregation fee based on the number of events. The ticker used to pay the commit fee must be specified in the module initialization parameters, and only the fee ticker from the trade balance can be used to pay the commit fee.<br>

#### Creating a New Swap Module Instance

In the custom parameter section, the following must be set:

1. Swap transaction fee rate
2. Liquidity operation fee rate
3. The ticker used to pay sequencer fees during aggregation

```JSON
{
  "p": "brc20-module",
  "op": "deploy",
  "name": "swap",
  "source": "d2a30f6131324e06b1366876c8c089d7ad2a9c2b0ea971c5b0dc6198615bda2ei0", // Refers to the inscription defining the module’s function
  "init": { // Any parameters can be set
    "swap_fee_rate": "0.003", // Swap fee rate, deposited into the pool for liquidity providers after collection
    "gas_tick": "sats", // Token used to pay gas fees during aggregation (must be a BRC-20 token)
    "gas_to": "bc1q...", // Address receiving the gas fee (must be specified)
    "fee_to": "bc1q...", // Address receiving the liquidity provider fee (must be specified)
    "sequencer": "bc1q..." // Address of the sequencer (must be specified)
  }
}
```

<br>

#### Unwrapping brc-20 Ticker from the Module to a Target Address (Unwrap)

* The user must first inscribe a unwrapping inscription, then transfer it to the target address for it to take effect. The inscription can only be used once.
* The brc-20 tickers under the user’s account in the module will be unwrapping to the target address.
* The inscription must include the module’s ID. If the module doesn’t exist, the unwrapping is invalid.
* The module must be a white module for unwrapping to be supported. The unwrapping inscription does not lock the unwrapping balance when minted, but requires sufficient balance at the time of sending the unwrapping transaction. Unwrapping inscriptions sent back to the swap module will result in the destruction of the balance.

```JSON
{
  "p": "brc20-module",
  "op": "withdraw",
  "tick": "ordi",
  "amt": "10", // Amount of BRC-20 token to withdraw
  "module": "8082283e8f0edfcce4901ff2d271b2eec4a4735b371bb6af53d64770651d8c14i0" // Module from which to withdraw
}
```

#### Approving brc-20 Ticker Balances in the Module to a Target Address (Approve)

* The user must first inscribe an Approve inscription, then transfer it to the target address for it to take effect. The inscription can only be used once.
* The balance will be assigned to the authorized balance of the specified address in the module.
* The inscription must include the module’s ID. If the module doesn’t exist, the approve inscription is invalid.
* Only approved balances can be used in the commit event function. For safety, sequencers may reject user requests for approved balances that have fewer than 60 confirmations.

```JSON
{
  "p": "brc20-swap",
  "op": "approve",
  "tick": "ordi",
  "amt": "10", // Amount of BRC-20 token to approve
  "module": "8082283e8f0edfcce4901ff2d271b2eec4a4735b371bb6af53d64770651d8c14i0" // Approve to the swap module
}
```

#### Event Aggregation in Swap

All events that occur in the swap pool are described by functions. To ensure the orderliness of events, these functions are not inscribed individually but are placed in the module's aggregated inscription (commit).The basic rules are as follows:

* During aggregation, each operation must be signed by the user’s address for all previous content (serialization including module and parent).
* The aggregated inscription must be inscribed by the module sequencer and transferred to the module ID address to take effect. The sequencer is the address specified in the module inscription. The sequencer address can be updated using the update inscription.
* For each function aggregated by the module sequencer, a fixed aggregation fee must be charged to the user. The user must wrap and approve sufficient fee assets in the module, or else the sequencer must reject the user’s event request. If the user has insufficient fees, the commit inscription will be invalid.

To avoid blocking when sending large numbers of commit inscriptions due to the mempool limit of 100KB and the 25-child transaction limit, commit inscriptions can initially be minted to the sequencer using unrelated UTXOs, regardless of the order. The sequencer can then periodically transfer commits in batches to the module address, ensuring that all previous logic is chained together and valid. This process significantly reduces the number of commit inscriptions that need to be transferred, minimizing the impact of the 25-child limit on the commit process.

**Aggregated Inscription (Commit)**

```JSON
{
  "p":"brc20-swap",
  "op": "commit",
  "module": "8082283e8f0edfcce4901ff2d271b2eec4a4735b371bb6af53d64770651d8c14i0",  // Module ID
  "parent": "xxxxi0", // Which commit inscription state to follow; leave blank if this is the first commit inscription
  "gas_price": "100", // Fee charged per function
  "data": [
    { 
      "addr": "bc1q...", // Can be any address        
      "func": "deployPool",
      "params": [
        "ordi", // Token0
        "pepe"  // Token1
      ],
      "ts": 12345,
      
      "sig": "xxx"
    },
    { 
      "addr": "bc1q...", 
      "func": "addLiq",
      "params": [
        "ordi/pepe",  // Swap pool name
        "100",  // Amount of Token0 the user is injecting
        "200",  // Amount of Token1 the user is injecting
        
        "100",  // Expected LP tokens to receive
        "0.005"  // Slippage
      ],
      "ts": 12345,
      
      "sig": "xxxx"
    },
    { 
      "addr": "bc1q...",         
      "func": "swap",
      "params": [
        "ordi/pepe",   // Swap pool name  
        "ordi",        // Token the user is swapping
        "200",         // Amount of token the user is swapping
        "exactIn",     // Exact input or output (exactIn/exactOut)
        
        "12.324",      // Expected amount of the other token (exactIn) or provided amount (exactOut)
        "0.005"        // Slippage
      ],
      "ts": 12345,
      
      "sig": "xxxx"
    }
  ]
}
```

#### Aggregated Inscription Structure Validity Details

1. Inscription field keys must be lowercase characters, and except for tick, values are case-sensitive.
2. Duplicate fields are allowed, and extra fields are allowed.

#### User Signature Authorization

Each function in the aggregated inscription must include the user’s address and signature to authorize the sequencer to operate. Initially, only taproot address formats are supported, with other formats such as p2wpkh, p2wsh, p2sh, p2pkh, and hex-encoded arbitrary locking scripts to be supported later.The signature follows the BIP-322 format to sign the following content:

```JSON
id: idxxxx
addr: bc1q...
func: addLiq
params: ordi/pepe 100 200 12.324
ts: 12345
```

Each function has a function hashid, calculated as the SHA-256 hash of the serialized message (msg) with the following content:

```JSON
module: 8082283e8f0edfcce4901ff2d271b2eec4a4735b371bb6af53d64770651d8c14i0
parent: idxxxxi0
gas_price: 100
prevs: id1 id2 id3
addr: bc1q...
func: addLiq
params: ordi pepe 100 200 12.324
ts: 12345
```

Note: List the data for each field in the specified order, with each field ending in a newline character (`\n`).&#x20;

Parameters in the params field are separated by spaces. If a field value is empty, omit that line in the serialized data.

The function ID is a fully computable intermediate result and it may be omitted from subsequent new inscriptions after testing is completed, meaning it does not need to be recorded again. However, it cannot be removed from inscriptions that have already been issued. The prevs field contains all function IDs submitted by the same user in the current inscription, sorted in the order in which the sequencer accepts them.

In the entire commit inscription, only the last signature for each address needs to be on-chain, as the intermediate function data has been overwritten by the last signature.<br>

#### Swap Functions Available

**DeployPool**

* Deploy a liquidity swap pool, specifying ticker0 and ticker1 as the two tickers participating in the swap pool. ticker0 and ticker1 must be different.
* Only one liquidity pool is allowed to be deployed for the same pair of tickers within a module. There is no order relationship between the two tickers in the liquidity pool.
* The liquidity ticker name will be "ticker0/ticker1". It is not possible to use liquidity tickers to deploy another liquidity pool.
* Liquidity assets are always confined within the module they were deployed in and cannot be withdrawn. Each pool tracks the distribution of liquidity assets among holders.
* Anyone can deploy a liquidity pool, but the deployer has no special permissions.

```JSON
{
  "func": "deployPool",
  "params": [
    "ordi", // Token0
    "pepe"  // Token1
  ],
  "addr": "bc1q...",  // Can be any address  
  "ts": 12345,
  "sig": "xxx"
}
```

**AddLiquidity**

Users add liquidity, operating only on approved module balances.

```JSON
{
  "func": "addLiq",
  "params": [
    "ordi",
    "pepe",      // Swap pool name (e.g., pepe/ordi); subsequent parameters correspond to this token order
    "100",       // Amount of ordi to inject
    "200",       // Amount of pepe to inject
    
    "100",       // Expected LP tokens to receive
    "0.005"      // Slippage
  ],
  "addr": "bc1q...",
  "ts": 12345,        
  "sig": "xxx"
}
```

**RemoveLiquidity**

Removes liquidity, with the tickers received belonging to the approved balance.

```JSON
{
  "func": "removeLiq",
  "params": [
    "ordi",
    "pepe",      // Swap pool name (e.g., pepe/ordi); subsequent parameters correspond to this token order
    "100",       // Amount of LP tokens to remove
    
    "12.324",    // Expected amount of ordi to receive
    "321.3",     // Expected amount of pepe to receive
    "0.005"      // Slippage
  ],
  "addr": "bc1q...",   
  "ts": 12345,
  "sig": "xxxx"
}
```

**Swap**

Executes a swap transaction, using only approved balances, with the received tickers belonging to the approved balance.

```JSON
{
  "func": "swap",
  "params": [
    "ordi",
    "pepe",         // Swap pool name (ordi/pepe)
    "ordi",         // Token the user is swapping
    "200",          // Amount of token the user is swapping
    "exactIn",      // Exact input or output (exactIn/exactOut)
    
    "12.324",       // Expected amount to receive (exactIn) or provide (exactOut)
    "0.005"         // Slippage
  ],
  "addr": "bc1q...",   
  "ts": 12345,
  "sig": "xxxx"
}
```

**DecreaseApproval**

Reduces the authorized balance of a ticker, increasing the withdrawable balance.

```JSON
{
  "func": "decreaseApproval",
  "params": [
    "ordi",   // Token to adjust
    "10"      // Amount to adjust by
  ],
  "addr": "bc1q...", 
  "ts": 12345,   
  "sig": "xxx"
}
```

**Send**

Sends balances of various tickers within the module. Only authorized balances can be sent. The recipient’s balance will also be authorized. Liquidity assets cannot be sent.

```JSON
{
  "func": "send",
  "params": [
    "bc1q...",     // Recipient address
    "ordi",        // Token being sent
    "10"           // Amount of token being sent
  ],
  "addr": "bc1q...", 
  "ts": 12345,   
  "sig": "xxx"
}
```

**SendLp**

Sends liquidity tickers within the module.

```JSON
{
  "func": "send",
  "params": [
    "bc1q...",     // Recipient address
    "ordi",        // Token0 of the liquidity pair
    "pepe",        // Token1 of the liquidity pair
    "10"           // Amount of tokens being sent
  ],
  "addr": "bc1q...", 
  "ts": 12345,   
  "sig": "xxx"
}
```

**Function declaration**

```JSON
class SwapContract{
    function deployPool(params:{ token0: string; token1: string }){
        // todo
    }
    
    function addLiq(params: {
        token0: string;
        token1: string;
        amount0: string;
        amount1: string;
        address: string;
    }){
        // todo
    }
    
    function removeLiq(params:{liqAmount:string}){
        // todo
    }
    
    function swap(params:{
        token0: string;
        token1: string;
        token: string;
        amount: string;
        address: string;
    }){
        // todo
    }
    
    function withdraw(params:{token:string; amount:string}){
        // todo
    }
    
    function send(params:{address:string; token:string; amount:string}){
        // todo
    }    
    
    function deployStake(params:{type:string; tokenLp:string; tokenEarn:string; erate:string; dmax:string}){
        // todo
    }
    
    function stake(params:{tokenLp:string; token:string; amount:string}){
        // todo
    }
    
    function unstake(params:{tokenLp:string; token:string; amount:string}){
        // todo
    }        
}
```

#### Swap Fees

Every swap incurs a 1.5% transaction fee. 1/6 of this fee goes to the platform, while the rest is distributed among liquidity providers (LPs).

\
Note: For example, if a user swaps 1000 ORDI for SATS, 1000 ORDI will be wrapped into the liquidity pool. A fee of 15 ORDI is deducted, so the actual amount of SATS the user receives is calculated based on 985 ORDI.<br>

#### Network Fees

The sequencer is responsible for gathering each aggregation function and minting the aggregated inscription on-chain, incurring network fees for miners to package the transaction. We calculate the network fee charged to users based on the current network fee rate and the user’s aggregation operations:

The formula: $$fee = gasPrice$$, where:

* **gasPrice**: Network fee charged per function, depending on two factors: (a) the BTC network rate and (b)the market price of the ticker being charged:

$$gasPrice = a / b$$

* **fee**: Measured in the ticker being charged. fee: Measured in the Tick being charged.

**Optimization of Function Bytes in Commit Inscription**

1. Remove redundant function ID (saves 70 bytes)
2. Only keep the last signature for the same address (saves 85 bytes)
3. Number the address in the commit inscription and use the reference number in subsequent functions (saves 40 bytes)
4. Reduce unnecessary precision in function parameter values, especially those far beyond slippage impact (saves 10 bytes)

The average size of a standard operation is 330 bytes. The theoretical maximum bytes that can be saved is 200 bytes.<br>

### Calculation Model

Using the existing Uniswap v2 model, we can define four operations for the pool.Given a swap pool with two tickers, ticker A and ticker B, the following notation is used:

* A: The balance of ticker A in the pool.
* B: The balance of ticker B in the pool.
* C: The balance of liquidity tickers in the pool.

The constant product formula is:$$A \cdot B = k$$, $$C = \sqrt{A \cdot B} = \sqrt{k}$$

Four operations are as follows:

1. **Swap ticker A for ticker B**:  $$b = \frac{a \cdot B}{a + A}$$
2. **Swap ticker B for ticker A**:  $$a= \frac{b \cdot A}{b + B}$$
3. **Add liquidity by adding ticker A and ticker B to receive liquidity ticker C:**

Use amount **a** and **b** to swap amount **c**, taking the smaller of the two: $$c = \frac{a}{A}\cdot C$$, $$c = \frac{b}{B} \cdot C$$

4. **Remove liquidity by consuming liquidity assets to receive ticker A and ticker B:**

Use amount **c** to swap amounts **a** and **b**: $$a= \frac{c}{C} \cdot A$$ , $$b = \frac{c}{C} \cdot B$$

\
The fee is deducted from the user’s tickers upfront.

During swap calculations, high-precision libraries are used to avoid precision loss during addition and multiplication. The final division will maintain the correct decimal precision for the ticker.

The user’s received amount will be the result of accurate calculations with truncated decimals. Manipulating precision for profit is not possible.

If the result is zero after truncation, the operation is not allowed, as the amount is too low.<br>

### Slippage

The slippage mechanism is similar to Uniswap, allowing users to tolerate a margin of error in the expected result, considering the following:

1. Reduced Failure Rate: Front-running swap operations can fail due to concurrency. If a user’s signature takes 1 second and another user confirms their signature during that time, the transaction may fail. The longer the signature process, the higher the likelihood of failure.
2. Lower Backend Pressure: Front-running swaps require frequent updates to swap data, increasing the backend query load.
3. Uniswap-Consistent Model: Using the same model as Uniswap lowers the learning curve for users and increases adoption.

### Summary of Swap Formulas

**Slippage:**

* exactIn: $$1/(1+slippage) \cdot quoteAmount$$
* exactOut: $$(1+slippage) \cdot quoteAmount$$

**Swap:**

* amountIn: Input ticker amount
* amountOut: Output ticker amount
* reserveIn: Input ticker reserves in the pool
* reserveOut: Output ticker reserves in the pool
* Assume a 1.5% fee

**exactIn**

* $$amountInWithFee = amountIn \cdot 997$$
* $$amountOut = \frac{amountInWithFee \cdot reserveOut }{reverseIn \cdot 1000 + amountInWithFee}$$

**exactOut**

* $$amountIn = \frac{reserveIn \cdot amountOut \cdot 1000 }{(reserveOut - amountOut) \cdot 997}  + 1$$

**AddLiquidity:**

* amount0: Amount of asset0 added
* amount1: Amount of asset1 added
* poolLp: LP asset supply in the pool
* reserve0: Asset0 reserves in the pool
* reserve1: Asset1 reserves in the pool
* For the initial liquidity addition:  $$lp = \sqrt{amount0 \cdot amount1} - 1000$$
* For subsequent liquidity additions: $$lp = \min(\frac{amount0 \cdot poolLp}{reserve0}, \frac{amount1 \cdot poolLp}{reserve1} )$$

**RemoveLiquidity:**

* Amount of asset0 received: $$amount0 = \frac{lp \cdot reserve0}{poolLp}$$
* Amount of asset1 received: $$amount1 = \frac{lp \cdot reserve1}{poolLp}$$

**Platform Fee Calculation**

* If the platform takes 1/6 of the fees, we need to calculate how much LP should be minted by the platform to capture exactly 1/6 of the incremental wealth.
* Minting Timing: Before each liquidity addition/removal, the previously accumulated LP to be minted should be settled.
* Assuming the platform collects 1/6 of the fees, it needs to calculate how much additional LP should be minted so that the platform's share is exactly 1/6 of the increment.
* Timing of execution: Before each liquidity addition or removal, settle the cumulative LP amount that should be minted.
* poolLp: LP asset supply in the pool
* reserve0: Asset0 reserves in the pool
* reserve1: Asset1 reserves in the pool
* kLast: The k value calculated after the last liquidity event
* The square root of the current assets in the pool: $$rootK = \sqrt{reserve0 \cdot reserve1}$$
* The square root of the last liquidity event: $$rootKLast = \sqrt{kLast}$$
* Platform lp amount: $$lp = \frac{poolLp \cdot (rootK - rootKLast)}{rootK \cdot 5 + rootKLast }$$

**The derivation process is shown below:**

<figure><img src="/files/EhTIzzQF3mRMpqypavxC" alt=""><figcaption></figcaption></figure>

As shown above, to achieve 1/6 of the new wealth, the minted LP should satisfy the following equation: \
$$\frac{lp}{lpSupply} = \frac{∆/6}{(∆5/6) + rootKLast }$$, where  *∆ = rootK - rootKLast*

#### FAQ

**Can anyone deploy a swap module?**

* Yes, anyone can deploy a swap module, but managing it requires some complexity:
  * You need to provide an API for users to query the current pool and submit new transactions.
  * You must regularly mint inscriptions to submit transactions on-chain.
* UniSat will parse all swap transactions on-chain.
* app-swap.unisat.io is a product of UniSat, where UniSat has deployed a series of trading pair pools for users to participate in swaps.

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Beginner's Guide

Welcome to InSwap, the first open-source AMM DEX for Bitcoin-native assets, built natively on Bitcoin and Fractal. The platform provides a seamless trading experience while maintaining the security standards of Bitcoin assets, enabling users to swap, provide liquidity, and earn native protocol assets across both networks without intermediaries. This guide will focus on InSwap’s interface and how to use it.&#x20;

The InSwap service functions as a brc-20 module and scales efficiently through rollups, enabling high-volume transactions directly on Bitcoin.

**Try it here**: <https://inswap.net/>&#x20;

***

Before you begin, please make sure you are familiar with the following information:

* **Supported Addresses**: InSwap supports **Native Segwit (P2WPKH)** and **Taproot (P2TR)** addresses. Ensure your wallet is using one of these address types.
* **Fees:**&#x20;
  * Swap Fee: A 1.5% fee is applied to each swap - 1/6 of the fee supports the platform, while the rest is distributed to liquidity providers (LPs).&#x20;
  * Rollup Fee: To reduce transaction costs, InSwap implements a rollup mechanism, bundling transactions into a single submission to the Bitcoin or Fractal network, ensuring lower fees for users.

***

## Navigating the InSwap Interface - Visit [here](https://inswap.net/)

<figure><img src="/files/Tj0WRqKoKpiO6d5XF6cl" alt=""><figcaption></figcaption></figure>

**Section 1: InSwap Navigation Bar - Key Sections**

* **Swap** – The trading interface where users execute swaps.&#x20;
* **Trading Pairs** – The liquidity provider (LP) interface, where LPs can add/remove liquidity and check their liquidity positions.&#x20;
* **LPfest** – Special event page for rewards programs (e.g., [LPfest Epoch 3](https://x.com/unisat_wallet/status/1913146188809015337). Follow [@UniSatWallet](https://x.com/unisat_wallet) on X for event updates!&#x20;
* **Leaderboard** - Keep up with the hottest communities and trading pairs.&#x20;
* **Overview** – Displays past interactions and an overview of InSwap activity.

**Section 5: Key Sections for Trading**

* **Swap:** The main trading page where users can swap tickers.
* **Wrap:** The wrap page, where users wrap assets from Bitcoin or Fractal mainnet into InSwap before swapping.&#x20;
* **Unwrap:** The Unwrap page, where users move assets from InSwap back to Fractal or Bitcoin mainnet.

**Section 2: Popular Trading Pairs  -** Top trading pairs by 24H volume will be highlighted by default in this section.

**Section 3: K-Line for Trading Pairs -** View K-Line charts to track price movements of trading pairs.

**Section 4:  Pair Information -**  Get the full details on trading pairs here: Market Cap (Community pairs) / Volume (24h) & Volume (30d) / TVL / Pooled Balance

**Section 6: History** - Full swap history /LP holders list / Liquidity history / LP burn history

Now you're all set to explore InSwap!

***

### **Wrap assets to InSwap**

As mentioned earlier, you need to wrap assets into the InSwap module before swapping.&#x20;

Let's take the example of BTC, after connecting to your wallet, click "Wrap **"** tab, Select BTC or another asset from the dropdown list, then choose a transfer to wrap it.&#x20;

For brc20 tickers, if there is no transferable amount available, please click "**Inscribe TRANSFER**" to inscribe a transfer inscription first.&#x20;

Wrapping requires block confirmations. Please be patient during this process.

<figure><img src="/files/iDP8zti5s5CaDVLa6vTO" alt=""><figcaption></figcaption></figure>

***

### **Adding Liquidity to Earn Rewards**

*Every swap incurs a 1.5% transaction fee. 5/6 allocated to liquidity providers (LPs) rewards, 1/6 used to support platform maintenance.* By adding liquidity, you can earn rewards from every trade.

* Click the **"Trading Pairs"** button and search for the trading pair you want add liquidity.
* If the pair is available, click the **"Add"** button on the right to add liquidity.

<figure><img src="/files/imw7oGTdURw46s6D5HNs" alt="" width="563"><figcaption></figcaption></figure>

* Input the amount of liquidity you wish to contribute, then click the "**Supply**" button.&#x20;

<figure><img src="/files/COa8PPlB2gMlFbbrBilo" alt="" width="563"><figcaption></figcaption></figure>

* Confirm your transaction by clicking the "**Confirm Supply**" button and signing in your wallet.&#x20;

<figure><img src="/files/BZL8SZV8F2bPMRsjpB5P" alt="" width="375"><figcaption></figcaption></figure>

#### Viewing Your Liquidity & LP Earnings

You can check your liquidity positions and earnings in several ways:

1. Go to [**My Liquidity**](https://inswap.cc/swap/pools?tab=mine) directly.
2. From **Trading Pair** page, click **“My Liquidity.”**
3. Or click your **wallet icon (top right)** → **My Assets** → **Liquidity** to view your positions.

<figure><img src="/files/1LAabOZgmiSOiKvDTp4Q" alt="" width="563"><figcaption></figcaption></figure>

#### Managing Your Liquidity

To **add more liquidity**, click **“Add”** next to your existing position.To **remove liquidity**, click **“Remove.”**&#x59;our **LP earnings** will be automatically settled when you remove liquidity.

<figure><img src="/files/yN5nxWYoNcZWAfucpzCK" alt="" width="563"><figcaption></figcaption></figure>

**Tips: Creating a Liquidity Pool**

If you can’t find the trading pair you want, it means the liquidity pool doesn’t exist yet.

To create a new pool, click **"Create Trading Pair"**, select the brc-20 asset from the dropdown list, and then click **"Create"** to set up a new pool.

<figure><img src="/files/AxBbEaqR5OvmBf4CZTpI" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/iAXRAu6UQQ7FizUjiG5n" alt="" width="563"><figcaption></figcaption></figure>

***

### **Swapping Assets**

Click on the [**Swap** ](https://inswap.net/swap)button to begin the asset swapping process.

Choose the asset you want to pay with. Then input the amount you wish to pay.&#x20;

Review the swap details and click the **Swap** button to initiate the transaction.

<figure><img src="/files/gU1mUtF3X4duwjXHltIw" alt="" width="563"><figcaption></figcaption></figure>

Confirm the swap information, then click the "Swap" button. And then sign in your wallet.

<figure><img src="/files/IVjfQvwKSVg8teDeDgCy" alt="" width="334"><figcaption></figcaption></figure>

***

### **Unwrap Assets**

To unwrap assets from InSwap, simply go to the **"unwrap"** page and follow the instructions:

Click the "**Swap**" button, then click the "**unwrap**" tab. Click on the asset you want to unwrap, input the unwrap amount. Then click "unwrap" button.

<figure><img src="/files/ceWy01wtr8UpXyFDmBAA" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# LP Operations

### Transfer LP &#x20;

You can transfer your LP positions to another address within InSwap!&#x20;

Perfect for: Consolidating LPs, securing assets in a new wallet, gifting liquidity!

Before you send, please note:

* The recipient address will start earning LP rewards from the newly received LP
* The sender will lose any unclaimed pending LP earnings and future LP earnings tied to the transferred LP.

*Tips: Only Native Segwit or Taproot addresses are supported*

<figure><img src="/files/P28iApE3wbIibrUx3CiN" alt=""><figcaption></figcaption></figure>

***

### LP Lock

Why lock LP?

✅ Enjoy long-term LP earnings

✅ Build credibility with your token community

Before locking LP, please note:

• Locked LP continues to earn rewards as usual

• Both LP & rewards remain locked until expiry date

• Please remember to unlock manually via "My Liquidity" page upon expiry

<figure><img src="/files/n6TsniMFasSeZKleamHm" alt=""><figcaption></figcaption></figure>

***

### LP Burn

\
Why burn LP?

✅ Permanently lock liquidity in the pool for added stability

✅ Build credibility & trust within your community

\
How to Burn LP?

1️⃣ Go to <https://inswap.net/swap/pools>, and choose your trading pair

2️⃣ Click Burn LP

3️⃣ Enter the amount of LP to burn, read the important notes → confirm that you fully understand the outcome of burning your LP→ Sign the transaction

4️⃣ Once burned, your LP burn record will be visible in both the trading pool’s LP Burn History and LP Holders sections

Whether you're launching a new asset or supporting an existing one, Burn LP helps you show you're here for the long run. But please TAKE NOTE OF THE FOLLOWING.

\
📌 **Important:**

***⚠️ Once burned, the liquidity represented by the LP assets will be permanently locked in the pool.***

***⚠️ Burned LP and all underlying positions can never be withdrawn by you or anyone.***

***⚠️ Any pending earnings tied to the burned LP will be cleared, and the burned LP will not accumulate LP earnings.***

***⚠️ This action is irreversible.***

<figure><img src="/files/PgtWUbx3XxKWr3Azzj5w" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Wrap & Unwrap Assets

Please note that this guide is for reference only; we recommend conducting your own research as well.

***

You can simply use InSwap to wrap and unwrap assets, enabling asset bridging between Bitcoin and Fractal directly. No additional bridge tool is needed.

### InSwap Wrap/Unwrap Mechanism

We integrated Simple Bridge into InSwap to simplify the user experience. This is mainly reflected in the Wrap and Unwrap operations, where the two-step processes of bridge + wrap and unwrap + bridge are each integrated into a single step.

The purpose of this integration is to reduce the number of manual steps users need to take, shorten waiting time, and make the bridging process more natural within normal asset swap flows.

This integration does not change the core security model of Simple Bridge. Key Features of Simple Bridge:

* **Multisig with Anonymous Validators:** Simple Bridge secures transactions using a multi-signature system distributed across anonymous validator nodes. Each transaction is signed randomly by a subset of these nodes, increasing fault tolerance and making it harder for attackers to compromise the bridge.
* **End-to-End Encrypted Communication:** All transaction data is transmitted using strong end-to-end encryption. Even if the data is intercepted, it cannot be deciphered—ensuring users' funds and information remain secure at all times.
* **Distributed Service Architecture:** The service architecture of Simple Bridge is designed to be distributed, exposing only necessary nodes and minimizing potential security risks. This design makes the system more robust while improving overall operational efficiency.

***

#### **How to wrap assets to InSwap**  <a href="#wrap-assets-to-inswap" id="wrap-assets-to-inswap"></a>

Click on [https://inswap.net/](https://inswap.net/swap) and contect your wallet. &#x20;

Let's take the example of BTC, after connecting to your wallet, click "Wrap **"** tab, Select BTC or another asset from the dropdown list, then choose a transfer to wrap it.

For brc20 tickers, if there is no transferable amount available, please click "**Inscribe TRANSFER**" to inscribe a transfer inscription first.

Wrapping requires block confirmations. Please be patient during this process.

<figure><img src="/files/8i3NuAvqLXhNEAzr3OtF" alt=""><figcaption></figcaption></figure>

***

### How to unwrap your assets from InSwap?

If you have assets on InSwap, you can unwrap it directly. Click "Unwrap" menu, choose the asset you want to unwrap, input the amount then click "Unwrap" to continue.

* Visit [InSwap ](https://inswap.net/)and connect to your wallet address.
* Click on Swap menu, then click the "Unwrap" menu , select the ticker you want to unwrap.

<figure><img src="/files/VqsTuFcCzslYsohoSQJf" alt="" width="340"><figcaption></figcaption></figure>

* Input the amount, click the Unwrap button to continue.
* "Confirm" your unwrap and sign&#x20;
* When the transaction is confirmed, you may open UniSat wallet, click "Ordinals/brc-20" to check it.

<figure><img src="/files/mHccoIiVfY5U6jI8Nx21" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/kakTI9aoobEi48aZFBkq" alt="" width="563"><figcaption></figcaption></figure>

***

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# InSwap API Guide

InSwap Community Edition is now available on GitHub with the latest version of its full source code. Here’s a quick guide to using InSwap.

For full details, please refer to the InSwap API guide: <https://github.com/unisat-wallet/inswap-community-edition>

***

### How do I use InSwap API?

To use InSwap, follow these steps:

1. Clone the repository:

   ```
   git clone https://github.com/brc20-devs/brc20-swap-api.git
   ```
2. Install the project dependencies:

   ```
   yarn
   ```
3. Copy the `config.json.example` file and rename it to `config.json`:

   ```
   cp conf/config.json.example conf/config.json
   ```
4. Configure the OpenAPI API key by updating the `config.json` file with your API key. For example:

   ```
   "openApi": {
      "url": "https://open-api.unisat.io",
      "apiKey": "YOUR_API_KEY"
    },
   ```

   Replace `YOUR_API_KEY` with your actual API key. Note: If you don't have an API key, you can obtain one by signing up on the OpenAPI website: [https://developer.unisat.io](https://developer.unisat.io/)
5. Configure the MongoDB connection by updating the `config.json` file with your MongoDB connection details. For example:

   ```
   {
     "mongoUrl": "mongodb://127.0.0.1:27017/"
   }
   ```

   Make sure you have MongoDB installed and running on your machine.

   Note: If you don't have MongoDB installed, you can download it from the official MongoDB website: <https://www.mongodb.com/download-center/community>
6. Start the development server:

   ```
   yarn start-dev
   ```
7. Open your web browser and navigate to `http://localhost:3000/documentation/static/index.html` to access the application.

***

### How do I deploy a new InSwap module instance?

To build a new InSwap module instance, follow these steps:

1. Refer to the `script/deploy-on-testnet-example.ts` file for an example of how to deploy a new module and contract.
2. Once you have the new module and contract, update the corresponding configuration in the `config.json` file.

***

### How can I contribute to InSwap?

If you would like to contribute to this project, please follow these guidelines:

1. Fork the repository on GitHub.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them with descriptive messages.
4. Push your branch to your forked repository.
5. Submit a pull request to the main repository.

***

### Can I refer to any InSwap API demos?

Please check the demo here: <https://github.com/unisat-wallet/unisat-dev-examples/tree/master/brc20-swap-demo>


# InSwap Events

### LPfest

LPfest is an incentive program that provides additional rewards to LPs.&#x20;

Rewards are calculated based on amount of LPs locked distributed each block. The program is ongoing with 2-week epochs launching regularly.

👉View past events:  <https://inswap.net/swap/lp_rewards>&#x20;

### InSwap **LP Match**

UniSat introduces a brand new LP Match program to directly strengthen liquidity of community pools.

What this means:

• For every LP **locked** by the community during the event, InSwap will add 1 LP into the same pool, up to a cap! Users also receive bonus LP rewards by locking LP.

👉View past events: <https://inswap.net/swap/events>&#x20;

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# LPfest: Step-by-Step Guide

Please note that this guide is for reference only; we recommend conducting your own research as well.

### Step 1: Access InSwap Bonus LP Rewards Page

* Visit [ events page](https://inswap.net/swap/events) and click on InSwap Liquidity Boost #1
* Connect your UniSat Wallet or OKX Wallet to access LPfest.
* Note: We only support Native Segwit (P2WPKH) and Taproot (P2TR) addresses.

<figure><img src="/files/6VYNQXpGd8g1O2k071tv" alt=""><figcaption></figcaption></figure>

***

### Step 2: Wrap Assets into InSwap

**Supported Pairs for InSwap Liquidity Boost #1 event:**

• FB<>BTC\
• MoonCats<>FB

* Go to the **Swap** page. On the right side, find the wrap section, select the ticker you wish to wrap, and click **Wrap**.
* Sign the transaction to complete the wrap.

*Note: If you haven't completed an inscription transfer yet, you will need to click **+ Inscribe TRANSFER** first.*\
For more details on wrapping assets, check out [here](https://docs.unisat.io/fractal-services/pizzaswap-fractal-swap-service/how-to-interact-with-pizzaswap).&#x20;

<figure><img src="/files/hz47DYYpcIJj8eSp2Z4A" alt="" width="563"><figcaption></figcaption></figure>

***

### Step 3：Add Liquidity<br>

1. Go to the Bonus LP Rewards section to view available pairs, current LP lock amounts, and reward pool details.
2. Select the pair you wish to lock LP for and click on **Add Liquidity** to navigate to the **Trading Pair** page.

<figure><img src="/files/wRYnqplrkQ9Edq4o7LEm" alt="" width="563"><figcaption></figcaption></figure>

3. On the **Trading Pair** page, enter the amount of liquidity you wish to contribute, then click **Supply**.

<figure><img src="/files/fjjc2yoEyX9bF6w0dkLc" alt="" width="563"><figcaption></figcaption></figure>

*Note: If you’ve already added LP before, you can go directly to Step 4 by clicking the **Go to LP Rewards** button.*<br>

4. Review the details and click **Confirm Supply** to proceed.
5. Sign the transaction to complete the supply of liquidity.
6. Once completed, you can check your liquidity status on the **My Liquidity** page. From here, you can choose to **add** more liquidity or **remove** liquidity as needed.

<figure><img src="/files/kLRqgYX7Pe3NerJe3pfB" alt="" width="563"><figcaption></figcaption></figure>

### Step 4: Locking LP for **Rewards**

* Return to the **LPfest** page or go directly to LP
* Find the pair you want to lock LP for and click **Lock**. &#x20;

<figure><img src="/files/4wFBR57aJsq3ZF8zLcNe" alt="" width="563"><figcaption></figcaption></figure>

* On the lock confirmation page, enter the amount you wish to lock. You can manually input the amount or use the percentage buttons for a quick selection.
* Confirm the lock amount and the **Rollup Fee**, then click **Lock** and sign the transaction to finalize the lock.

<figure><img src="/files/NEM44zraCoXIsuUWagW9" alt="" width="563"><figcaption></figcaption></figure>

### Step 5：Claim Your LP Rewards

* Reward will be distributed by block, based on your % share of total locked LP for a specific pair in every block.
* Reward calculation starts from the block immediately after locking your LP successfully, and ends at the block immediately after unlocking.

<figure><img src="/files/NUwaYI8j21lQYQroCEAI" alt="" width="563"><figcaption></figcaption></figure>

\
Once you've locked your LP, rewards will be distributed on a per-block basis, calculated based on your share of the total locked LP for a specific trading pair.

\
The system will automatically calculate your LP rewards and display them. You can claim your rewards at any time by clicking **Claim**.

<figure><img src="/files/2N4Rt9gTNxBPCt2pf5Ns" alt="" width="563"><figcaption></figcaption></figure>

### Unlock LP

If you wish to stop earning LP rewards or unlock part of your LP, follow these steps:

1. Go to [LP Rewards](https://inswap.net/swap/lp_rewards) page
2. Click **Unlock** next to the pair you want to unlock. Enter the amount you wish to unlock and confirm.
3. Sign the transaction to complete the unlock process.

<figure><img src="/files/SYujSadPde9Aznz5pfhw" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/hdjpFX59EBXOZr2rzTCU" alt="" width="563"><figcaption></figcaption></figure>

\
**FAQ：What does this prompt mean when interacting with InSwap?**

It means that we are currently submitting the rollup inscription. During this process, you’ll need to wait patiently as no other actions can be performed. Usually this prompt will disappear within 10 seconds. But sometimes it may take a long time. Please wait with patience.

<figure><img src="/files/HUu82nWay9tE5n2Ir9VT" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# brc-20 Swap and InSwap Development

Before introducing InSwap, it’s essential to understand its roots in brc-20 Swap on Bitcoin Mainnet. As a cornerstone of UniSat’s efforts to push the adoption of brc-20 protocol, we developed the brc-20 Swap alpha on Bitcoin mainnet in November 2023.

Even though the swap on Bitcoin was not able to fully open due to circumstances beyond our control, we’re not giving up. What we learnt from the process paved the way for InSwap - a mirror of the brc-20 swap module on Bitcoin deployed on Fractal Bitcoin- an extension of Bitcoin that is immensely similar to Bitcoin itself.

We’re committed to continuously enhancing the InSwap experience for our users, keeping it secure, efficient, and user-friendly. This timeline traces the journey of brc-20 Swap and InSwap, culminating in our vision for 2025.

## brc-20 Swap on Bitcoin Main**net** 🔗

* **2023: Pioneering brc-20 Swap**
  * UniSat launched brc-20 Swap on Bitcoin Mainnet in 2023 after extensive testing throughout 2022-2023.
  * Significant effort and innovation went into ensuring this product functioned correctly on Bitcoin’s mainnet, laying the groundwork for decentralized swaps.
  * More details about brc-20 swap mechanism: [Link](https://docs.unisat.io/knowledge-base/brc20-swap-introduction)
* **2024: Standardizing with L1F**
  * Throughout 2024, we worked closely with L1F to integrate brc-20 Swap into the brc-20 standard upgrade. Due to the need for cross-team coordination, the process took longer than expected, but we remained committed to ensuring a smooth and secure implementation.
* **2025: Upcoming major protocol upgrades**&#x20;
  * We continue to work closely with all stakeholders to push forward the brc-20 update, which will introduce three key modules:

    * Single-step TRANSFER
    * Programmable Module
    * Swap Module

    Learn more: [link](https://x.com/unisat_wallet/status/1892537813541007660)

***

## InSwap on Fractal Bitcoin 🍕

#### 2024: Launch and Evolution 🚀

InSwap, the first dual-network brc-20 DEX for Bitcoin and Fractal, officially launched on Fractal on September 30, 2024. This swap product, identical in functionality to the mainnet swap module, is the first DEX to be built on both Bitcoin and Fractal.

The launch of InSwap on Fractal is also helping to further drive the development of Swap on the Bitcoin mainnet.

**Key Features**:

* Swap assets directly, no intermediaries
* Provide liquidity and earn rewards
* Track past transactions in a simple interface

Learn more about the InSwap **mechanism**: [Link](https://docs.unisat.io/fractal-services/pizzaswap-fractal-swap-service)

***

### **Detailed** InSwap **Timeline** 📅

* **September 2, 2024**: **Public Testing**
  * Public testing of InSwap **on Fractal Testnet** began to ensure stability and security for the mainnet launch.
  * [Tweet Link](https://x.com/unisat_wallet/status/1830441537605710242)
* **September 30, 2024: Official Launch**

  InSwap **officially launched** on Fractal Bitcoin, allowing users to seamlessly swap brc-20 assets on Fractal with ease.

  * First DEX built concurrently on Bitcoin and Fractal, supporting all asset types.
  * Features: Direct swaps, liquidity provision with rewards, and a user-friendly transaction interface.
  * [Tweet Link](https://x.com/unisat_wallet/status/1840693108255969786) | [Docs](https://docs.unisat.io/fractal-services/pizzaswap-fractal-swap-service)
* **October 2, 2024**: Introduced **Simple Bridge** and **Green Channel**.
  * Simple Bridge enabled smooth asset bridging between Bitcoin and Fractal.
  * Green Channel allowed brc-20 Swap assets from Bitcoin Mainnet to transfer to InSwap.
  * [Tweet Link (Simple Bridge)](https://x.com/unisat_wallet/status/1841331216504729955)
  * [Tweet Link (Green Channel)](https://x.com/unisat_wallet/status/1841331220841656789)

***

### UI & Products Optimizations and Updates **(September - December 2024)** 🔧

From **September 30** to **October 2024**, we’ve continuously worked on improving InSwap’s UI, trading experience, and other features:

* New Features:
  * Enhanced pool statistics, including TVL & Volume -> [Link](https://x.com/unisat_wallet/status/1844755657146486793)
  * Optimized asset bridging and wrap process -> [link](https://x.com/unisat_wallet/status/1842038490965672099)
  * Enabled unwrapping through partner collaborations -> [Link](https://x.com/unisat_wallet/status/1847457673106903438)
  * Introduced FB (Fractal Bitcoin) for swap operations and gas fee payments -> [Link](https://x.com/unisat_wallet/status/1844755267915067466)
  * More details: [Link](https://unisat-wallet.medium.com/2024-10-pizzaswap-unisats-first-open-production-experiment-2c810cd98e7c)
* **November 2024**: Opened InSwap to all brc-20 tickers on Fractal, allowing any trading pair creation.
  * [Tweet Link (Support all brc-20 tickers)](https://x.com/unisat_wallet/status/1854146491750961416)
* **December 2024**: Improved real-time LP earnings display for staking and trading fees.
  * [Tweet Link (Visualization)](https://x.com/unisat_wallet/status/1867479699984896143)

***

### **LPfest on Fractal (November 2024 - December 2024) 💥**

LPfest is a long-term initiative primarily focused on bringing rewards to liquidity providers.

* **November 2024**: **LPfest Epoch 1 launched.**
  * LPfest Epoch 1: Introduced sFB <> sBTC, sFB <> sSATS, sFB <> Glizzy pairs with 6,000 FB rewards.
  * [Tweet Link (LPfest Epoch 1)](https://x.com/unisat_wallet/status/1854145711635644697)
* **December 2024**: Launched **LPfest Epoch 2** and enhanced LP earnings visualization.
  * Epoch 2: Added 5 pairs (sBTC <> sFB, sSATS <> sFB, etc.) with 10,000 FB rewards.
  * Improved real-time LP earnings display for staking and trading fees.
  * [Tweet Link (Epoch 2)](https://x.com/unisat_wallet/status/1866033030500135064)
* April 2025: LPfest Epoch 3 launched.&#x20;
  * Introduced 5 trading pair with 10,000 FB in rewards&#x20;
  * [Tweet Link(Epoch 3) ](https://x.com/unisat_wallet/status/1913146188809015337)
* May 2025: LPfest Epoch 3.1 live with 2 trading pairs with 2,000 FB in rewards.&#x20;
  * [Tweet Link(Epoch 3.1) ](https://x.com/unisat_wallet/status/1917527929661317431)

## InSwap **in 2025**🌟

* **January 2025: Testing** InSwap **1.1**&#x20;

  The first test version of InSwap 1.1 was launched and tested with a small group of users. We gathered valuable user feedback and conducted research to further improve the product.
* **February 2025**: InSwap **1.1 launched**
  * Integrated bridge + wrap in one step
  * Dramatically reduced wrap and unwrapping waiting time
  * Zero service fee for wrap
  * [Tweet Post](https://x.com/unisat_wallet/status/1895293661853929664)
* **March 10, 2025: Community Vote** - Which Service Fee Level Do You Support for InSwap?
  * Based on extensive community feedback, we have a vote on InSwap’s service fee—let the community decide.
  * [Tweet Link](https://x.com/unisat_wallet/status/1898672128633004465)
* **March 21, 2025: Introduced SUSD•SUSD•SUSD (runes)**&#x20;
  * SUSD•SUSD•SUSD, an over-collateralized synthetic stablecoin on Bitcoin developed by Shell Finance based on the Runes Protocol.
  * [Tweet Link](https://x.com/unisat_wallet/status/1903008977820193057)
* **April - May 2025, InSwap LPfest Epoch 3 & 3.1 launched**&#x20;
  * [Tweet Link ](https://x.com/unisat_wallet/status/1913146188809015337) [Tweet Link(3.1)](https://x.com/unisat_wallet/status/1917527929661317431)
* **April 13: InSwap NEW domain:**  [inswap.cc](https://inswap.cc/) **& Multilingual support**
  * **NEW domain:** [inswap.cc](https://inswap.cc/)
  * NEW languages - English, French, Spanish, Russian, Japanese, Traditional Chinese&#x20;
* **May 3: InSwap’s Address Search Feature launched.**&#x20;
  * View any address’s assets directly on InSwap
  * Explore detailed transaction history for full transparency
  * [Tweet Link ](https://x.com/unisat_wallet/status/1918572068313997816)

<br>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Green Channel User Guide

Earlier, we launched brc20-Swap testing on the Bitcoin mainnet, where some users wrapped assets. Now, these users can transfer their assets to InSwap through the Green Channel, as shown below.

InSwap: <https://inswap.cc/>&#x20;

brc20-Swap on Bitcoin mainnet: <https://unisat.io/swap>&#x20;

**Step-by-Step Instructions:**

1. **Connect Wallet & Access brc-20 Swap:**
   * Open your wallet and navigate to the brc-20 swap page.
   * Click on "My Module Assets."

<figure><img src="/files/qJEHmTAxbvTJqq59J0xK" alt=""><figcaption></figcaption></figure>

2. **Select Assets to Bridge:**

* Choose the asset you want to bridge.
* Click "Bridge" to initiate the transfer. Since you need SATS as the gas fee, make sure to bridge your SATS last.

<figure><img src="/files/Rl9u6lF4GJP40Gp901pg" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/5dPtoZvkZaqSpZTvVIFk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/kwtUhmM9s7cRqKjaxdg2" alt=""><figcaption></figcaption></figure>

3. **Monitor Processing Status:**

* Keep an eye on the transaction status. Once marked as "completed," you can check InSwap for your transferred assets.

<figure><img src="/files/Qh8eausR6iT6fZqqlOnG" alt=""><figcaption></figcaption></figure>

4. **Check Assets in InSwap:**

* Go to InSwap: <https://inswap.cc/> and access "My Assets on InSwap" to verify the arrival of your assets.

<figure><img src="/files/ph74AVZ5SxisY4fsKCSP" alt=""><figcaption></figcaption></figure>

This guide helps you navigate the Green Channel process smoothly, ensuring a quick and efficient asset transfer.

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# brc20-swap Introduction

Built as a module on top of the brc-20 protocol, brc20-swap allows users swap, provide liquidity and earn brc-20 tokens directly without the need for intermediaries.

## The brc20-swap interface

Users can connect their brc-20 supported wallets to swap and provide liquidity on brc20-swap. These docs explain all the features of the app, and provide straightforward walkthroughs on how to use it.

<img src="/files/GQWSeQgKR0ZPHB9K3kaN" alt="" data-size="original">

The app consists of three pages:

**Swap** - the trading interface for executing swaps on brc20-swap and wrapping more assets into the module.

**Pools** - the liquidity provider interface, where LPs can add liquidity to brc20-swap pools

**Transactions** - interface for users to view the past brc20-swap interactions

brc20-swap operates like most decentralised exchanges: Users wrap assets  into liquidity pools, where traders can exchange assets again at prices set by the AMM's math formula.

## Connecting your wallet

In order to swap or add liquidity on brc20-swap, you will first need a wallet with brc-20 support. These are available as an extension for popular browsers or as apps for your smartphone.

brc20-swap supports the following wallets:

* [UniSat Wallet](https://unisat.io/download)

Click on any of the above links to find more information about each wallet, and instructions on how to install them on your browser or device.

Once you have installed a wallet, it’s time to connect it to brc20-swap.

When you first navigate to brc20-swap, you will see a button in the top right of your browser window that says **Connect**.

Click on this button and a modal will appear asking you to select a wallet. Choose the wallet you installed in the previous step.

At this point, the wallet app will take over and ask you to confirm the connection to brc20-swap. Your wallet is now connected to brc20-swap.

Read the testnet guide to learn how to prepare your wallet on testnet for testing brc20-swap

{% content-ref url="/pages/eTeFcaHHxeWUVA3FBz5a" %}
[Testnet guide](/fractal-bitcoin/inswap-on-fractal/brc20-swap-introduction/testnet-guide)
{% endcontent-ref %}

## Wrapping assets into brc20-swap module

In order to swap or add liquidity on brc20-swap you must first wrap assets into the brc20-swap module balance.

Once you have connected to brc20-swa&#x70;**,** switch to the wrap tab in the swap page. Select the ticker for the assets you want to wrap into brc20-swap.

![](/files/CHQMLWHXhuF66wt8dF9f)

Click on “inscribe TRANSFER”, UniSat Wallet will prompt you to sign an inscribe event.

![](/files/eA92rz9uqbdx1OSSdp1l)

Your wallet will prompt you to enter an amount, enter the amount you wish to inscribe.

Sign the transaction, the transaction is broadcast to the network.

![](/files/dcTYi5ysYhw55akLJvPI)

Click "Wrap" and sign the transfer inscription to brc20-swap. Once you must wait for 3 confirmation (which could take an hour) before the funds become available for brc20-swap.


# What Is an Automated Market Maker?

This page explains the inner workings of an Automated Market Maker (AMM).

brc20-swap implements the functionality of an automated market maker (AMM). This is the underlying technology that powers most decentralized exchanges (DEXs). You don’t need to have a counterparty (another trader) on the other side to make a trade. Instead, you interact with a liquidity pool by exchanging for a price calculated by a math formula.

brc20-swap specifically implements the **x \* y = k** formula, where **x** is the amount of one token in the liquidity pool, and **y** is the amount of the other. In this formula, **k** is a fixed constant, meaning the pool’s total liquidity always has to remain the same.

## Slippage

***

Slippage occurs when the actual price you get for a trade is different from the expected or quoted price. It often happens in situations of high market volatility or low liquidity. If you want to buy or sell an asset at a specific price, but the market conditions change before your trade is executed, you might end up with a slightly different price than you anticipated. Slippage can result in a higher or lower cost for your trade than you initially planned.

## Impermanent loss

***

Impermanent loss is a term used in liquidity provision. When you provide liquidity to a pool by depositing two different assets, the value of your assets can change over time due to price fluctuations. Impermanent loss occurs when the value of your assets in the pool is less than if you had simply held those assets without providing liquidity. It's "impermanent" because the loss can decrease or disappear as the prices of the assets change.

## Price impact

***

Price impact refers to the effect a large trade has on the price of an asset in a market. When someone buys or sells a significant amount of an asset, it can cause the price to move in the direction of the trade due to the imbalance in supply and demand. The larger the trade relative to the overall liquidity in the market, the greater the price impact. Price impact can lead to higher or lower prices depending on whether it's a buy or sell order.

## Service fee

***

Each swap incurs a 0.3% transaction fee, of which 1/6 goes to the platform as fees, and the remaining portion is received by LPs.

LP fees are accrued inside the pool. They don't need to be claimed.

LP tokens represent your share of assets in the pool. As fees accumulate in the pool, the amount of brc-20 assets backing your LP tokens will grow automatically. Just keep in mind, impermanent loss can affect your profitability.

## Rollup fee

***

brc20-swap is able to reduce bitcoin network fees significantly. The brc20-swap sequencer bundles transactions and submits them to the Bitcoin network. brc20-swap charges a fee in SATS (brc-20) to cover Bitcoin network fees.


# Liquidity providers (LPs)

Although counterparties are not required, someone still needs to establish the market. Liquidity providers (LPs) provide liquidity to a liquidity pool.

When you provide liquidity, you will receive LP tokens in return. These tokens represent your share of the liquidity pool. Keep these tokens safe, as they are essential for withdrawing your liquidity and claiming your share of the fees.

Things to keep in mind as a Liquidity Provider:

1. **Impermanent Loss:** When you provide liquidity, you expose yourself to the risk of impermanent loss, which occurs when the value of one of the tokens in the pool changes significantly compared to when you added liquidity.
2. **Fees and Rewards:** As an LP, you earn a share of the trading fees paid by users. Keep an eye on the rewards and fees you are earning.
3. **Regular Monitoring:** Check your LP position periodically to ensure it remains balanced. You may need to add or withdraw tokens to maintain the desired balance.
4. **Withdrawal:** When you're ready to withdraw your liquidity, use your LP tokens to remove your assets from the pool.
5. **Risk Management:** Understand the risks associated with providing liquidity, and only invest what you can afford to lose. Diversify your investments and do your own research before choosing a liquidity pool.


# Testnet guide

How to prepare your wallet to start testing brc20-swap on bitcoin's test network

## **Prepare your wallet by funding your Taproot address with testnet BTC**

![](/files/W9HHTzlkUdTtLgwWlLmH)

1\.  Connect to UniSat Wallet and go to Settings. Switch the Network to TESTNET.

![](/files/pa9iVYyspj6AWuU9r4H9)

2\.  Get testnet BTC from faucet <https://coinfaucet.eu/en/btc-testnet/> and paste your Native SegWit address.

![](/files/WiIQVJgFqIsuru4ChhCi)

3\.  Go to Wallet Settings and switch the Address Type to Taproot. Copy that address and switch back to SegWit address.

4\.  Send testnet BTC and paste your Taproot address.

5\.  Switch to your Taproot address and you will be ready to start testing brc20-swap.


# Technical Q\&A

### What are the considerations for using brc20-sats as L2 gas?&#x20;

***

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.&#x20;

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.


# Modules, Unwrapping, and decentralization of brc-20

### brc20-swap as a module

The modular extension of brc-20 is achieved in the following way:

<figure><img src="/files/TQxoKa7a83m8U03rDgIV" alt=""><figcaption></figcaption></figure>

In the diagram above, we can see that each extension module exists independently of the core brc-20 protocol.

\
This approach has several advantages for brc-20:

1. **Permissionless Development**: Developing new modules for brc-20 is a permissionless process, and new modules start as black modules, being naturally separated from the core protocol and other modules.
2. **Isolated Execution**: If there are issues with the implementation of any module, the isolation between black modules ensures it does not affect the operation of the core protocol and other modules.
3. **Consensus Upgrading**: When the majority of indexers recognize and implement indexing for a specific module, it can transition to a white module, becoming a natural part of the brc-20 protocol.

### Black Module: Module as a blackbox (non-unwrapped)

However, the modular extension model has a drawback when a module is a black module, as it can not achieve free unwrapping, as illustrated in the image below:

<figure><img src="/files/hCWzX14ueZw4ji4CAGIL" alt=""><figcaption></figcaption></figure>

This is because when a module operates as a black module, it means that major indexers do not acknowledge the reliability of its operation. To them, this module is a black box, and its internal state is not recognized as valid brc-20 state. Therefore, the calculated balances are not considered valid brc-20 balances, and assets within this module cannot be freely unwrapping to brc-20.

Imagine if black modules could arbitrarily extend the brc-20 protocol. Developers could create modules like brc20-100x, which would allow users to receive a hundred times the wrapped amount. For instance, if you wrapped 5 ordi, you would receive 500 ordi. Such unrestricted inflation is unacceptable for the core brc-20 protocol.

Hence, for responsible indexers, all unverified black modules and their internal mechanisms are deemed untrustworthy.

### White Module: Consensus Upgrading

The behavior of a module gradually becomes reliable when it is understood and executed in the real world. This gradual acceptance by more indexers eventually allows its behavior to be considered reliable and transforms it into a white module, becoming part of the upgraded consensus.

Transitioning to a white module means that the balances it calculates are widely recognized and can be securely interacted with the brc-20 main network. In other words, users can safely, freely, and at any time unwrap to the brc-20 main network (as shown in the image below).

<figure><img src="/files/ggDh6FesOOlz8SBaqp3m" alt=""><figcaption></figcaption></figure>

The fundamental difference between black module and white module, when compared, is whether they allow users to unwrap freely.

### Unwrap assets from black module

A system that only allows wrapping but not unwrapping is unacceptable from a functional perspective.

To address this issue, we conducted in-depth research and were inspired by the matching mechanism in UniSat Marketplace's activities. We dynamically matched User A's wrap request with User B's unwrapping request, allowing the system to use wrap transactions to fulfill unwrapping needs.

\
The process is illustrated in the image below:

<figure><img src="/files/WIIGGLqAhQJpTk2gRka8" alt=""><figcaption></figcaption></figure>

In the image above, User A initiates a unwrapping request of 80 ordi, while User B initiates a wrapping request of 20 ordi.

<figure><img src="/files/s9gk34rNqc2YExLhyuIV" alt=""><figcaption></figcaption></figure>

At this point, the system dynamically matches their needs, using User B's 20 ordi wrap to fulfill part of User A's unwrapping request (20/80). User B can continue to wait for other users' wrapping to achieve more unwrapping.

When brc20-swap operates as a black module, **unwrapping requests can only be satisfied when users wrap assets from outside the module**. In other words, if an asset lacks sufficient wrap requests, the corresponding unwrapping requests will be challenging to fulfill promptly, significantly impacting the user experience.

### Decentralization: a pragmatic process

\
During the early stages of brc-20 development, UniSat provided users with a complete indexing service for transaction and balance inquiries, which led to general centralization concerns:

* If the system were to rely on UniSat for rule interpretation and execution, would UniSat possess a form of centralized authority, potentially leading to the brc-20 protocol being controlled by a single development team?

Regarding this question, there are three levels of observation:

1. **Non-mandatory**: Indexing primarily involves the analysis and organization of on-chain data to make it more comprehensible to humans, and it depends on the predefined rules of the protocol. It operates on immutable data and has no chance to alter past transactions. UniSat's code for indexing and execution is open source, allowing anyone to inspect it to ensure it aligns with the brc-20 rules.&#x20;
2. **Competition and Robustness**: With the emergence of multiple indexing service providers, there is increased reliability through redundancy. Errors in results from one index provider are more likely to be identified when compared to others. If any single indexer were to cease operations, it wouldn't impact the overall results. In fact, even if all indexers were to stop functioning, brc-20 could continue operating robustly and users would still have the ability to DEPLOY / MINT / TRANSFER as usual. No critical operations rely on indexing support.
3. **Governance and Consensus**: Given the participation of multiple indexers in the system, the module mechanism being implemented allows different service providers to effectively learn how to govern and extend the brc-20 protocol in a managable way.&#x20;

When implementing the UniSat brc-20 indexer, we did not anticipate that other service providers would follow suit. Subsequently, different indexing providers independently began offering indexing services. This process was spontaneous and permissionless, making it a healthy evolution overall. The transition of brc20-swap from a black module to a white module, if successful, will be able to mirror this process.

Within the module architecture, the barrier for service providers to index data is further lowered. In the past, indexers needed to accurately process all network transactions to be considered a valid indexer. Now, indexing data only within their own black module is sufficient to commence providing indexing services, which requires significantly less effort compared to handling all brc-20 data on the network.&#x20;

Therefore, with the widespread adoption of modules, it's reasonable to expect a substantial increase in the number of indexes, and some services may gradually evolve to offer comprehensive data indexing.


# Runes on Fractal

Runes on Fractal follows the same set of rules as the Bitcoin mainnet. If you're familiar with the runes protocol on Bitcoin, you'll find that the structure and functionalities on Fractal are fully aligned with it. Here's what you need to know:

**1. Same Rules as Bitcoin Mainnet**

The Runes protocol on Fractal follows the same fundamental rules as on Bitcoin, with all phases completed within one halving cycle (it takes 4 years on Bitcoin, and takes 2 years on Fractal)

There are 12 phases on both networks. Therefore, any single phase takes 120 days on Bitcoin, and 60 days on Fractal.

**2. Ticker Names on Fractal**

On the Fractal mainnet, all Runes tickers are displayed in **lowercase** letters.

For more detailed information on the Runes protocol, you can refer to the official documentation here: [Runes Protocol Documentation](https://docs.ordinals.com/runes.html).

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Etch Runes?

You may visit <https://fractal.unisat.io/runes/inscribe> to get the page.

Input the parameters as needed.

***For example***：

The ***Rune*** Name is everyone.loves.nature.forever,

***Symbol*** is E,

It is ***Mintable***, and ***Amount*** was settled as 500, ***Cap*** for 4,000,000.

The ***Premine*** is 15,000.

**With Logo** option, select whether to add a logo for Runes.

And leave other fields empty.Then you could input the above needed text as shown below,

<figure><img src="/files/gdyiLjnUFSfmJcoXkC7o" alt="" width="563"><figcaption></figcaption></figure>

*Please note: you need to wait for 5 blocks confirmations for etching.*

After the Rune is confirmed as valid, the etcher will get 15000E everyone.loves.nature.forever. Meantime, the others can mint Rune everyone.loves.nature.forever.

Following is the introduction for each parameter:

***Rune:*** Runes name, (currently you can etch 13-26 characters long, can be separated by a middle dot ·, and the separator does not count towards the character limit).

***Symbol (optional):*** The symbol after the number of runes, which can be A-Z or empty. If empty, a general symbol ¤ will be used.

***Mintable:*** Toggle off to disable further minting. Runes are only premine upon creation.

***Amount:*** The Amount field contains the amount of runes each mint transaction receives.

***Cap:*** The number of times a rune may be minted is its cap. A mint is closed once the cap is reached.

***Advanced options:*** Set up premining, divisible figures, and the starting or ending block where minting is possible (optional).

***Premine :*** The etcher of a rune may optionally allocate to themselves units of the runes being etched. This allocation is called a premine.

***Divisibility (optional):*** A rune's divisibility is how finely it may be divided into its atomic units. Divisibility is expressed as the number of digits permissible after the decimal point in the amount of runes. A rune with divisibility 0 may not be divided. A unit of a rune with divisibility 1 may be divided into ten sub-units, a rune with divisibility 2 may be divided into a hundred, and so on.

***Absolute Height:*** The absolute block height (based on the current block height).

***Relative Height：***&#x54;he range of relative block heights (based on the block of etching real).

***Start Height：***&#x41; mint is open starting in the block with the given start height.

***End Height：***&#x41; rune may not be minted in or after the block with the given end height.

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Mint Runes?

Step 1: find the mint interface&#x20;

* Go to the Mint option on page <https://fractal.unisat.io/runes/inscribe>.

<figure><img src="/files/sLjrkL7aceY9BMSLF3Dn" alt=""><figcaption></figcaption></figure>

Or you could explore Rune information on <https://fractal.unisat.io/explorer/runes>, search the ticker you want to mint and then Click ‘Mint’ -> ‘Mint Directly’ button if the rune can be mintable for more convenience.

<figure><img src="/files/QbuMpFsRnBFHT5qLNef5" alt=""><figcaption></figcaption></figure>

Step 2: Start minting Runes&#x20;

* You could input the ***Rune or Rune ID*** as below.
* You can input the number of ***Repet Mint*** or use the slide bar for batch minting.

<figure><img src="/files/scJh98oPk5GFwEhHOaDV" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/0rpLm3ty3HCEnXi7xJVi" alt="" width="563"><figcaption></figcaption></figure>

After your transaction is confirmed on chain, you may check your runes balance in your wallet.

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Trade Runes？

This guide will walk you through the step-by-step process of trading with Runes. Please do your own research. This guide serves only as a reference for users.

Go to <https://fractal.unisat.io/runes/market>, and search for rune.

<figure><img src="/files/q6ERz4cD9YSjA82nWqZp" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/bkuzlU1ySXm1xmr3Nfis" alt="" width="563"><figcaption></figcaption></figure>

You can buy the Rune one by one or in batches.

You can also list/unlist or update prices for your rune assets by clicking ‘My Assets’.

* List Runes: Click ‘My Assets’ and then click ‘List’ button beside Rune, then you will get the List page as below,

<figure><img src="/files/KNujqv1F8BoSGQu0G6F2" alt="" width="563"><figcaption></figcaption></figure>

* After setting the price and signing via Wallet, it will be listed.Comment
* You may go to My Orders to view the listed order, update price or unlist your Rune asset.

<figure><img src="/files/m711588LOX3UMiVYLtI7" alt=""><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# CAT on Fractal

The Covenant Attested Token (CAT) Protocol is a UTXO-based token system on Bitcoin, validated by miners using Bitcoin Script at Layer 1. It manages token minting and transfers via smart contracts called covenants.&#x20;

Key features include no reliance on external indexers, ensuring security through Bitcoin's consensus; modularity, allowing integration with various decentralized applications like AMMs and lending; programmable minting rules controlled by smart contracts; cross-chain interoperability for trustless asset bridging; and support for Simplified Payment Verification (SPV), enabling light clients to independently verify token authenticity.

\
CAT protocol supports both fungible tokens (called [**CAT20**](https://catprotocol.org/cat20) standard) and non-fungible tokens (called [**CAT721**](https://catprotocol.org/cat721) standard). For more detail: <https://catprotocol.org/>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to send / receive CAT20?

**Step 1: Download the Chrome Extension**

• **Download UniSat Wallet**: Visit the official Chrome Web Store link for **UniSat Wallet** and verify that it has a large number of reviews and a verified checkmark to ensure it’s not a phishing site. Download link: [Here](https://unisat.io/download)

*Make sure you are using the latest version of the extension, which must be at least v1.5.0 or higher.*

\
**Step 2: Set Up Your Wallet**

• Install the extension and **set up your wallet**. During the setup process, **securely back up your seed phrase** and make sure **not to share** it or store it online.

<figure><img src="/files/HQdOKDJZsNkFh5TeeLbz" alt="" width="359"><figcaption></figcaption></figure>

**Step 3: Select a Taproot Address**

• Ensure that you select a **Taproot address** to be compatible with Fractal Bitcoin.&#x20;

Only **Taproot and Native Segwit** wallet addresses are supported to transfer CAT20 tickers.&#x20;

<figure><img src="/files/uvNTMRzv13Mf5zT20lM7" alt="" width="563"><figcaption></figcaption></figure>

\
**Step 4: Toggle to Fractal Bitcoin**• In the wallet interface, navigate to the **top-right corner** and switch from **BTC Mainnet** to **Fractal Bitcoin Mainnet**.

<figure><img src="/files/kiEtnZ77tpf31EvefXRS" alt="" width="355"><figcaption></figcaption></figure>

\
**Step 5: Check Your CAT20 Balance**

• Once you’ve toggled to **Fractal Bitcoin**, your balance will be displayed.

• To **receive CAT20**, click **Receive** and copy your Fractal Bitcoin receiving address to share with others.(Taproot and Native Segwit wallet addresses only)

<figure><img src="/files/vM0JE6MZOqnlATt0SSHO" alt="" width="355"><figcaption></figcaption></figure>

**Step 6: Send CAT20**

* To **send CAT20**, please click on the specific **CAT20 ticker** you want to send and then click on Send.
* Carefully review the transaction details, including **inputs** and **outputs**, before confirming. Once verified, click **Next** and sign the transaction.

> **Note**: You can send up to **4 UTXOs** in one transaction. After sending, the UTXOs will automatically merge into one.

<figure><img src="/files/ikNrh9rQTn5BbJbN3kPO" alt="" width="563"><figcaption></figcaption></figure>

***

**How to Merge CAT20 UTXOs**

\
Merging multiple CAT20 UTXOs into a single UTXO can only be done if they share the same genesis transaction. Follow these steps to merge your UTXOs:

\
**Step 1: Select the CAT20 Ticker**

Select the CAT20 TickerClick on the specific **CAT20 ticker** you want to merge. In the pop-up menu, select **Merge UTXOs**.

<figure><img src="/files/T5QUguhF7Z07f0Wc6PPT" alt="" width="331"><figcaption></figcaption></figure>

#### **Step 2: Choose UTXOs to Merge**

* In the **Merge** window, select the number of UTXOs you wish to merge and set your fee rate.
* Review the transaction details to ensure accuracy, then click **Start Merging** to initiate the merging process.

> **Note**: You can merge up to **100 UTXOs** in one go.

<figure><img src="/files/mq9ePJAL9iLZoB24Wbga" alt="" width="335"><figcaption></figcaption></figure>

\
**Step 3: Confirm and Start the Merge**

* Once you’ve reviewed all the details, click **Start** to begin the UTXO merge. After the transaction is confirmed, you’ll see the progress in the wallet interface.

<figure><img src="/files/EiBGFcWc0MBXCyuRYc5y" alt="" width="563"><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# How to Buy and Sell CAT on UniSat CAT Market？

In this guide, we'll walk you through the process of buying and selling CAT on the UniSat CAT Market. Please note, this guide is for reference purposes only, and we encourage you to do your own research before trading.

***

CAT Market is compatible with **Native Segwit (P2WPKH)** and **Taproot (P2TR)** addresses on UniSat. Make sure your wallet is configured to use one of these address formats.

Transaction fees are paid in FB

Service fee: 0.3%

***

### **1. Accessing UniSat CAT Market**

* Go to the UniSat Marketplace on Fractal: [https://fractal.unisat.io/dex/cat20](<https://fractal.unisat.io/dex/cat20 >)
* Click the **Connect** button to link your wallet to the marketplace.

<figure><img src="/files/SpiKgdnZjpDU93n7BNiI" alt=""><figcaption></figcaption></figure>

The CAT Market interface is designed with a DEX-style layout to suit the trading preferences of most users. Click on the specific ticker you want to trade, and you’ll be able to see its **price**, **price chart**, **volume**, and **market cap** for better insights into your asset.

<figure><img src="/files/dzj8EHOktTrhsGnsKNOj" alt="" width="563"><figcaption></figcaption></figure>

***

### 2. How to Buy CAT

Use the search bar on the right side of the market interface to find the ticker you wish to trade with, or scroll to find it directly.

<figure><img src="/files/DqnQus3N5Ac66d10NJSc" alt=""><figcaption></figcaption></figure>

#### **Buying Method 1: Take Order**

This is a fast way to buy from the existing order book.

a) Click on the desired buy order from the order book (buy side) that matches your preferred price and amount, confirm the details (price and amount), and click the **Buy** button at the bottom of the page.

b) Review the **inputs** and **outputs** information, and if everything looks correct, sign the transaction.

<figure><img src="/files/jbPaa26fpFGzhL6eAYtT" alt="" width="338"><figcaption></figcaption></figure>

<figure><img src="/files/l9lQWC5bvH3X01CqFOaT" alt="" width="563"><figcaption></figcaption></figure>

Once the transaction is signed and confirmed, the purchase will be processed. You can view your purchase history under the **My Activities** section at the bottom of the page.

<figure><img src="/files/3TkYGzxAHwZYGUxbzoQZ" alt=""><figcaption></figcaption></figure>

#### **Buying Method 2: Make Order**

If you prefer to place a custom order instead of buying from the existing order book, follow these steps:

a) Choose **Make Order**, then click **Buy**.

b) Enter your ideal buy price and quantity, and confirm the details before clicking **Make Order**.

*Note: the total value should be bigger than 0.1 FB.*

c) As in the first method, review the transaction details (inputs, outputs), and sign it to confirm the order.

<figure><img src="/files/m3YXqsd91XSvYlOik3SG" alt="" width="338"><figcaption></figcaption></figure>

#### **Bulk Buy**

You can select multiple orders for bulk purchasing:

* Click **Take Order - Buy** on the marketplace, and choose multiple orders from the order book.
* Once selected, click **Buy** and sign the transaction to complete the purchase.

<figure><img src="/files/0sW4NtcN10tDIsMItQ3v" alt="" width="307"><figcaption></figcaption></figure>

***

### 3. How to Sell CAT

Use the search bar or scroll through the marketplace to find the ticker you want to sell.

#### **Selling Method 1: Take Order**

This is a fast way to sell by accepting an existing buy order from the order book.

a) Click on the available sell order (sell side) in the order book that matches your desired price and quantity.

b) Confirm the price and quantity, and click **Sell** at the bottom of the page.

c) Review the inputs and outputs information, then sign the transaction.

**Note:** You can place up to 3 orders in bulk.

<figure><img src="/files/jKTBlAWvAC0ZNfFX3F26" alt="" width="335"><figcaption></figcaption></figure>

**Selling Method 2: Make Order**

If you prefer to place a sell order instead of taking one from the existing order book:

You can sell up to **3 UTXOs at once**. If you wish to sell more CAT20 in one go, you need to merge the UTXOs in your wallet.

For detailed steps on how to do this, please refer to this operation guide.&#x20;

{% embed url="<https://docs.unisat.io/fractal-services/cat-support/how-to-send-receive-cat20>" %}

a) Choose **Make Order**, then click **Sell**.

b) Enter the quantity and price you wish to sell for, and confirm the details before clicking **Make Sell**.

*Note: the total value should be bigger than 0.1 FB.*

c) As in the previous steps, review the transaction information (inputs, outputs), and sign to confirm the order.

<figure><img src="/files/SDUDfFbs2Jqzp9lGFJje" alt="" width="345"><figcaption></figcaption></figure>

#### **Bulk Sell**

You can also sell multiple UTXOs in one go:

* Click **Take Order - Sell**.
* Select the orders you wish to fulfill, click **Sell**, and sign the transaction to complete it.
* Note: You can sell up to 3 UTXOs at once.

<figure><img src="/files/iTLKYrJdGprbg9Xq4Szx" alt="" width="305"><figcaption></figcaption></figure>

***

### 4. How to View and Cancel Orders

After placing your orders, you can view your order history under **My Activities** on the main page.

To cancel an open order, click the **Cancel** button next to the order you wish to remove.

<figure><img src="/files/gxucMrHJkrA2npdWERq7" alt=""><figcaption></figcaption></figure>

**Please note:**&#x20;

CAT20 transactions require confirmed UTXOs. If there are multiple unconfirmed UTXOs in your orders, you will not be able to spend the same UTXO again. In such cases, the page will display the following prompt. Please click "Confirm" to proceed to the next step.

<figure><img src="/files/rN6XZlHKoYRjsNFPS5TD" alt="" width="375"><figcaption></figcaption></figure>

**Disclaimer:**

The content of this document is for informational purposes only. It does not constitute (i) investment advice or recommendations, (ii) an offer, solicitation, or inducement to purchase, sell, or hold digital assets, or (iii) financial, accounting, legal, or tax advice. Digital assets (including FTs and NFTs) are subject to market volatility, involve high risk, regulatory changes, and may depreciate in value. The information is provided "as is," and we make no warranties regarding its accuracy. Please consult your legal, tax, or investment professionals to determine whether trading or holding digital assets is suitable for you.


# Developer Support

{% content-ref url="/pages/QSHu6OuCFdUPXAFUf6s1" %}
[UniSat AI Kit](/developer-support/unisat-ai-kit)
{% endcontent-ref %}

{% content-ref url="/pages/OtbY5UKq5ZE31KJrJMFI" %}
[Plans](/developer-support/plans)
{% endcontent-ref %}

{% content-ref url="/pages/Ynciapfzx2IRhUNJBrRv" %}
[How to Acquire a UniSat API Key](/developer-support/how-to-acquire-a-unisat-api-key)
{% endcontent-ref %}

{% content-ref url="/pages/fCi8XvpPx1XbHzYayoqD" %}
[FAQ](/developer-support/faq)
{% endcontent-ref %}

{% content-ref url="/pages/9YEahCRhwGxcFgYADdrN" %}
[Developer Service Legal Disclaimer](/developer-support/developer-service-legal-disclaimer)
{% endcontent-ref %}


# Open API Documentation

Welcome to UniSat Developer Center documentation

{% hint style="info" %} <mark style="color:orange;">Please read</mark> [Developer Service Legal Disclaimer](/developer-support/developer-service-legal-disclaimer) <mark style="color:orange;">before using the OpenAPI below.</mark>
{% endhint %}

<figure><img src="/files/p4xlObwahnbzniFemhB2" alt=""><figcaption></figcaption></figure>

### Overview

UniSat Developer Service is open to community developers, allowing you to explore the world of Bitcoin and ordinals. You can deploy your own inscribing services, build wallet applications, develop browsers, and much more using the API.

### Getting an API Key

To use the OpenAPI, please register and log in at the [UniSat Developer Center](https://developer.unisat.io). Once registered, you can directly obtain a free-plan API key through the developer center.<br>

When you obtain the API key, please add it to the request header with the `Authorization` format as follows:

```bash
curl -X 'GET' \
  'https://open-api.unisat.io/v1/indexer/blockchain/info' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY'
```

### Endpoint URLs

<table><thead><tr><th>Network</th><th width="316">URL</th><th>Swagger</th></tr></thead><tbody><tr><td>Mainnet</td><td>https://open-api.unisat.io<br><br>https://open-api-s1.unisat.io (Only WhiteList)<br></td><td><a href="https://open-api.unisat.io/swagger.html">https://open-api.unisat.io/swagger.html</a></td></tr><tr><td>Testnet</td><td>https://open-api-testnet.unisat.io</td><td><a href="https://open-api-testnet.unisat.io/swagger.html">https://open-api-testnet.unisat.io/swagger.html</a></td></tr></tbody></table>

### Rate Limits

| API Tier | Rate Limit                             |
| -------- | -------------------------------------- |
| Free     | 5 calls/second , up to 2,000 calls/day |

{% hint style="info" %}
If you require higher limits than those provided by our free plan, you can directly purchase a higher-tier plan through the [UniSat Developer Center](https://developer.unisat.io/plan).
{% endhint %}

### Issues & Feature Requests

For issue reports and feature requests, please visit the repository below:

* <https://github.com/unisat-wallet/unisat-dev-support/issues>


# UniSat Wallet

## UniSat Wallet API

Welcome to UniSat's Developer Documentation. This documentation is for learning to develop applications for UniSat Wallet.

## Getting Started

To develop for UniSat Wallet, install UniSat Wallet on your development machine. [Download here](https://unisat.io/).

Once UniSat Wallet is installed and running, you should find that new browser tabs have a `window.unisat` object available in the developer console. This is how your website will interact with UniSat Wallet.

### Browser Detection

To verify if the browser is running UniSat Wallet, copy and paste the code snippet below in the developer console of your web browser:

```javascript
if (typeof window.unisat !== 'undefined') {
  console.log('UniSat Wallet is installed!');
}
```

You can review the full API for the `window.unisat` object here.

### Connecting to UniSat Wallet

"Connecting" or "logging in" to UniSat Wallet effectively means "to access the user's Bitcoin account(s)".

You should **only** initiate a connection request in response to direct user action, such as clicking a button. You should **always** disable the "connect" button while the connection request is pending. You should **never** initiate a connection request on page load.

We recommend that you provide a button to allow the user to connect UniSat Wallet to your dapp. Clicking this button should call the following method:

```javascript
unisat.requestAccounts()
```

### Demo

* [Online Demo](https://demo.unisat.io)
* [Demo source code](https://github.com/unisat-wallet/unisat-web3-demo)

## Methods

### requestAccounts

```typescript
unisat.requestAccounts()
```

Connect the current account.

**Parameters**

none

**Returns**

`Promise` returns `string[]` : Address of current account.

**Example**

```typescript
try {
  let accounts = await window.unisat.requestAccounts();
  console.log('connect success', accounts);
} catch (e) {
  console.log('connect failed');
}
> connect success ['tb1qrn7tvhdf6wnh790384ahj56u0xaa0kqgautnnz']
```

### getAccounts

```typescript
unisat.getAccounts()
```

Get address of current account

**Parameters**

none

**Returns**

* `Promise` - `string`: address of current account

**Example**

```typescript
try {
  let res = await window.unisat.getAccounts();
  console.log(res)
} catch (e) {
  console.log(e);
}
> ["tb1qrn7tvhdf6wnh790384ahj56u0xaa0kqgautnnz"]
```

### getNetwork

```typescript
unisat.getNetwork()
```

get network

{% hint style="warning" %}
Please note that this method only supports bitcoin mainnet and bitcoin testnet. Due to the support for more networks, please switch to the **getChain** method.
{% endhint %}

**Parameters**

none

**Returns**

* `Promise` - `string`: the network. `livenet` and `testnet`

**Example**

```typescript
try {
  let res = await window.unisat.getNetwork();
  console.log(res)
} catch (e) {
  console.log(e);
}

> 0
```

### switchNetwork

```typescript
unisat.switchNetwork(network)
```

switch network

{% hint style="warning" %}
Please note that this method only supports bitcoin mainnet and bitcoin testnet. Due to the support for more networks, please switch to the **switchChain** method.
{% endhint %}

**Parameters**

* `network` - `string`: the network. `livenet` and `testnet`

**Returns**

none

**Example**

```typescript
try {
  let res = await window.unisat.switchNetwork("livenet");
  console.log(res)
} catch (e) {
  console.log(e);
}

> 0
```

### getChain

```typescript
unisat.getChain()
```

get chain

*( Requires extension version greater than 1.4.0 )*

{% content-ref url="/pages/LACJAW3GKcae50U6gjg5" %}
[Supported Chains](/developer-support/open-api-documentation/unisat-wallet/supported-chains)
{% endcontent-ref %}

**Parameters**

none

**Returns**

* `Promise` - `Object`:
  * `enum` - `string` : the enum of chain
  * `name` - `string` : the name of chain
  * `network` - `string` :  `livenet` or `testnet`

**Example**

```typescript
try {
  let res = await window.unisat.getChain();
  console.log(res)
} catch (e) {
  console.log(e);
}

>  {enum: 'BITCOIN_MAINNET', name: 'Bitcoin Mainnet', network: 'livenet'}
```

### switchChain

```typescript
unisat.switchChain(chain)
```

switch chain&#x20;

*( Requires extension version greater than 1.4.0 )*

**Parameters**

* `chain` - `string`: the chain. `BITCOIN_MAINNET` or `BITCOIN_TESTNET` or `FRACTAL_BITCOIN_MAINNET`

**Returns**

* `Promise` - `Object`:
  * `enum` - `string` : the enum of chain
  * `name` - `string` : the name of chain
  * `network` - `string` :  `livenet` or `testnet`

**Example**

```typescript
try {
  let res = await window.unisat.switchChain("BITCOIN_MAINNET");
  console.log(res)
} catch (e) {
  console.log(e);
}

> {enum: 'BITCOIN_MAINNET', name: 'Bitcoin Mainnet', network: 'livenet'}
```

### getPublicKey

```typescript
unisat.getPublicKey()
```

Get publicKey of current account.

**Parameters**

none

**Returns**

* `Promise` - `string`: publicKey

**Example**

```typescript
try {
  let res = await window.unisat.getPublicKey();
  console.log(res)
} catch (e) {
  console.log(e);
}
> 03cbaedc26f03fd3ba02fc936f338e980c9e2172c5e23128877ed46827e935296f
```

### getBalance

```typescript
unisat.getBalance()
```

Get BTC balance

**Parameters**

none

**Returns**

* `Promise` - `Object`:
  * `confirmed` - `number` : the confirmed satoshis
  * `unconfirmed` - `number` : the unconfirmed satoshis
  * `total` - `number` : the total satoshis

**Example**

```typescript
try {
  let res = await window.unisat.getBalance();
  console.log(res)
} catch (e) {
  console.log(e);
}

> {
    "confirmed":0,
    "unconfirmed":100000,
    "total":100000
  }
```

### getInscriptions

```typescript
unisat.getInscriptions(cursor,size)
```

List inscriptions of current account

**Parameters**

none

**Returns**

* `Promise` - `Object`:
  * `total` - `number` : the total count
  * `list` - `Object[]` :
  * `inscriptionId` - `string` : the id of inscription.
  * `inscriptionNumber` - `string` : the number of inscription.
  * `address` - `string` : the address of inscription.
  * `outputValue` - `string` : the output value of inscription.
  * `content` - `string` : the content url of inscription.
  * `contentLength` - `string` : the content length of inscription.
  * `contentType` - `number` : the content type of inscription.
  * `preview` - `number` : the preview link
  * `timestamp` - `number` : the blocktime of inscription.
  * `offset` - `number` : the offset of inscription.
  * `genesisTransaction` - `string` : the txid of genesis transaction
  * `location` - `string` : the txid and vout of current location

**Example**

```typescript
try {
  let res = await window.unisat.getInscriptions(0,10);
  console.log(res)
} catch (e) {
  console.log(e);
}

> {
  "total":10,
  "list":[
    {
      inscriptionId: '6037b17df2f48cf87f6b6e6ff89af416f6f21dd3d3bc9f1832fb1ff560037531i0',
      inscriptionNumber: 959941,
      address: 'bc1q8h8s4zd9y0lkrx334aqnj4ykqs220ss735a3gh',
      outputValue: 546,
      preview: 'https://ordinals.com/preview/6037b17df2f48cf87f6b6e6ff89af416f6f21dd3d3bc9f1832fb1ff560037531i0',
      content: 'https://ordinals.com/content/6037b17df2f48cf87f6b6e6ff89af416f6f21dd3d3bc9f1832fb1ff560037531i0',
      contentLength: 53,
      contentType: 'text/plain;charset=utf-8',
      timestamp: 1680865285,
      genesisTransaction: '6037b17df2f48cf87f6b6e6ff89af416f6f21dd3d3bc9f1832fb1ff560037531',
      location: '6037b17df2f48cf87f6b6e6ff89af416f6f21dd3d3bc9f1832fb1ff560037531:0:0',
      output: '6037b17df2f48cf87f6b6e6ff89af416f6f21dd3d3bc9f1832fb1ff560037531:0',
      offset: 0
    }
  ]
}
```

### sendBitcoin

```typescript
unisat.sendBitcoin(toAddress, satoshis, options)
```

Send BTC

**Parameters**

* `toAddress` - `string`: the address to send
* `satoshis` - `number`: the satoshis to send
* `options` - `object`:  (optional)
  * `feeRate` - `number`: the network fee rate
  * `memo` - `string`: (optional)  The data content of OP\_RETURN, which needs to be in UTF-8 or HEX encoded format.
  * `memos` - `string[]`: (optional) The data content of OP\_RETURN, which needs to be in UTF-8 or HEX encoded format, provided in the form of an array.

**Returns**

* `Promise` - `string`: txid

**Example**

```typescript
try {
  let txid = await window.unisat.sendBitcoin("tb1qrn7tvhdf6wnh790384ahj56u0xaa0kqgautnnz",1000);
  console.log(txid)
} catch (e) {
  console.log(e);
}
```

### sendRunes

```typescript
unisat.sendRunes(address, runeid, amount, options)
```

Send Runes

**Parameters**

* `address` - `string`: the receiver address.
* `runeid` - `string`: the runeid&#x20;
* `amount` - `string`: the amount to send&#x20;
* `options` - `Object`:  (optional)
  * `feeRate` - `number`: the network fee rate

**Returns**

* `Promise` - `Object`:
  * `txid` - `string` : the txid

**Example**

```typescript
try {
  let txid = await window.unisat.sendRunes("tb1q8h8s4zd9y0lkrx334aqnj4ykqs220ss7mjxzny","63104:1",10,{feeRate:15});
  console.log(txid)
} catch (e) {
  console.log(e);
}
```

### sendInscription

```typescript
unisat.sendInscription(address, inscriptionId, options)
```

Send Inscription

**Parameters**

* `address` - `string`: the receiver address.
* `inscriptionId` - `string`: the id of Inscription
* `options` - `Object`:  (optional)
  * `feeRate` - `number`: the network fee rate

**Returns**

* `Promise` - `Object`:
  * `txid` - `string` : the txid

**Example**

```typescript
try {
  let txid = await window.unisat.sendInscription("tb1q8h8s4zd9y0lkrx334aqnj4ykqs220ss7mjxzny","e9b86a063d78cc8a1ed17d291703bcc95bcd521e087ab0c7f1621c9c607def1ai0",{feeRate:15});
  console.log("send Inscription 204 to tb1q8h8s4zd9y0lkrx334aqnj4ykqs220ss7mjxzny",txid)
} catch (e) {
  console.log(e);
}
```

### inscribeTransfer

```typescript
unisat.inscribeTransfer(ticker, amount)
```

Inscribe BRC-20  TRANSFER Inscription

**Parameters**

* `ticker` - `string`:  BRC-20 ticker&#x20;
* `amount` - `string`: the amount to inscribe

**Returns**

* `Promise` - `void`:

**Example**

```typescript

window.unisat.inscribeTransfer("ordi","100"); 

```

### signMessage

```typescript
unisat.signMessage(msg[, type])
```

sign message

**Parameters**

* `msg` - `string`: a string to sign
* `type` - `string`:  (Optional) "ecdsa" | "bip322-simple". default is "ecdsa"

**Returns**

* `Promise` - `string`: the signature.

**Example**

```typescript
// sign by ecdsa
try {
  let res = await window.unisat.signMessage("abcdefghijk123456789");
  console.log(res)
} catch (e) {
  console.log(e);
}

> G+LrYa7T5dUMDgQduAErw+i6ebK4GqTXYVWIDM+snYk7Yc6LdPitmaqM6j+iJOeID1CsMXOJFpVopvPiHBdulkE=

// verify by ecdsa
import { verifyMessage } from "@unisat/wallet-utils";
const pubkey = "026887958bcc4cb6f8c04ea49260f0d10e312c41baf485252953b14724db552aac";
const message = "abcdefghijk123456789";
const signature = "G+LrYa7T5dUMDgQduAErw+i6ebK4GqTXYVWIDM+snYk7Yc6LdPitmaqM6j+iJOeID1CsMXOJFpVopvPiHBdulkE=";
const result = verifyMessage(pubkey,message,signature);
console.log(result);

> true


// sign by bip322-simple
try {
  let res = await window.unisat.signMessage("abcdefghijk123456789","bip322-simple");
  console.log(res)
} catch (e) {
  console.log(e);
}

> AkcwRAIgeHUcjr0jODaR7GMM8cenWnIj0MYdGmmrpGyMoryNSkgCICzVXWrLIKKp5cFtaCTErY7FGNXTFe6kuEofl4G+Vi5wASECaIeVi8xMtvjATqSSYPDRDjEsQbr0hSUpU7FHJNtVKqw=


```

### pushTx

```typescript
unisat.pushTx(options)
```

Push Transaction

**Parameters**

* `options` - `Object`:
  * `rawtx` - `string`: rawtx to push

**Returns**

* `Promise` - `string`: txid

**Example**

```typescript
try {
  let txid = await window.unisat.pushTx({
    rawtx:"0200000000010135bd7d..."
  });
  console.log(txid)
} catch (e) {
  console.log(e);
}
```

### signPsbt

```typescript
unisat.signPsbt(psbtHex[, options])
```

Sign PSBT

This method will traverse all inputs that match the current address to sign.

**Parameters**

* `psbtHex` - `string`: the hex string of psbt to sign
* options
  * `autoFinalized` - `boolean`: whether finalize psbt after signing, default is true
  * `toSignInputs` - `array`:&#x20;
    * `index` - `number`: which input to sign&#x20;
    * `address` - `string`: (at least specify either an address or a publicKey) Which corresponding private key to use for signing
    * `publicKey` - `string`: (at least specify either an address or a publicKey) Which corresponding private key to use for signing
    * `sighashTypes` - `number[]`: (optionals) sighashTypes
    * `disableTweakSigner` - `boolean` :(optionals)  Default value is false. Setting it true allows the use of the original private key when signing taproot inputs.
    * `useTweakedSigner` - `boolean` :(optionals)  . By setting useTweakedSigner, you can forcibly decide whether or not to use tweakedSigner. It has a higher priority than disableTweakSigner.

&#x20;**Returns**

* `Promise` - `string`: the hex string of signed psbt

**Example**

```typescript
try {
  let res = await window.unisat.signPsbt(
    "70736274ff01007d....",
    {
        autoFinalized:false,
        toSignInputs:[
          {
            index: 0,
            address: "tb1q8h8....mjxzny",
          },
          {
            index: 1,
            publicKey: "tb1q8h8....mjxzny",
            sighashTypes: [1]
          },
          {
            index: 2,
            publicKey: "02062...8779693f",
          }
        ]
    }
  );
  console.log(res)
} catch (e) {
  console.log(e);
}

unisat.signPsbt("xxxxxxxx",{toSignInputs:[{index:0,publicKey:"xxxxxx",disableTweakSigner:true}],autoFinalized:false})

```

### signPsbts

```typescript
unisat.signPsbts(psbtHexs[, options])
```

Sign Multiple PSBTs at once

This method will traverse all inputs that match the current address to sign.

**Parameters**

* `psbtHexs` - `string[]`: the hex strings of psbt to sign
* `options` - `object`\[]: the options of signing psbt
  * `autoFinalized` - `boolean`: whether finalize psbt after signing, default is true
  * `toSignInputs` - `array`:&#x20;
    * `index` - `number`: which input to sign&#x20;
    * `address` - `string`: (at least specify either an address or a publicKey) Which corresponding private key to use for signing
    * `publicKey` - `string`: (at least specify either an address or a publicKey) Which corresponding private key to use for signing
    * `sighashTypes` - `number[]`: (optionals) sighashTypes
    * `useTweakedSigner` - `boolean` :(optionals)  . By setting useTweakedSigner, you can forcibly decide whether or not to use tweakedSigner. It has a higher priority than disableTweakSigner.

**Returns**

* `Promise` - `string[]`: the hex strings of signed psbt

**Example**

```typescript
try {
  let res = await window.unisat.signPsbts(["70736274ff01007d...","70736274ff01007d..."]);
  console.log(res)
} catch (e) {
  console.log(e);
}
```

### pushPsbt

```typescript
unisat.pushPsbt(psbtHex)
```

Push transaction

**Parameters**

* `psbtHex` - `string`: the hex string of psbt to push

**Returns**

* `Promise` - `string`: txid

**Example**

```typescript
try {
  let res = await window.unisat.pushPsbt("70736274ff01007d....");
  console.log(res)
} catch (e) {
  console.log(e);
}
```

## Events

### accountsChanged

```typescript
unisat.on('accountsChanged', handler: (accounts: Array<string>) => void);
unisat.removeListener('accountsChanged', handler: (accounts: Array<string>) => void);
```

The `accountsChanged` will be emitted whenever the user's exposed account address changes.

### networkChanged

```typescript
unisat.on('networkChanged', handler: (network: string) => void);
unisat.removeListener('networkChanged', handler: (network: string) => void);
```

The `networkChanged` will be emitted whenever the user's network changes.


# Connect with UniSat Mobile Wallet

If you want to authorize login through our wallet application, you need to use deeplink for interaction. Here are the description of the deeplink’s format and parameters respectively:

## Request Methods

### Connect wallet:

App developers can use the following URL format to request connection authorization from the wallet:

`unisat://request?method=connect&from=yourAppName&nonce=xxxxx`

In this case, yourAppScheme needs to be replaced with your deeplink scheme, yourAppName replaced with your application name, and xxxxx replaced with your nonce.

<br>

### Switch Chain:

App developers can use the following URL format to request a network switch from the wallet:

`unisat://request?method=switchChain&data=[chain]&from=yourAppName&nonce=xxxxx`

**Parameter Description**

Chain: `BITCOIN_MAINNET`, `BITCOIN_TESTNET`, `BITCOIN_TESTNET4`, `BITCOIN_SIGNET`, `FRACTAL_BITCOIN_MAINNET`, `FRACTAL_BITCOIN_TESTNET`

And the chain is a based64 emcpded JSON array. For example, `data=toBase64(JSON.stringify([FRACTAL_BITCOIN_MAINNET]))`

<br>

### Signing Message:

When requesting the wallet to sign a message, use the following URL format:

`unisat://request?method=signMessage&data=[text,type]from=yourAppName&nonce=xxxxx`

Here, data is a based64 emcpded JSON array. For example, data=toBase64(JSON.stringify(\[text,type]))

### Signing PSBT:

To request the wallet to sign a PSBT, use the following URL format:

`unisat://request?method=signPsbt&data=[psbtHex,options]&from=yourAppName&nonce=xxxxx`

Here, data is a based64 emcpded JSON array. For example, data=toBase64(JSON.stringify(\[psbtHex, options]))<br>

## Return datas

After interacting in the wallet application, if the user confirms the relevant operations, a deeplink will be returned in the following format:

`unisat://response?data=xxxxx&nonce=xxxxx`

Here, xxxxx is the base64 encoded data.

If the user declines the related operations, a deeplink is returned in the following format:

`unisat://response?error=xxxxx&nonce=xxxxx`

Here, xxxxx is the base64 encoded error information.

{% hint style="info" %}
Note: the **nonce** parameter is provided by the application side, facilitating the application in matching each request with its corresponding response result. **nonce** will be returned in result responses.
{% endhint %}


# Supported Chains

UniSat Wallet currently supports the following chain types, which can be obtained through `unisat.getChain`, and switched through the `unisat.switchChain` method.

<table><thead><tr><th width="203">name</th><th width="310">enum</th><th width="85">unit</th><th>network</th></tr></thead><tbody><tr><td>Bitcoin Mainnet</td><td>BITCOIN_MAINNET</td><td>BTC</td><td>livenet</td></tr><tr><td>Bitcoin Testnet</td><td>BITCOIN_TESTNET</td><td>tBTC</td><td>testnet</td></tr><tr><td>Bitcoin Testnet4 (Beta)</td><td>BITCOIN_TESTNET4</td><td>tBTC</td><td>testnet</td></tr><tr><td>Bitcoin Signet</td><td>BITCOIN_SIGNET</td><td>sBTC</td><td>testnet</td></tr><tr><td>Fractal Bitcoin Mainnet </td><td>FRACTAL_BITCOIN_MAINNET</td><td>FB</td><td>livenet</td></tr><tr><td>Fractal Bitcoin Testnet</td><td>FRACTAL_BITCOIN_TESTNET</td><td>tFB</td><td>livenet</td></tr></tbody></table>

Please note that the term "network" refers to the Bitcoin address format. For example, in the case of Fractal Bitcoin Testnet, the returned network is livenet.


# API for Bitcoin


# General


# Blocks

{% content-ref url="/pages/TW5KOD0xoorJG8T53lGX" %}
[Get Blockchain Info](/developer-support/open-api-documentation/api-for-bitcoin/general/blocks/get-blockchain-info)
{% endcontent-ref %}

{% content-ref url="/pages/F66mcuK09cynWb8jf8gy" %}
[Get Block Transactions](/developer-support/open-api-documentation/api-for-bitcoin/general/blocks/get-block-transactions)
{% endcontent-ref %}


# Get Blockchain Info

{% openapi src="/files/r4o4wn8MaaisuPe8MEqf" path="/v1/indexer/blockchain/info" method="get" %}
[swagger.yaml](https://3523236551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ4NHAHIVnWQiEecvs1By%2Fuploads%2FwLGCSgZJ2x4Y5HBwMo4J%2Fswagger.yaml?alt=media\&token=41cf5a70-2499-4da5-ab33-0530fc3e2772)
{% endopenapi %}


# Get Block Transactions

{% openapi src="/files/r4o4wn8MaaisuPe8MEqf" path="/v1/indexer/block/{height}/txs" method="get" %}
[swagger.yaml](https://3523236551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ4NHAHIVnWQiEecvs1By%2Fuploads%2FwLGCSgZJ2x4Y5HBwMo4J%2Fswagger.yaml?alt=media\&token=41cf5a70-2499-4da5-ab33-0530fc3e2772)
{% endopenapi %}


# Transactions

{% content-ref url="/pages/OvwJtnyRKyKfZ7cXP5tN" %}
[Get Tx Info](/developer-support/open-api-documentation/api-for-bitcoin/general/transactions/get-tx-info)
{% endcontent-ref %}

{% content-ref url="/pages/iGQCtgsuYLLJx7tv6RkN" %}
[Get Tx Inputs](/developer-support/open-api-documentation/api-for-bitcoin/general/transactions/get-tx-inputs)
{% endcontent-ref %}

{% content-ref url="/pages/J6ymnbAu9o27FuPItWj5" %}
[Get Tx Outputs](/developer-support/open-api-documentation/api-for-bitcoin/general/transactions/get-tx-outputs)
{% endcontent-ref %}


# Get Recommended Fees

{% openapi src="/files/wuL7WuDXPKpDrRJwOheY" path="/v1/indexer/fees/recommended" method="get" %}
[swagger.yaml](https://3523236551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ4NHAHIVnWQiEecvs1By%2Fuploads%2FMaKx2H5KXIl7DMOHEIZp%2Fswagger.yaml?alt=media\&token=c0b49d6a-c5b0-489c-bd82-6e260a0bf603)
{% endopenapi %}

<figure><img src="/files/94WP7Q3BAHOJJzCqdNVm" alt=""><figcaption></figcaption></figure>


# Get Tx Info

{% openapi src="/files/r4o4wn8MaaisuPe8MEqf" path="/v1/indexer/tx/{txid}" method="get" %}
[swagger.yaml](https://3523236551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ4NHAHIVnWQiEecvs1By%2Fuploads%2FwLGCSgZJ2x4Y5HBwMo4J%2Fswagger.yaml?alt=media\&token=41cf5a70-2499-4da5-ab33-0530fc3e2772)
{% endopenapi %}


# Get Tx Inputs

{% openapi src="/files/r4o4wn8MaaisuPe8MEqf" path="/v1/indexer/tx/{txid}/ins" method="get" %}
[swagger.yaml](https://3523236551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ4NHAHIVnWQiEecvs1By%2Fuploads%2FwLGCSgZJ2x4Y5HBwMo4J%2Fswagger.yaml?alt=media\&token=41cf5a70-2499-4da5-ab33-0530fc3e2772)
{% endopenapi %}


# Get Tx Outputs

{% openapi src="/files/r4o4wn8MaaisuPe8MEqf" path="/v1/indexer/tx/{txid}/outs" method="get" %}
[swagger.yaml](https://3523236551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ4NHAHIVnWQiEecvs1By%2Fuploads%2FwLGCSgZJ2x4Y5HBwMo4J%2Fswagger.yaml?alt=media\&token=41cf5a70-2499-4da5-ab33-0530fc3e2772)
{% endopenapi %}


# Get UTXO Info

{% openapi src="/files/nKkGRaU7yLsgvnB68g6O" path="/v1/indexer/utxo/{txid}/{index}" method="get" %}
[swagger.yaml](https://3523236551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ4NHAHIVnWQiEecvs1By%2Fuploads%2FTb9tBhNb9gZTI6HmfIuf%2Fswagger.yaml?alt=media\&token=4a135df5-1651-491f-a929-6e56077206c0)
{% endopenapi %}

The return result of this UTXO interface will have three scenarios:\ <br>

1. When UTXO has not been spent, it will return the information of this UTXO, and `isSpent` will be set to false.

<figure><img src="/files/1uYxRDkmaEACSNdkzqSx" alt=""><figcaption></figcaption></figure>

2. When UTXO has been spent, but the transaction that spent it has not yet been confirmed, it will return the information of this UTXO, and `isSpent` will be set to true.

<figure><img src="/files/62eXOp5RT4aVPtOMvadJ" alt=""><figcaption></figcaption></figure>

3. When UTXO has been spent and the transacted spend has been confirmed, it will return null.

<figure><img src="/files/D9yp4gGee4pyZtUWCd8V" alt=""><figcaption></figcaption></figure>


# Addresses

{% content-ref url="/pages/TZgjKQBdFLb3yIGXKGK1" %}
[Get Address Balance](/developer-support/open-api-documentation/api-for-bitcoin/general/addresses/get-address-balance)
{% endcontent-ref %}

{% content-ref url="/pages/BnbYutyKk5rspiYhjbpu" %}
[Get Address History](/developer-support/open-api-documentation/api-for-bitcoin/general/addresses/get-address-history)
{% endcontent-ref %}

{% content-ref url="/pages/V68cbS8qF6wRUDKwVxz4" %}
[Get BTC UTXO](/developer-support/open-api-documentation/api-for-bitcoin/general/addresses/get-btc-utxo)
{% endcontent-ref %}

{% content-ref url="/pages/fAWNUj66GE065XVooK5R" %}
[Get Inscription UTXO](/developer-support/open-api-documentation/api-for-bitcoin/general/addresses/get-inscription-utxo)
{% endcontent-ref %}




---

[Next Page](/llms-full.txt/1)

