Symbiosis: To/From BTC
The Symbiosis protocol: the implementation of the cross-chain BTC exchange process using the Symbiosis BTC bridge
Introduction
This document describes the implementation of the cross-chain BTC exchange process within the Symbiosis protocol using the Symbiosis BTC bridge. It highlights the solutions and approaches used to facilitate cross-chain operations involving BTC. Understanding these mechanisms is important for developers and stakeholders engaged in the deployment and operation of cross-chain exchanges.
Implemented cases:
Bridging BTC two ways:
Wrapping BTC from the Bitcoin network to BNB Chain
Unwrapping BTC from BNB Chain to the Bitcoin network
Exchanging BTC two ways:
Exchanging BTC for another token within a single cross-chain operation across certain supported blockchain networks.
Exchanging a token for BTC within a single cross-chain operation across certain supported blockchain networks.
Key Components in the BTC Bridge/Exchange Process within the Symbiosis Protocol

Forwarder: This component handles user requests to exchange BTC from the Bitcoin network for tokens across other blockchain networks. It generates a unique BTC address for each request, stores the payload for the request, and forwards the received BTC to the intended destination (hence the name “forwarder”). The forwarder implements functionality that isn't available in Bitcoin network smart contracts. The forwarder acts as a custodial wallet; it can be operated by anyone willing to cover the fees for forwarding transactions on the Bitcoin network. Important: the forwarder must be fully trusted. Each integrator can deploy their own forwarder and trust it to process transactions initiated through their integration. Symbiosis, for example, trusts its own forwarder for transactions handled through its WebApp. The forwarder provides compatibility with regular and legacy Bitcoin wallets.
BTC portal: This is a smart contract located on the Bitcoin blockchain, playing a role similar to Portal smart contracts of the Symbiosis protocol on other supported blockchains. Unlike Ethereum Virtual Machine (EVM) smart contracts, its state is validated only by the relayers MPC group. The Bitcoin consensus layer only validates funds moving to or from its address.
Web/mobile apps powered by the Symbiosis web SDK: A UI provided by Symbiosis or an integrator that enables users to access the functionality of the Symbiosis protocol. It uses the Symbiosis SDK/API to compose call data for cross-chain operations and retrieve states stored on Symbiosis smart contracts. This documentation explains how users interact with the protocol using the Symbiosis WebApp. However, any integrator using the Symbiosis API/SDK can provide similar UI and functionality to interact with the Symbiosis protocol.
Relayers network: A blockchain-agnostic, P2P network consisting of registered relayer nodes securitised by the MPC/HTSS scheme. It facilitates the secure and efficient transmission of data between supported blockchain networks, ensuring data integrity and resilience against potential attacks through various technical approaches and crypto-economic incentive mechanisms. For more information about the relayers network, please refer to Relayers network.
Сore smart contracts implement the on-chain logic of cross-chain operations (cross-chain swaps, cross-chain zaps, interchain communication, bridging). The smart contracts are deployed and tuned by Symbiosis administrators while adding a blockchain to the Symbiosis protocol. For more information about the Symbiosis smart contracts, please refer to Symbiosis Routing Contracts.
Bridging BTC Two Ways
Wrapping BTC: BTC → syBTC
Symbiosis bridges BTC from the Bitcoin network to BNB Chain by wrapping it into syBTC (address). The wrapping process involves locking the original asset on its native blockchain, the Bitcoin network, and minting an equivalent amount of the token on the target blockchain, BNB Chain.
Unwrapping BTC: syBTC → BTC
The unwrapping process reverses the wrapping by burning the syBTC on BNB Chain and releasing the equivalent amount of BTC on the Bitcoin network. This ensures that the supply of wrapped tokens always matches the amount of BTC locked, maintaining a 1:1 backing ratio.
syBTC Purpose
On BNB Chain, syBTC can be exchanged for another wrapped BTC token: BTCB and then routed through the Symbiosis protocol using stable tokens or WBTC.
Exchanging BTC Two Ways
The Symbiosis protocol enables users to exchange BTC for other digital assets across supported blockchain networks.
Let’s break down how this process works with real examples.
Exchanging BTC for Another Token
Exchanging BTC for another token through the Symbiosis protocol involves the following steps:
Requesting a Quotation: A user initiates an exchange by specifying the BTC amount, slippage tolerance, destination token, destination chain, and an address on the destination chain.
Receiving a Quotation: The protocol provides a quote detailing the amount of the destination token to be received, estimated fees, and a newly generated BTC address for the user to send their specified amount of BTC.
Triggering the Exchange: The user sends the specified amount of BTC to the provided address. If the BTC can be processed via the protocol, the deposit will trigger the cross-chain exchange process with the specified parameters. If not, the BTC will be returned to the address specified by the user.
Bridging to the BNB Chain: The protocol uses its bridge to wrap BTC from the Bitcoin network into tokens on the BNB Chain. These wrapped BTC tokens (syBTC) are then locked in the Depository contract.
Solving On-Chain syBTC Exchange: The Depository contract only releases locked syBTC under specific conditions. The Solver service locates an on-chain exchange that can fulfil the conditions and calls the Depository to complete the swap. If these conditions cannot be met, the syBTC will be unwrapped and the BTC will be returned to the address specified by the user.
Completing the Cross-chain Swap: Once the cross-chain operation is completed, the user receives the destination tokens at the specified address on the destination chain.
An example of exchanging BTC for USDT (Ethereum) is are shown below: Scheme 2
NB: This type of exchange is routed through the BNB chain and the Octopool, which holds stablecoins on the Symbiosis Host Chain. This method is more common because tokens from almost any supported blockchain network can be exchanged through this pool.

Important notes for Scheme 2
Step 1. A user specifies the BTC amount to exchange, slippage tolerance, destination token, destination chain, and an address on the destination chain.
Step 2.
Similar to any cross-chain swap, Symbiosis WebApp composes calldata, calculating all necessary intermediate swaps and estimates transaction fees on the intermediate chains and the destination chain to complete the cross-chain swap with the specified values from Step 1
Unlike other cross-chain swaps, Symbiosis WebApp sends this calldata to the Forwarder and requests it to generate an address on the Bitcoin network for this cross-chain swap.
Step 3: Forwarder generates an address on the Bitcoin network and saves this address and the associated payload (provided by Symbiosis WebApp) in its local database for the cross-chain swap. Users have a set timeframe to send BTC to this generated address. If this timeframe expires, a new request and address will be needed.
Step 4. The user receives a notification of the address to send BTC to and its expiration time.
Step 5. The user sends the specified amount of BTC (from Step 1) to the provided address (from Step 4) using their chosen BTC wallet.
Step 6.
Step 6.1. Forwarder monitors its addresses.
Step 6.2. Upon receiving a transfer at one of these addresses, it forwards the BTC to the BTC Portal. It also adds the associated payload for the cross-chain swap.
Step 7.
Step 7.1. Relayers monitor the BTC Portal (MPC address) on the Bitcoin blockchain.
Step 7.2. When relayers detect a BTC transfer to the BTC Portal (MPC address), they compose, sign, and send a transaction to BNB Chain. The instructions for actions on BNB Chain and other chains come from the payload.
Step 8. Step 8. syBTC is minted and locked in the Depository contract. For each syBTC lock, the Depository stores the following parameters:
Conditions under which the lock can be released
The minimum acceptable amount of tokens after the exchange (on the BNB chain)
Destination addresses the tokens can be sent to (the user’s address and/or Metarouter contract)
The execution payload required to complete the cross-chain swap
All this data is derived from the payload constructed in Step 2.
Step 9.
Step 9.1. The Solver continuously monitors lock events emitted by the Depository.
Step 9.2. When a lock event is detected, the Solver:
Finds an exchange route that satisfies the unlock conditions.
Sends a transaction on the BNB Chain, calling the Depository to complete the swap.
Step 10.
Step 10.1. If the release conditions are met, the following actions happen:
The locked syBTC is released and exchanged for BTCB in the Symbiosis syBTC ↔ BTCB liquidity pool.
The BTCB is swapped for USDC through third-party liquidity sources (DEX aggregators are used).
The resulting USDC is forwarded to Symbiosis contracts to continue the cross-chain flow.
Step 10.2. The received USDC is then locked inside Symbiosis contracts, and an Oracle request is issued.
NB Steps 10.1. & 10.2 are executed within a single transaction. This ensures that if something fails, the syBTC remains locked in the Depository, allowing the Solver to retry the operation.
Lock Release Conditions
Immediate Swap Completion: The Depository releases the syBTC lock without delay if the tokens are exchanged for an amount higher than the minimum required amount.
Delayed Completion: The Depository releases the lock with delay if the exchange results in an amount equal to the minimum acceptable amount.
Return of Funds to the Bitcoin Network: If it becomes impossible to perform the exchange even at the minimum amount:
The syBTC is unwrapped back into native BTC.
The BTC is returned to the user-specified address on the Bitcoin network.
Example:
A syBTC lock is created with a minimum acceptable output of 100 USDC on BNB Chain.
If the Solver finds an exchange route that yields 110 USDC, the lock is released immediately.
If the Solver finds an exchange route that yields 100 USDC, the lock will be released with a delay..
If the Solver cannot find a route that produces even 100 USDC, even after a significant amount of time, the syBTC will be unwrapped, and the user will receive their BTC back on the Bitcoin network.
Additional information: Slippage Tolerance Distribution in Cross-Chain Swaps
Steps 10.2-14 are similar to any cross-chain swap performed across supported blockchain networks. For more information, please refer to Symbiosis: Cross-Chain Swaps
What Is Solver
The Solver service is an off-chain component that monitors new lock events and executes the steps required to complete a cross-chain swap. It computes the best available on-chain route that satisfies the defined conditions and performs the necessary transactions. The Solver can make multiple attempts to complete the swap, increasing the likelihood of successful execution.
Currently, Symbiosis operates a single Solver service. In the future, we may introduce multiple independent Solver operators, each capable of processing swaps and receiving fees for successful executions.
Exchanging a Token for BTC
Exchanging a token for BTC through the Symbiosis protocol involves the following steps:
Requesting a Quotation: A user initiates an exchange by specifying the token amount, slippage tolerance, BTC as the destination token, the Bitcoin network as the destination chain, and an address on the destination chain.
Receiving a Quotation: The protocol provides a quote detailing the amount of the destination token to be received, and estimated fees.
Triggering the Exchange: The user signs and sends the transaction containing the calldata received on Step 2, which triggers the cross-chain exchange process with the specified parameters.
Completing the Operation: Once the cross-chain operation is completed, the user receives BTC at the specified address on the Bitcoin network.
Below is an example of exchanging a token on Ethereum for BTC: Scheme 4.

Important notes for Scheme 4
Step 1. A user specifies the amount to exchange, slippage tolerance, and the address on the Bitcoin network.
Steps 2-10 are similar to any cross-chain swap performed across supported blockchain networks. For more information, please refer to Symbiosis: Cross-Chain Swaps
Step 11. BTCB is exchanged for syBTC on BNB Chain.
Step 13.
Step 13.1. Relayers monitor Oracle requests generated by the Symbiosis smart contracts.
Step 13.2. When relayers detect an Unwrap event, they compose, sign, and send a transaction to the Bitcoin network transfering BTC from BTC Portal to the address specified by the user (Step 1).
Last updated