# Overview

### What is Function ?&#x20;

Function is building the financial infrastructure that makes Bitcoin productive, unlocking yield, liquidity, and capital efficiency for holders across DeFi and traditional finance. FBTC turns Bitcoin into an asset that works.

### What is FBTC?&#x20;

FBTC represents the first omnichain Bitcoin yield asset, enabling BTC holders to participate in structured, risk-managed and programmatic yield strategies. FBTC is fully backed on a 1:1 basis with BTC, Bitcoin Reserve Address List is public and can be verified at any time. FBTC combines the security of Bitcoin reserves with the flexibility of smart contracts, creating a secure and efficient bridge between the Bitcoin network and modern DeFi protocols.

### What problem does FBTC solve?

FBTC transforms idle Bitcoin into a productive asset, bringing native BTC liquidity into DeFi. Bitcoin holders can access yield-generating strategies without selling their BTC - enhancing Bitcoin's utility while earning additional returns on their holdings. This makes FBTC a powerful tool for maximizing the potential of Bitcoin in the DeFi ecosystem.

To see the value of productive Bitcoin, compare the returns: simply holding BTC versus earning a steady 3% annual yield with FBTC.

<p align="center"><strong>BTC Growth with 3% APY</strong></p>

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2FOSxNgWjCD6aEOuILWYWV%2FFrame%201739332384%20(2).png?alt=media&amp;token=3f5ab23d-7eaa-4f5f-a45b-c2d8e4ae315b" alt=""><figcaption><p>Illustrative returns; historical performance is not indicative of future returns.</p></figcaption></figure>

## Key Features

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><h3>💹 <strong>Yield Generation</strong></h3><p>FBTC enables users to participate in various yield-generating activities such as lending, staking, and liquidity provision, maximizing the value of their BTC holdings.</p></td><td></td><td></td></tr><tr><td><h3>🌐 Cross-Chain Interoperability</h3></td><td>FBTC facilitates the transfer of BTC across multiple blockchain networks, enhancing liquidity and usability in various dApps and financial services.</td><td></td></tr><tr><td><h3>🔐 Security and Transparent</h3><p>FBTC employs advanced security measures like Multi-Party Computation (MPC) and Threshold Signature Schemes (TSS) to protect assets and ensure decentralized control, maintaining full transparency, with every BTC <a href="https://www.fxn.xyz/proof_of_assets">verifiably backed 1:1</a>.</p></td><td></td><td></td></tr></tbody></table>


# Architecture

The FBTC protocol's architecture is primarily structured around three main components: custodial addresses on the Bitcoin main chain, smart contracts on destination chains, and off-chain modules.

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2FjbLZ9l10ZQcq1Aq37jJN%2Fimage.png?alt=media&amp;token=8acb88a2-d55c-4778-b4e6-92ffd19c3a6c" alt="" data-size="line"></td><td>Custodial Addresses</td><td></td><td><a href="/system-components/custodial-addresses">Custodial Addresses</a></td></tr><tr><td><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2Fn4VCFUNJZkG9nHuF6YuC%2Fimage.png?alt=media&amp;token=651e23cf-fc41-4dce-935c-beb0b6a5cdc3" alt="" data-size="line"></td><td>Onchain Smart Contracts</td><td></td><td><a href="/system-components/onchain-smart-contracts">Onchain Smart Contracts</a></td></tr><tr><td><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2FCfTVhGe3d8A1CCxYa9Cb%2Fimage.png?alt=media&amp;token=674aa31e-386c-4b92-a016-2c521b5345a0" alt="" data-size="line"></td><td>Offchain Service</td><td></td><td><a href="/system-components/offchain-service">Offchain Service</a></td></tr></tbody></table>

## High-level Workflow

### Mint Flow

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2FZcqct5b9BSJa4HcUfhNI%2FBurn%20Flow%20(1).png?alt=media&amp;token=ac4f47a5-da24-4473-bdf8-7b1c85a97c80" alt=""><figcaption><p>Mint FBTC</p></figcaption></figure>

1. Merchants transfer native BTC to a pre-configured custodial address.
2. Merchants interact with the Bridge contract and initiate a mint request.
3. The Bridge Monitor that monitors on-chain events in real-time detects the minting request.
4. Bridge Monitor also monitors BTC deposit transactions on the Bitcoin main chain.
5. Bridge Monitor sends the minting request to TSS Gateway.
6. TSS Gateway initiates a contract to confirm the minting of the Bridge contract. Multiple TSS Nodes co-sign through the MPC algorithm construct the transaction signature. Each TSS Node operates an independent risk control system that validates the deposit transactions and minting requests to secure the FBTC minting.
7. After the minting transaction is confirmed on the destination chain, the FBTC token is minted.

### Burn Flow

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2Fwmt7HfJW4BeuFbWybrTh%2FMint%20Flow%20(6).png?alt=media&amp;token=a15ff57f-a71d-4a35-9696-2e81fc1c4888" alt=""><figcaption><p>Burn FBTC</p></figcaption></figure>

1. Merchants interacts with the Bridge contract and initiates a burn request.
2. The Bridge contract burns the merchants' FBTC token.
3. The Bridge Monitor monitors the burn request event.
4. Bridge Monitor sends the withdrawal request to TSS Gateway.
5. TSS Gateway initiates a BTC transfer, and transfers the specified amount of BTC to the pre-configured withdrawal address of the merchant. Multiple TSS Nodes co-sign through the MPC algorithm construct the transaction signature. Each TSS Node operates an independent risk control system that validates the BTC transfer transactions and burning requests to secure the FBTC unwrapping.&#x20;
6. After the withdrawal transaction is confirmed on the Bitcoin main chain, TSS Gateway calls the Bridge contract to confirm that the withdrawal request has been processed.

### Cross-Chain Flow

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2Fh3lJaqaJGprYn4PWweT8%2FCross-chain%20Flow%20(1).png?alt=media&amp;token=f2649545-1d76-40f1-a554-99b62aff77e1" alt=""><figcaption><p>FBTC Cross-chain Transfer</p></figcaption></figure>

1. A merchant interacts with the bridge contract from the source chain and initiates a cross-chain request.
2. The Bridge contract burns the merchant’s FBTC.
3. Bridge Monitor monitors events on the source chain in real-time and detects the cross-chain request immediately.&#x20;
4. Bridge Monitor sends the cross-chain request to TSS Gateway.
5. TSS Gateway initiates a contract call to the Bridge contract on the destination chain to confirm the FBTC cross-chain operation. Multiple TSS Nodes with individual risk control co-sign the confirmation transaction.&#x20;
6. After the cross-chain transaction is confirmed on the destination chain, the specified number of FBTC tokens are minted for the merchants.


# Custodial Addresses

Custodial addresses are a critical component of the FBTC project, used to manage the secure deposit and withdrawal of BTC assets. These addresses ensure that user funds are safely stored and accurately reflected in the FBTC system.&#x20;

## Functionality

### Deposit Addresses

**Assignment of Deposit Addresses** Each merchant is assigned a unique BTC deposit address. When a user deposits BTC into this address, it triggers the minting process, converting the deposited BTC into an equivalent amount of FBTC.

**Deposit Verification** The system continuously monitors the blockchain for incoming transactions to these deposit addresses. Upon detecting a deposit, the system verifies the transaction details and updates the user's FBTC balance accordingly.

**Security Measures** Deposit addresses are managed using Multi-Party Computation (MPC) and Multi-Signature (Multi-Sig) techniques to ensure that no single entity has complete control over the assets. This decentralized approach significantly enhances the security of user funds.

### Withdrawal Addresses

**Assignment of Withdrawal Addresses** Each merchant is also assigned a unique BTC withdrawal address. When a user initiates a burn request to convert FBTC back to BTC, the system sends the corresponding BTC amount to this withdrawal address.

**Withdrawal Verification** The system verifies the burn request details and ensures that the correct amount of BTC is sent to the merchant's withdrawal address. This process involves multi-signature validation to maintain security and accuracy.

**Security Measures** Similar to deposit addresses, withdrawal addresses are also managed using MPC and Multi-Sig techniques to protect against unauthorized access and ensure the safety of user assets.


# Onchain Smart Contracts


# FBTC Bridge

The strong liquidity of assets within the Ethereum ecosystem is attributed to the presence of numerous EVM-equivalent or compatible chains. This aspect presents a greater challenge for Bitcoin. Therefore, designing a secure and reliable bridge is essential for unlocking the potential of Bitcoin assets.

In its initial version, FBTC will utilize a TSS network to ensure the bridge's security.

## Key Features

### Merchant Management

* **Add Merchants** - The contract owner can add merchants and set their deposit and withdrawal addresses. Only merchants can initiate minting and burning requests.
* **Edit Merchants** - The contract owner can update the deposit and withdrawal addresses of merchants to ensure uniqueness and accuracy.
* **Remove Merchants** - The contract owner can remove merchants and delete their associated address mappings.

### Request Handling

* **Minting Requests** - Merchants can initiate minting requests to convert BTC deposits into FBTC. Minting requests undergo verification and signature processes to ensure the legality and security of the transactions.
* **Burning Requests** - Merchants can initiate burning requests to convert FBTC back into BTC. Burning requests also undergo strict verification processes to ensure asset security.
* **Cross-Chain Requests** - Users can initiate cross-chain requests to transfer FBTC from one chain to another. Cross-chain requests need to be confirmed and signed on both the source and target chains.

### Fee Management

The FBTC Bridge contract employs a flexible fee model to collect and pay transaction-related fees. Fees can be paid by minting new FBTC or deducting from the user's account.

### Security Mechanisms

* **Multi-Signature** - All critical operations require multi-signature verification to ensure transaction legality and security.
* **Decentralized Governance** - The contract is managed by multiple governance members in a decentralized manner to prevent single points of failure and malicious actions.
* **Real-Time Monitoring** - The contract monitors all transaction requests and operations in real-time to ensure system stability and security.


# FBTC Minter

The `FBTCMinter` contract is a critical component in the FBTC protocol that manages the confirmation of minting, burning, and cross-chain requests. It operates under a role-based access control system to ensure secure and efficient processing of these operations.

## Key Features

### **Role-Based Access Control**

Utilizes specific roles for minting, burning, and cross-chain operations to ensure only authorized entities can perform these actions.

* `MINT_ROLE`: Responsible for confirming minting requests.
* `BURN_ROLE`: Responsible for confirming burning requests.
* `CROSSCHAIN_ROLE`: Responsible for confirming cross-chain requests.

### **Bridge Integration**

The `FBTCMinter` interacts with the `FireBridge` contract to execute its functions, ensuring seamless integration within the FBTC ecosystem.

## High-level Workflow

The `FBTCMinter` contract works closely with the `FireBridge` contract to ensure secure and efficient confirmation of minting, burning, and cross-chain requests. Below is a detailed workflow for each operation:

### Minting Workflow

1. **Minting Request Initiation**:
   * A merchant initiates a minting request via the `FireBridge` contract.
   * The `FireBridge` contract validates the request and records it.
2. **Confirmation by FBTCMinter**:
   * An entity with the `MINT_ROLE` calls the `confirmMintRequest` function on the `FBTCMinter` contract.
   * `FBTCMinter` forwards the confirmation to the `FireBridge` contract by calling its `confirmMintRequest` function.
   * The `FireBridge` contract processes the request and mints the appropriate amount of FBTC tokens.

### Burning Workflow

1. **Burning Request Initiation**:
   * A merchant initiates a burning request via the `FireBridge` contract.
   * The `FireBridge` contract validates the request and records it.
2. **Confirmation by FBTCMinter**:
   * An entity with the `BURN_ROLE` calls the `confirmBurnRequest` function on the `FBTCMinter` contract, providing the request hash, withdrawal transaction ID, and output index.
   * `FBTCMinter` forwards the confirmation to the `FireBridge` contract by calling its `confirmBurnRequest` function.
   * The `FireBridge` contract processes the request and burns the appropriate amount of FBTC tokens.

### Cross-Chain Workflow

1. **Cross-Chain Request Initiation**:
   * A merchant initiates a cross-chain request via the `FireBridge` contract.
   * The `FireBridge` contract validates the request and records it.
2. **Confirmation by FBTCMinter**:
   * An entity with the `CROSSCHAIN_ROLE` calls the `confirmCrosschainRequest` function on the `FBTCMinter` contract, providing the request details.
   * `FBTCMinter` forwards the confirmation to the `FireBridge` contract by calling its `confirmCrosschainRequest` function.
   * The `FireBridge` contract processes the request and initiates the cross-chain transfer.

### Batch Confirmation Workflow

1. **Batch Cross-Chain Request Initiation**:
   * Multiple cross-chain requests are initiated and recorded by the `FireBridge` contract.
2. **Batch Confirmation by FBTCMinter**:
   * An entity with the `CROSSCHAIN_ROLE` calls the `batchConfirmCrosschainRequest` function on the `FBTCMinter` contract, providing an array of requests.
   * `FBTCMinter` iterates through the array and forwards each request confirmation to the `FireBridge` contract.
   * The `FireBridge` contract processes each request and initiates the respective cross-chain transfers.


# FBTC Token

The FBTC token contract is an essential component of the FBTC protocol, designed to facilitate the seamless transfer and management of Bitcoin (BTC) across multiple blockchain networks.&#x20;

## Key Features

* **Cross-Chain Interoperability**: The FBTC token can be transferred across different blockchain networks, facilitating interoperability and liquidity.
* **Minting and Burning**: Merchants can mint FBTC tokens by depositing BTC and burn FBTC tokens to redeem BTC, ensuring a 1:1 peg between FBTC and BTC.
* **Security**: The contract employs advanced security measures, including Multi-Party Computation (MPC) and Threshold Signature Schemes (TSS), to protect user assets.
* **Governance**: The FBTC token contract is governed by a decentralized community, allowing for transparent decision-making and protocol upgrades.

## Workflow

1. **Minting**: Merchants deposit BTC into a specified address. Once the deposit is confirmed, the corresponding amount of FBTC is minted and credited to the user's account.
2. **Transferring**: Users can transfer FBTC tokens across different blockchain networks, leveraging the protocol's cross-chain interoperability features.
3. **Burning**: Merchants initiate a burn request to redeem their BTC. The equivalent amount of FBTC is burned, and the BTC is transferred to the user's specified address.

## Use Cases

* **DeFi Applications**: Users can use FBTC in various DeFi platforms for lending, borrowing, yield farming, and other financial activities.
* **Cross-Chain Transfers**: Facilitates the movement of BTC across different blockchain networks without relying on centralized exchanges.
* **Enhanced Security**: Provides a secure and decentralized way to manage BTC holdings.


# Fee Model

The Fee Model is a module designed to manage and calculate fees for cross-chain operations. This contract allows the contract owner to set default fee configurations for various operations as well as specific configurations for different chains, ensuring accurate and flexible fee calculations.

## Key Features

### Set Default Fee Configuration

The contract owner can set default fee configurations for different operations. The default configuration includes:

* Fee rate (expressed in parts per million)
* Minimum fee
* Whether the configuration is active

### Set Chain-Specific Fee Configuration

In addition to the default configuration, the contract owner can set fee configurations for specific chains. These configurations can override the default settings to provide more precise fee management for specific chains.

### Calculate Fees

Based on the configurations, the Fee model contract can calculate the applicable fee for each operation. The calculation logic is as follows:

* If a chain-specific fee configuration exists, it is used to calculate the fee.
* If the chain-specific configuration does not exist or is not active, the default configuration is used.
* If neither configuration is present or active, the fee is zero.

## Configuration Management

### Setting Default Fee Configuration

Administrators can set default fee configurations for specific operations by calling the `setDefaultFeeConfig` method. This method accepts the following parameters:

* Operation type (e.g., Mint, Burn, or Crosschain Request)
* Fee configuration, including fee rate, minimum fee, and activation status

### Setting Chain-Specific Fee Configuration

Administrators can set fee configurations for specific chains by calling the `setChainFeeConfig` method. This method accepts the following parameters:

* Operation type
* Target chain identifier
* Fee configuration, including fee rate, minimum fee, and activation status

### Getting Fees

The `getFee` method calculates and returns the applicable fee for a specific request. This method automatically prioritizes configurations to ensure accurate fee calculations.

## Fee Schedule

Currently, merchant's fee for mint and burn operations is based on a tiered rate design. For detailed rates, please contact <inquiry@fbtc.com>


# Offchain Service

The off-chain module is a crucial component of the FBTC protocol, supporting several key functions within the FBTC ecosystem. It comprises the Bridge Monitor, TSS Gateway, TSS Nodes, Risk Control Module, and Blockchain Nodes. Each module plays an essential role in ensuring the security and efficiency of FBTC asset operations.

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2FcSYo9S66LlBJXWEreaDV%2FCross-chain%20Flow%20(2).png?alt=media&amp;token=5a304f27-6a09-40ca-a5f8-8e5dd43db0cf" alt=""><figcaption><p>Offchain Service Diagram</p></figcaption></figure>

## Bridge Monitor

The Bridge Monitor is a critical monitoring tool within the FBTC protocol. It ensures the legality of all on-chain transactions and lays the groundwork for the subsequent TSS signing process.

**Functions**

* Monitors on-chain events in real-time, such as new minting, burning, and cross-chain requests.
* Validates requests against predefined requirements.
* Submits valid target chain transactions to the TSS Gateway.

**Workflow**

1. Monitor on-chain events and detect minting, burning, or cross-chain requests.
2. Validate the legality of the requests.
3. Submit unsigned transactions to the TSS Gateway.

***

## TSS Gateway

The TSS Gateway is the core component connecting the Bridge Monitor and TSS Nodes. It coordinates the signing process and ensures the smooth completion of transactions.

**Functions**

* Coordinates TSS Nodes, sends signing requests, and collects the final TSS signature results.
* Broadcasts signed transactions to the blockchain.

**Workflow**

1. Receive transaction requests from the Bridge Monitor.
2. Send signing requests to the TSS Nodes.
3. Collect signatures from all TSS Nodes.
4. Broadcast the signed transaction to the destination blockchain.

***

## TSS Nodes

TSS Nodes ensure the decentralization and security of the system through a distributed signing mechanism. Each node operates an independent risk control module, further enhancing system security.

**Functions**

* Generate TSS private key shares and use these shares for signing.
* Configure independent risk control modules to ensure the legality of signing requests.

**Workflow**

1. Sign requests using TSS private key shares.
2. Validate signing requests through the risk control module.
3. Send the signature results back to the TSS Gateway.

***

## Risk Control Module

The Risk Control Module is the last line of defense in ensuring system security. It prevents the execution of illegal or risky transaction requests through rigorous validation mechanisms.

**Functions**

* Obtain information from trusted blockchain nodes.
* Validate each signing request to ensure it meets all predefined rules.

**Workflow**

1. Retrieve transaction information from trusted blockchain nodes.
2. Validate the legality of signing requests.
3. Allow only requests that meet all rules to proceed.

***

## Blockchain Nodes

Blockchain Nodes form the infrastructure of the system, ensuring the accuracy and timeliness of all transaction data.

**Functions**

* Operate as standard Bitcoin or other network blockchain nodes.
* Provide fundamental blockchain data services for other modules to query and use.

**Workflow**

1. Operate standard blockchain nodes to ensure data integrity and timeliness.
2. Provide data query services to support the Bridge Monitor and Risk Control Module operations.


# Locked FBTC Token

Locked FBTC, namely FBTC1 for easy reference, is an innovative asset within the FBTC ecosystem, designed to support a wide range of yield generation scenarios. As a versatile ERC-20 token, Locked FBTC offers multiple yield strategies, enhancing the value proposition for users seeking to maximize their returns. Unlike FBTC0, which is pegged 1:1 with BTC and does not support automatic yield generation, Locked FBTC is specifically tailored for yield generation, ensuring users can leverage various strategies effectively.

## Key Features

### Yield Generation

Locked FBTC is designed to support various yield generation scenarios, allowing users to earn returns on their assets through multiple strategies. This makes Locked FBTC a powerful tool for users looking to maximize their returns within the decentralized finance (DeFi) ecosystem.

* **Multiple Yield Strategies**: Locked FBTC supports a variety of yield strategies, including staking, lending, and liquidity provision.
* **Flexible Yield Scenarios**: Users can choose from different yield generation scenarios based on their risk appetite and return expectations.

## High-level Workflow

### Mint Locked FBTC

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2F8KfEDSzdMiv7bDkgD10z%2FCross-chain%20Flow%20(6).png?alt=media&amp;token=2c9f2ea7-b0ca-421d-9f33-ba5296aed3f1" alt=""><figcaption></figcaption></figure>

1. A FBTC0 holder transfers his FBTC0 to a partner’s vault.
2. Periodically, Partner deposits FBTC0 to FBTC1 contract to initiate a request to mint FBTC1 and burn FBTC0.
3. Bridge Monitor sends the withdrawal request to transfer the corresponding BTC from BTC0 address to BTC1 address. BTC1 address is for Partner’s yield strategy use only.
4. FBTC TSS Gateway confirms the FBTC0 is burned properly.

### Burn Locked FBTC

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2FIudyetQ7VIZhkrcNBiZl%2FCross-chain%20Flow%20(5).png?alt=media&amp;token=4ae6a8bb-1533-418a-a3a2-8e43feaaa5e9" alt=""><figcaption></figcaption></figure>

1. A merchant initiates a request to redeem FBTC. Partner may collect such requests, and transfers BTC from BTC1 address to standard FBTC’s custody address BTC0 periodically.
2. Once BTC is received at BTC0 address, FBTC1 contract initiates a request to mint FBTC0.
3. FBTC TSS Gateway will confirm FBTC0 is minted.
4. Partner Vault withdraws FBTC0 from FBTC1 contract and burns FBTC1 at the same time.
5. Partner returns FBTC0 to the merchant from Partner Vault.


# Locked FBTC Protocols Information

Locked FBTC is currently integrated with a large number of projects, here are the details, including the chain where the contract is deployed, token symbol name, the address of the contract and the BTC reserve address of the different projects.

{% tabs %}
{% tab title="Ethereum" %}

<table><thead><tr><th>Protocol Name</th><th>Token Symbol</th><th width="268">Locked FBTC Contract Address</th><th>BTC Reserve Address</th></tr></thead><tbody><tr><td>Avalon - Lending</td><td>lfbtc-Avalon-eth</td><td>0x3119a1AD5B63A000aB9CA3F2470611eB997B93B9</td><td>32DgQPVHSV6FSxLnw68nggvchp3ZNKquxA</td></tr><tr><td>Avalon - USDA Stablecoin</td><td>lfbtc-Avalon-eth</td><td>0x3119a1AD5B63A000aB9CA3F2470611eB997B93B9</td><td>32DgQPVHSV6FSxLnw68nggvchp3ZNKquxA</td></tr><tr><td>Bedrock</td><td>lfbtc-bedrock-eth</td><td>0xd681C5574b7F4E387B608ed9AF5F5Fc88662b37c</td><td>bc1qj9w5ee2kf4akvtzrj59p77yc6x02nqqg9m0tcd</td></tr><tr><td>Solv Protocol</td><td>lfbtc-solv-babylon-eth</td><td>0xEb28877D7e3DbA5bcd4D0a1474C31F8AFb2d6052</td><td>bc1q6w7dn3fkky587a2qwxp6swyhlwgueh2ew26zem</td></tr><tr><td>PumpBTC</td><td>lfbtc-pump-eth</td><td>0x777B2913b1BB171A83cA3cdf79CB40523Ac76fDb</td><td>bc1q4m5lecu2esyq3vq4vw5n2cgg3kdd8atk6cd9tc</td></tr></tbody></table>
{% endtab %}

{% tab title="Mantle" %}

<table><thead><tr><th>Protocol Name</th><th>Token Symbol</th><th width="268">Locked FBTC Contract Address</th><th>BTC Reserve Address</th></tr></thead><tbody><tr><td>Avalon</td><td>lfbtc-Avalon-mnt</td><td>0x3119a1AD5B63A000aB9CA3F2470611eB997B93B9</td><td>32DgQPVHSV6FSxLnw68nggvchp3ZNKquxA</td></tr><tr><td>Avalon - USDA Stablecoin</td><td>lfbtc-Avalon-mnt</td><td>0x3119a1AD5B63A000aB9CA3F2470611eB997B93B9</td><td>32DgQPVHSV6FSxLnw68nggvchp3ZNKquxA</td></tr><tr><td>Bedrock</td><td>lfbtc-bedrock-mnt</td><td>0xd681C5574b7F4E387B608ed9AF5F5Fc88662b37c</td><td>bc1qj9w5ee2kf4akvtzrj59p77yc6x02nqqg9m0tcd</td></tr><tr><td>Solv Protocol</td><td>lfbtc-solv-babylon-mnt</td><td>0x86680077DBC01eEd9C957470f89b2AB1dac72B53</td><td>bc1q6w7dn3fkky587a2qwxp6swyhlwgueh2ew26zem</td></tr><tr><td>PumpBTC</td><td>lfbtc-pump-mnt</td><td>0x93C6afA1882ea5E5bF403cA8fcb5aF87409EeCd0</td><td>bc1q4m5lecu2esyq3vq4vw5n2cgg3kdd8atk6cd9tc</td></tr></tbody></table>
{% endtab %}

{% tab title="BSC" %}

<table><thead><tr><th>Protocol Name</th><th>Token Symbol</th><th width="268">Locked FBTC Contract Address</th><th>BTC Reserve Address</th></tr></thead><tbody><tr><td>Avalon</td><td>lfbtc-Avalon-bsc</td><td>0x3119a1AD5B63A000aB9CA3F2470611eB997B93B9</td><td>32DgQPVHSV6FSxLnw68nggvchp3ZNKquxA</td></tr><tr><td>Avalon - USDA Stablecoin</td><td>lfbtc-Avalon-bsc</td><td>0x3119a1AD5B63A000aB9CA3F2470611eB997B93B9</td><td>32DgQPVHSV6FSxLnw68nggvchp3ZNKquxA</td></tr><tr><td>PumpBTC</td><td>lfbtc-pump-bsc</td><td>0x2B25f4F134a56054b2b6388C2750F1eA3877e02b</td><td>bc1q4m5lecu2esyq3vq4vw5n2cgg3kdd8atk6cd9tc</td></tr></tbody></table>
{% endtab %}

{% tab title="BoB" %}

<table><thead><tr><th>Protocol Name</th><th>Token Symbol</th><th width="268">Locked FBTC Contract Address</th><th>BTC Reserve Address</th></tr></thead><tbody><tr><td>Bedrock</td><td>lfbtc-bedrock-bob</td><td>0xEE03e367bcB59A9b4c1c0ea495A2e9cAC36372C8</td><td>bc1qj9w5ee2kf4akvtzrj59p77yc6x02nqqg9m0tcd</td></tr><tr><td>PumpBTC</td><td>lfbtc-pump-bob</td><td>0xd681C5574b7F4E387B608ed9AF5F5Fc88662b37c</td><td>bc1q4m5lecu2esyq3vq4vw5n2cgg3kdd8atk6cd9tc</td></tr></tbody></table>
{% endtab %}
{% endtabs %}


# Roles

## System Roles

### Merchant

An entity or a party that mints FBTC from BTC and burns FTBC into BTC is known as a merchant. A merchant can be an institution, permissioned protocol, or network. Each merchant will have to fulfill certain requirements and complete Know Your Business (KYB) before onboarding. Merchants play a pivotal role in the distribution of FBTC. If you want to know current merchants information, please check [here](/security/bitcoin-reserve-address).

### Security Council

Function’s Security Council is a group of independent and trusted institutions that currently include Antalpha, Mantle, and Cobo. The Council acts as the governance and oversight layer for FBTC by:

**Safeguarding smart contracts**

* The council reviews and audits code before deployment to identify vulnerabilities or potential exploits.
* Coordinated external and internal audits to maintain high security standards.

**Approving key upgrades and improvements**

* Every major upgrade, such as contract updates, logic modifications, or integration of new systems must be approved by the Council.
* This approval process is secured through TSS (Threshold Signature Scheme) and MPC (Multi-Party Computation) features, ensuring that no single party can execute an upgrade or transaction independently.

**Overseeing custody of $BTC to ensure $FBTC remains 1:1 backed**

* The Council oversees the mint and burn process, and performs regular reviews and audits of reserves.

**Maintaining the decentralized integrity of the system**

* Control cannot be concentrated in the hands of a single party.
* Decisions are made collectively.
* This structure preserves decentralization while maintaining reliability, compliance, and operational integrity at the institutional level.

### Custodians

The custodians refer to the financial institutions that hold customers' assets for safekeeping to prevent them from being stolen or lost. The custodian has responsibility for the care, preservation, and management of the assets on behalf of the customers. In the case of FBTC, the custodians manage users’ assets in an MPC address whose key shares are held by several trusted institutions. Custodians guard the user-deposited BTC and conduct the FBTC issuance under restricted risk control in a decentralized way.

## Contract Roles

### Contract Owner (Owner)

**Responsibilities**:

* Safe MultiSig
* Holds the highest authority to make significant changes and manage the contract.
* Executes contract upgrades and sets new implementation contract addresses.
* Adds or removes merchants.
* Sets fee models and fee recipients.
* Pauses or resumes contract functions when necessary.

### Minter

**Responsibilities**:

* Responsible for minting and burning FBTC tokens.
* Confirms users' minting and burning requests.
* Ensures that the circulation and supply of tokens comply with system rules.

### Pauser

**Responsibilities**:

* Has the authority to pause and resume contract functions.
* Pauses critical operations of the system promptly when potential risks or vulnerabilities are detected.

### Safety Committee Member

**Responsibilities**:

* Safe MultiSig
* Handle emergencies by executing emergency burn operations to protect the system and user assets.
* Review and respond to potential security threats.


# Contract Permission

Effective permissions management is critical to the security and functionality of the FBTC ecosystem. Each contract within FBTC has specific roles and permissions designed to ensure the safe and efficient operation of the system. This document outlines the key contracts in the FBTC system and their associated permissions, detailing the roles responsible for managing various functions.

<table><thead><tr><th width="177">Contract</th><th width="170">Role</th><th>Permissions</th></tr></thead><tbody><tr><td><strong>Governable</strong></td><td><a href="/security/roles#contract-owner-owner">Owner</a></td><td><ul><li>Pause / Unpause</li><li>Authorize upgrades</li><li>Rescue assets</li></ul></td></tr><tr><td><strong>FireBridge</strong></td><td><a href="/security/roles#contract-owner-owner">Owner</a></td><td><ul><li>Add/edit/remove merchants</li><li>Set token</li><li>Set minter</li><li>Set fee model</li><li>Set fee recipient</li><li>Block transactions</li></ul></td></tr><tr><td></td><td><a href="/security/roles#minter">Minter</a></td><td><ul><li>Confirm minting and burning requests</li><li>Confirm cross-chain requests</li></ul></td></tr><tr><td></td><td><a href="/security/roles#merchant">Merchant</a></td><td><ul><li>Initiate minting, burning, and cross-chain requests</li></ul></td></tr><tr><td><strong>FToken</strong></td><td><a href="/security/roles#contract-owner-owner">Owner</a></td><td><ul><li>Lock/unlock user accounts</li><li>Set bridge address</li></ul></td></tr><tr><td></td><td>Bridge</td><td><ul><li>Mint and burn FBTC tokens</li><li>Facilitate fee payments</li></ul></td></tr><tr><td><strong>FeeModel</strong></td><td><a href="/security/roles#contract-owner-owner">Owner</a></td><td><ul><li>Set default and chain-specific fee configurations</li></ul></td></tr><tr><td><strong>Locked FBTC</strong></td><td>Admin</td><td><ul><li>Unpause contract</li><li>Manage roles</li></ul></td></tr><tr><td></td><td><a href="/security/roles#pauser">Pauser</a></td><td><ul><li>Pause contract</li></ul></td></tr><tr><td></td><td><a href="/security/roles#minter">Minter</a></td><td><ul><li>Mint FBTC1</li><li>Redeem FBTC</li><li>Confirm redemption</li></ul></td></tr><tr><td></td><td><a href="/security/roles#safety-committee-member">Security Council</a></td><td><ul><li>Execute emergency burns</li></ul></td></tr></tbody></table>


# Bitcoin Reserve Address

### Fixed Address

| Address                                    | Information                                                                |
| ------------------------------------------ | -------------------------------------------------------------------------- |
| bc1q7jgulg69frc8zuzy0ng8d5208kae7t0twyfjwm | <https://mempool.space/address/bc1q7jgulg69frc8zuzy0ng8d5208kae7t0twyfjwm> |
| bc1q6c3c0t3zvnphce37ufr4yz9veaqvew2wg0shwr | <https://mempool.space/address/bc1q6c3c0t3zvnphce37ufr4yz9veaqvew2wg0shwr> |
| 3HjNJWcn2ayFLikzmKRaFtcbLufYChQo3T         | <https://mempool.space/address/3HjNJWcn2ayFLikzmKRaFtcbLufYChQo3T>         |
| 374vhN24WryvNWUUZR2uDAnL4oNP5EW4qR         | <https://mempool.space/address/374vhN24WryvNWUUZR2uDAnL4oNP5EW4qR>         |

### Dynamic Address

The Bitcoin deposit address of each merchant is a dynamic address. These addresses can be queried through the contract as follows.

#### Step 1 : Query FBTC Address of Each Qualified User

1. Open your web browser and go to [this page](https://etherscan.io/address/0xbee335BB44e75C4794a0b9B54E8027b111395943#readProxyContract#F12).
2. Scroll down to find the method `12. getQualifiedUsers` and click to expand it.
3. Click the `Query` button to call the `getQualifiedUsers` method. This will return an array containing all the merchants' FBTC addresses.

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2FctEn4YbykswKlnobWgss%2Fimage.png?alt=media&amp;token=2c38d669-3d6c-457e-bd12-4366239beffe" alt=""><figcaption></figcaption></figure>

#### Step 2: Query Bitcoin Deposit Address of Each Qualified User

1. On the same page, find the method `11. getQualifiedUserInfo` and click to expand it.
2. In the input field, enter each merchant's FBTC address obtained from Step 1.
3. Click the `Query` button to call the `getQualifiedUserInfo` method. This will return the detailed information for the merchant, including their corresponding BTC deposit address.
4. Repeat steps 2 and 3 for each merchant's BTC deposit address.

<figure><img src="https://4102630944-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSdfKsVfWUlwTQH1ZXZQG%2Fuploads%2FMj48wZ0W2hGm0hBiqhz0%2Fimage.png?alt=media&amp;token=53339f9c-8936-413f-8a2f-cafc2662dc8d" alt=""><figcaption></figcaption></figure>


# Risk Management


# Pausing

The pausing mechanism is a crucial risk management feature in the FBTC project. It allows authorized parties to temporarily halt certain operations within the smart contract to prevent further damage in the event of a detected vulnerability or security breach. This document provides an in-depth look at the pausing mechanism implemented in FBTC, its purpose, functionality, and management processes.

## Purpose

The primary purposes of the pausing mechanism are:

* **Risk Mitigation**: To quickly halt operations in case of a detected security threat or vulnerability.
* **Protection of User Funds**: To prevent unauthorized or malicious activities that could compromise user assets.
* **Operational Stability**: To provide a controlled environment for addressing issues without affecting the entire system.

## Functionality

### Pausing Operations

The pausing mechanism in FBTC allows for the suspension of critical functions such as **minting**, **burning**, and **cross-chain transfers**. When the contract is paused, these functions cannot be executed until the contract is unpaused.

### Implementation

FBTC employs the OpenZeppelin `Pausable` contract module to integrate the pausing mechanism. This module provides modifiers that can be applied to functions to restrict their execution when the contract is paused.

## Management Processes

### Pausing the Contract

1. **Detection of Threat**: Upon detecting a potential security threat or vulnerability, the authorized pauser evaluates the risk.
2. **Initiate Pause**: The pauser calls the `pause` function to suspend critical operations.
3. **Notification**: All relevant stakeholders are notified of the pause, and an investigation begins to address the issue.

### Unpausing the Contract

1. **Issue Resolution**: The detected issue or threat is thoroughly investigated and resolved.
2. **Security Assessment**: A comprehensive security assessment is conducted to ensure the system's integrity.
3. **Initiate Unpause**: The pauser calls the `unpause` function to resume normal operations.
4. **Notification**: All relevant stakeholders are notified that the contract has been unpaused and normal operations have resumed.


# Upgradability

The contract upgrade mechanism is a fundamental feature of the FBTC project, allowing the system to evolve and improve over time without disrupting existing operations. By leveraging proxy contracts and a well-defined upgrade process, FBTC ensures that contract upgrades can be implemented smoothly and securely.

## Upgradability

FBTC achieves on-chain logic through a combination of proxy contracts and implementation contracts:

* **Proxy Contract**: This is the contract with which users and other system components interact. All data is stored in the proxy contract.
* **Implementation Contract**: This contract contains the core logic but does not store any data.

FBTC uses the OpenZeppelin `TransparentUpgradeableProxy` contract to enable contract upgradability. During an upgrade, the proxy contract points to the newly deployed implementation contract without changing the proxy contract's address.

For more details, please refer to:

* [Upgrades via the Proxy Pattern](https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies#upgrading-via-the-proxy-pattern)
* [Transparent Proxies](https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies#transparent-proxies-and-function-clashes)


# Custody

Custody management is a critical component of the FBTC protocol, designed to ensure the security and integrity of assets within the ecosystem. The protocol employs several mechanisms to handle custody-related tasks, such as asset rescue, emergency burns, and regular BTC custody operations. These measures provide robust protection for user assets and ensure the system can respond effectively to unforeseen issues or security threats.

## Regular BTC Custody

In non-emergency situations, the custody of BTC within the FBTC protocol is managed through a combination of on-chain and off-chain mechanisms. This ensures that BTC assets are securely stored and efficiently managed, supporting the minting and burning of FBTC tokens. More details [here](/system-components/architecture).

## Rescue

The rescue functionality is integrated into the `Governable` contract and allows the contract owner to recover assets that are accidentally sent to the contract or otherwise become inaccessible. This feature ensures that user funds are not permanently lost due to operational errors or unforeseen circumstances.

**Workflow**:

1. **Identify Locked Assets**: The owner identifies assets that need to be rescued.
2. **Execute Rescue**: The owner calls the `rescue` function with the appropriate token address and recipient address.
3. **Transfer Assets**: The specified assets are transferred to the recipient address.

## Emergency Burn

The emergency burn functionality is designed to protect the system during critical situations by allowing authorized roles to burn tokens and prevent potential exploitation. This mechanism is typically integrated into the `FBTC1` contract, which can only be called by Safety Committee.

**Workflow**:

1. **Identify Threat**: The Safety Committee identifies a security threat that requires an emergency response.
2. **Execute Emergency Burn**: The committee calls the `emergencyBurn` function with the address and amount of tokens to be burned.
3. **Burn Tokens**: The specified tokens are burned, mitigating the identified threat.


# Proof of Reserve

Chainlink's Proof of Reserve (PoR) service for the FBTC project implements a robust and transparent reserve verification system that continuously monitors BTC reserves through a decentralized oracle network. \
\
The system automatically updates on-chain reserve data at regular intervals, ensuring the 1:1 peg between FBTC and its BTC backing is maintained through multiple protocols.

<table><thead><tr><th width="175">Network</th><th>PoR Contract Address</th><th>PoR Link</th></tr></thead><tbody><tr><td>Ethereum</td><td>0x75A0d3264a949C2C920d7F25Df174af1FaF73399</td><td><a href="https://data.chain.link/feeds/ethereum/mainnet/fbtc-por">https://data.chain.link/feeds/ethereum/mainnet/fbtc-por</a></td></tr><tr><td>Arbitrum</td><td>0xfb010c715Ff2B85DB9c896f0C030bF9329638905</td><td><a href="https://data.chain.link/feeds/arbitrum/mainnet/fbtc-por">https://data.chain.link/feeds/arbitrum/mainnet/fbtc-por</a></td></tr></tbody></table>


# FBTC-BTC Price Feed

Chainlink will also provide an on-chain price feed service with the correct FBTC / BTC Exchange Rate, with the following contract address and related information:

<table><thead><tr><th width="125">Network</th><th width="127">Pair</th><th>Price Feed Contract Address</th><th>Price Feed Link</th></tr></thead><tbody><tr><td>Ethereum</td><td>FBTC-BTC</td><td>0xe5346a4Fd329768A99455d969724768a00CA63FB</td><td><a href="https://docs.chain.link/data-feeds/price-feeds/addresses?network=ethereum&#x26;page=1&#x26;search=fbtc">https://data.chain.link/feeds/ethereum/mainnet/fbtc-por</a></td></tr><tr><td>Arbitrum</td><td>FBTC-BTC</td><td>0x84ad1Cb9FDE786c00a77b7539344ad3C66A616f5</td><td><a href="https://docs.chain.link/data-feeds/price-feeds/addresses?network=arbitrum&#x26;page=1&#x26;search=fbtc">https://data.chain.link/feeds/arbitrum/mainnet/fbtc-por</a></td></tr></tbody></table>


# Smart Contracts

## Mainnet

{% tabs %}
{% tab title="Ethereum" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://etherscan.io/address/0xbee335BB44e75C4794a0b9B54E8027b111395943">0xbee335BB44e75C4794a0b9B54E8027b111395943</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://etherscan.io/address/0x80b534D4bB3D809FbDA809DCB26D3f220634AED7">0x80b534D4bB3D809FbDA809DCB26D3f220634AED7</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://etherscan.io/address/0xC96dE26018A54D51c097160568752c4E3BD6C364">0xC96dE26018A54D51c097160568752c4E3BD6C364</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://etherscan.io/address/0xd12D39E682715a40dbC860fa07F02bF48841294e">0xd12D39E682715a40dbC860fa07F02bF48841294e</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr><tr><td>GovernorModule</td><td>Governance contract of FBTC system, including pause/unpause, assets rescuing.</td><td><a href="https://etherscan.io/address/0x09e4c43eD89E5972df026d94FdA3a7680637c59A">0x09e4c43eD89E5972df026d94FdA3a7680637c59A</a></td></tr><tr><td>Factory Contract</td><td>A core infrastructure contract that manages FBTC's locked assets, ensuring that the protocol is secure, scalable and manageable.</td><td><a href="https://etherscan.io/address/0x722b9348712418469DD6bb6c92C2560072537584">0x722b9348712418469DD6bb6c92C2560072537584</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Mantle" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://explorer.mantle.xyz/address/0xbee335BB44e75C4794a0b9B54E8027b111395943">0xbee335BB44e75C4794a0b9B54E8027b111395943</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://explorer.mantle.xyz/address/0x80b534D4bB3D809FbDA809DCB26D3f220634AED7">0x80b534D4bB3D809FbDA809DCB26D3f220634AED7</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://explorer.mantle.xyz/address/0xC96dE26018A54D51c097160568752c4E3BD6C364">0xC96dE26018A54D51c097160568752c4E3BD6C364</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://explorer.mantle.xyz/address/0xd12D39E682715a40dbC860fa07F02bF48841294e">0xd12D39E682715a40dbC860fa07F02bF48841294e</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr><tr><td>GovernorModule</td><td>Governance contract of FBTC system, including pause/unpause, assets rescuing.</td><td><a href="https://explorer.mantle.xyz/address/0x09e4c43eD89E5972df026d94FdA3a7680637c59A">0x09e4c43eD89E5972df026d94FdA3a7680637c59A</a></td></tr><tr><td>Factory Contract</td><td>A core infrastructure contract that manages FBTC's locked assets, ensuring that the protocol is secure, scalable and manageable.</td><td><a href="https://explorer.mantle.xyz/address/0x4697F9b54Bf24776b81f42A5E2Da81FBA3763bA4?tab=contract">0x4697F9b54Bf24776b81f42A5E2Da81FBA3763bA4</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Solana" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FBTC SPL Token</td><td>FBTC SPL Token Address.</td><td><a href="https://solscan.io/token/3orqhCKM5admbcHkHQhRAEKbXhUT5VPgsQqz7fBa6QdF">3orqhCKM5admbcHkHQhRAEKbXhUT5VPgsQqz7fBa6QdF</a></td></tr></tbody></table>
{% endtab %}

{% tab title="BSC" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://bscscan.com/address/0xbee335BB44e75C4794a0b9B54E8027b111395943">0xbee335BB44e75C4794a0b9B54E8027b111395943</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://bscscan.com/address/0x80b534D4bB3D809FbDA809DCB26D3f220634AED7">0x80b534D4bB3D809FbDA809DCB26D3f220634AED7</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://bscscan.com/address/0xC96dE26018A54D51c097160568752c4E3BD6C364">0xC96dE26018A54D51c097160568752c4E3BD6C364</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://bscscan.com/address/0x84cFc251F9cC8B2cf9cc1D6EaB3D2bEAA2C128F5">0x84cFc251F9cC8B2cf9cc1D6EaB3D2bEAA2C128F5</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr><tr><td>GovernorModule</td><td>Governance contract of FBTC system, including pause/unpause, assets rescuing.</td><td><a href="https://bscscan.com/address/0x09e4c43eD89E5972df026d94FdA3a7680637c59A">0x09e4c43eD89E5972df026d94FdA3a7680637c59A</a></td></tr><tr><td>Factory Contract</td><td>A core infrastructure contract that manages FBTC's locked assets, ensuring that the protocol is secure, scalable and manageable.</td><td><a href="https://bscscan.com/address/0x0Ed3bb37CD17d17bD18dB0D36558D57520D76292#code">0x0Ed3bb37CD17d17bD18dB0D36558D57520D76292</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Arbitrum" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://arbiscan.io/address/0xbee335BB44e75C4794a0b9B54E8027b111395943#code">0xbee335BB44e75C4794a0b9B54E8027b111395943</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://arbiscan.io/address/0x80b534D4bB3D809FbDA809DCB26D3f220634AED7">0x80b534D4bB3D809FbDA809DCB26D3f220634AED7</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://arbiscan.io/address/0xC96dE26018A54D51c097160568752c4E3BD6C364">0xC96dE26018A54D51c097160568752c4E3BD6C364</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://arbiscan.io/address/0x84cFc251F9cC8B2cf9cc1D6EaB3D2bEAA2C128F5">0x84cFc251F9cC8B2cf9cc1D6EaB3D2bEAA2C128F5</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr><tr><td>GovernorModule</td><td>Governance contract of FBTC system, including pause/unpause, assets rescuing.</td><td><a href="https://arbiscan.io/address/0x0d771823c72CcCa4D74695934d5a346938914547">0x0d771823c72CcCa4D74695934d5a346938914547</a></td></tr><tr><td>Factory Contract</td><td>A core infrastructure contract that manages FBTC's locked assets, ensuring that the protocol is secure, scalable and manageable.</td><td><a href="https://arbiscan.io/address/0x0Ed3bb37CD17d17bD18dB0D36558D57520D76292#code">0x0Ed3bb37CD17d17bD18dB0D36558D57520D76292</a></td></tr></tbody></table>
{% endtab %}

{% tab title="BoB" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://explorer.gobob.xyz/address/0xbee335BB44e75C4794a0b9B54E8027b111395943">0xbee335BB44e75C4794a0b9B54E8027b111395943</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://explorer.gobob.xyz/address/0x80b534D4bB3D809FbDA809DCB26D3f220634AED7">0x80b534D4bB3D809FbDA809DCB26D3f220634AED7</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://explorer.gobob.xyz/address/0xC96dE26018A54D51c097160568752c4E3BD6C364">0xC96dE26018A54D51c097160568752c4E3BD6C364</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://explorer.gobob.xyz/address/0x84cFc251F9cC8B2cf9cc1D6EaB3D2bEAA2C128F5">0x84cFc251F9cC8B2cf9cc1D6EaB3D2bEAA2C128F5</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr><tr><td>GovernorModule</td><td>Governance contract of FBTC system, including pause/unpause, assets rescuing.</td><td><a href="https://explorer.gobob.xyz/address/0x0d771823c72CcCa4D74695934d5a346938914547">0x0d771823c72CcCa4D74695934d5a346938914547</a></td></tr><tr><td>Factory Contract</td><td>A core infrastructure contract that manages FBTC's locked assets, ensuring that the protocol is secure, scalable and manageable.</td><td><a href="https://explorer.gobob.xyz/address/0xdDf20C1A73A2bCa6ad4D877EFe7c9029Ff82a37B">0xdDf20C1A73A2bCa6ad4D877EFe7c9029Ff82a37B</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Base" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://basescan.org/address/0xbee335bb44e75c4794a0b9b54e8027b111395943">0xbee335BB44e75C4794a0b9B54E8027b111395943</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://basescan.org/address/0x80b534d4bb3d809fbda809dcb26d3f220634aed7">0x80b534D4bB3D809FbDA809DCB26D3f220634AED7</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://basescan.org/token/0xc96de26018a54d51c097160568752c4e3bd6c364">0xC96dE26018A54D51c097160568752c4E3BD6C364</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://basescan.org/address/0x84cfc251f9cc8b2cf9cc1d6eab3d2beaa2c128f5">0x84cFc251F9cC8B2cf9cc1D6EaB3D2bEAA2C128F5</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr><tr><td>GovernorModule</td><td>Governance contract of FBTC system, including pause/unpause, assets rescuing.</td><td><a href="https://basescan.org/address/0x0d771823c72ccca4d74695934d5a346938914547">0x0d771823c72CcCa4D74695934d5a346938914547</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Sonic" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://sonicscan.org/address/0xbee335bb44e75c4794a0b9b54e8027b111395943">0xbee335BB44e75C4794a0b9B54E8027b111395943</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://sonicscan.org/address/0x80b534d4bb3d809fbda809dcb26d3f220634aed7">0x80b534D4bB3D809FbDA809DCB26D3f220634AED7</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://sonicscan.org/token/0xc96de26018a54d51c097160568752c4e3bd6c364">0xC96dE26018A54D51c097160568752c4E3BD6C364</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://sonicscan.org/address/0x84cfc251f9cc8b2cf9cc1d6eab3d2beaa2c128f5">0x84cFc251F9cC8B2cf9cc1D6EaB3D2bEAA2C128F5</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr><tr><td>GovernorModule</td><td>Governance contract of FBTC system, including pause/unpause, assets rescuing.</td><td><a href="https://sonicscan.org/address/0x0d771823c72ccca4d74695934d5a346938914547">0x0d771823c72CcCa4D74695934d5a346938914547</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Plume" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://etherscan.io/address/0xbee335BB44e75C4794a0b9B54E8027b111395943">0xbee335BB44e75C4794a0b9B54E8027b111395943</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://etherscan.io/address/0x80b534D4bB3D809FbDA809DCB26D3f220634AED7">0x80b534D4bB3D809FbDA809DCB26D3f220634AED7</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://etherscan.io/address/0xC96dE26018A54D51c097160568752c4E3BD6C364">0xC96dE26018A54D51c097160568752c4E3BD6C364</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://etherscan.io/address/0xd12D39E682715a40dbC860fa07F02bF48841294e">0xd12D39E682715a40dbC860fa07F02bF48841294e</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr><tr><td>GovernorModule</td><td>Governance contract of FBTC system, including pause/unpause, assets rescuing.</td><td><a href="https://etherscan.io/address/0x09e4c43eD89E5972df026d94FdA3a7680637c59A">0x09e4c43eD89E5972df026d94FdA3a7680637c59A</a></td></tr><tr><td>Factory Contract</td><td>A core infrastructure contract that manages FBTC's locked assets, ensuring that the protocol is secure, scalable and manageable.</td><td><a href="https://etherscan.io/address/0x722b9348712418469DD6bb6c92C2560072537584">0x722b9348712418469DD6bb6c92C2560072537584</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Pharos" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FBTC Token Address</td><td>FBTC Token Address.</td><td><a href="https://www.pharosscan.xyz/token/0xd990cf81e9aea2417326fdfac12b19aa66f8b6c2/">0xd990cf81e9aea2417326fdfac12b19aa66f8b6c2</a></td></tr></tbody></table>

{% endtab %}
{% endtabs %}

## Testnet

{% tabs %}
{% tab title="Mantle Sepolia" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://explorer.sepolia.mantle.xyz/address/0x0aD89E552ed249a8A60729214e8F5e483f317F47">0x0aD89E552ed249a8A60729214e8F5e483f317F47</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://explorer.sepolia.mantle.xyz/address/0x50e4FC7709998E64E83BD2C1a8a37790eb90c642">0x50e4FC7709998E64E83BD2C1a8a37790eb90c642</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="https://explorer.sepolia.mantle.xyz/address/0x037017580b1Ed99952a006b5197592B1AA08A166">0x037017580b1Ed99952a006b5197592B1AA08A166</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://explorer.sepolia.mantle.xyz/address/0x9c3508294203234DC9384a12C83de2CeBAe8E599">0x9c3508294203234DC9384a12C83de2CeBAe8E599</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr></tbody></table>
{% endtab %}

{% tab title="Ethereum Sepolia" %}

<table data-full-width="true"><thead><tr><th>Contract</th><th>Description</th><th>Address</th></tr></thead><tbody><tr><td>FireBridge</td><td>Manages cross-chain transfers, minting, and burning of FBTC tokens, and maintains merchant lists.</td><td><a href="https://sepolia.etherscan.io/address/0x0aD89E552ed249a8A60729214e8F5e483f317F47">0x0aD89E552ed249a8A60729214e8F5e483f317F47</a></td></tr><tr><td>Minter</td><td>Manages the confirmation of minting, burning, and cross-chain requests, ensuring secure and efficient processing.</td><td><a href="https://sepolia.etherscan.io/address/0x50e4FC7709998E64E83BD2C1a8a37790eb90c642">0x50e4FC7709998E64E83BD2C1a8a37790eb90c642</a></td></tr><tr><td>FToken</td><td>Represents the FBTC tokens, supports minting, burning, and fee payment functionalities.</td><td><a href="mailto:undefined">0x037017580b1Ed99952a006b5197592B1AA08A166</a></td></tr><tr><td>FeeModel</td><td>Manages the fee structure for various operations within the FBTC system, including setting and validating fees.</td><td><a href="https://sepolia.etherscan.io/address/0x9c3508294203234DC9384a12C83de2CeBAe8E599">0x9c3508294203234DC9384a12C83de2CeBAe8E599</a></td></tr><tr><td>FBTC1</td><td>Manages locked FBTC tokens, facilitating minting and redeeming operations, and includes emergency burn functionality.</td><td>Coming soon~</td></tr></tbody></table>
{% endtab %}
{% endtabs %}


# FAQs

#### Q: Why do I have different addresses in my wallet, and what are their differences?

**A:** Bitcoin addresses are 26-62 alphanumeric character identifiers, available in various formats:

1. **Legacy address (P2PKH)**: Begins with "1", case-sensitive, original and most common format, but less efficient and costlier due to larger transaction sizes.
2. **Script address (P2SH)**: Begins with "3", case-sensitive, supports additional rules and functionalities, commonly used for multi-signature addresses.
3. **Segwit address (P2WPKH)**: Begins with "bc1q", case-insensitive, uses error-correcting codes, improves scalability and reduces transaction fees with efficient script language (Segregated Witness).
4. **Taproot address (P2TR)**: Begins with "bc1p", case-insensitive, enhances privacy, scalability, and scripting capabilities, allowing for signature aggregation and making complex transactions more efficient and cost-effective.

**Q:** **Can anyone mint/burn FBTC?**

**A:** Only merchants who have completed the KYC/AML process are eligible. U.S. users are not permitted to use FBTC. For onboarding, please visit [here](https://fbtc.com/register-qualified-users).

**Q: Are there any fees for using the bridge or minting and burning FBTC?**

**A:** There are two fees you need to pay:

* **Bridge Fee**: Users need to pay a fee for using the bridge.
* **On-chain Gas Fee**: Users also need to cover the gas fees for transactions on the blockchain.

**Q: How is the 1:1 peg maintained?**

**A:** We ensure that the custodial wallet address always holds an equivalent amount of BTC to the FBTC0 on-chain. This guarantees that users can always exchange BTC and FBTC at a 1:1 ratio.

**Q: How is the security of the protocol ensured?**

**A:** The protocol contracts are stored in audited contracts and managed by licensed MPC wallet custodians. Our custodians and MPC wallet partners adhere to the highest security standards and are widely adopted by industry institutions. Using MPC custodial wallets ensures that BTC assets remain off-exchange, mitigating risks associated with exchange incidents.

***


# Audit Reports

## FBTC Audit Reports

### BlockSec FBTC Audit Report

{% file src="/files/asJ6gShYNBYujMMIIpmM" %}
BlockSec FBTC Audit Report
{% endfile %}

### Secure3 FBTC Audit Report

{% file src="/files/4y42aIWB7EQAqf1mD84E" %}

### MixBytes FBTC Audit Report

{% file src="/files/T3Zq0B4qD5qQMLoeOXMt" %}

## LockedFBTC Audit Reports

### BlockSec LockedFBTC Audit Report

{% file src="/files/DSHyNEVBXEq63WmGbKsT" %}

### Secure3 FBTC Audit Report

{% file src="/files/QCQtTh0kyZe6BNtLNKbj" %}


