Symbiosis Documentation
Symbiosis NestDeveloper ToolsGo to Bridge & Swap
  • Getting Started with Symbiosis
  • Symbiosis: Frequently Asked Questions
  • Main concepts
    • Glossary
    • Symbiosis SIS Token
    • Symbiosis sTokens
    • Symbiosis: Cross-Chain Swaps
      • Symbiosis: To/From BTC
      • Symbiosis: To/From TON
    • Cross-Chain Zaps
    • Symbiosis as Interchain Communication Protocol
    • Symbiosis & Fees
    • Security Audits
    • Bug Bounty Program
  • Governance
    • 🚩Governing Symbiosis
  • User Guide (WebApp)
    • Symbiosis WebApp
    • Bridge with Symbiosis: sUSDC, sWETH, sWBTC
    • Swap & Bridge with Symbiosis
    • Swap & Bridge To and From Bitcoin
    • Swap & Bridge To and From Tron
    • Stuck Transactions
    • Bridging SIS Token
    • Symbiosis Liquidity Pools
    • Withdrawing from Symbiosis Octopool
    • Cross-Chain Zaps
    • Common Issues and Solutions
    • Where are My Tokens?
    • Symbiosis Explorer
    • More about Slippage Tolerance
  • Reward Programs
    • Symbiosis Reward Programs
    • Farming on Octopools
    • SIS LP Farming
    • veSIS
  • Cross-chain liquidity engine
    • Symbiosis Core Smart Contracts Overview
    • Symbiosis Mint-Burn Process
    • Symbiosis BridgeV2 Contract
    • Symbiosis Routing Contracts
    • Symbiosis & Emergencies
    • Symbiosis Octopools
  • Relayers network
    • Symbiosis Relayers Network
    • Symbiosis PoS Staking & Symbiotic Staking
      • Symbiosis X Symbiotic: SIS Restaking Vault User Guide
    • Relayers Network: Architecture and Operations
    • Symbiosis Relayer Node
    • Symbiosis Relayers Network: Emergencies
  • Developer Tools
    • Symbiosis Developer Tools
    • Symbiosis API
    • Symbiosis JS SDK
      • JS SDK Types
      • JS SDK Configuration
  • Miscellaneous
    • Symbiosis on Testnet
    • Symbiosis Multisig Address on Scroll
    • Symbiosis v1 vs. v2
  • Follow Us
  • Symbiosis | X
  • Symbiosis | Telegram
  • Symbiosis | Blog
  • Symbiosis | Publish0x
  • Symbiosis | Discord
  • Symbiosis | Linkedin
  • Symbiosis | Github
Powered by GitBook
On this page
  • Minting and Burning Introduction
  • No Double Spending
  • Emergencies

Was this helpful?

  1. Cross-chain liquidity engine

Symbiosis Mint-Burn Process

Symbiosis Core Smart Contracts: Portal/Synthesis contracts and mint/burn processes.

PreviousSymbiosis Core Smart Contracts OverviewNextSymbiosis BridgeV2 Contract

Last updated 2 days ago

Was this helpful?

Minting and Burning Introduction

  • If you are curious to see the Symbiosis Protocol in action, check out .

  • The Symbiosis Core Smart Contracts are open source and available at .

  • For security audits, please refer to Security Audits.

The Symbiosis Protocol mints and burns sTokens during cross-chain operations performed via the Symbiosis Protocol. The Portal and Synthesis contracts are the main smart contracts of the mint-burnt process:

  • Whenever Portal locks tokens, Synthesis mints the same amount of sTokens (Scheme 1),

  • Whenever Synthesis burns sTokens, Portal on the corresponding blockchain releases the same amount of tokens (Scheme 2) on the corresponding blockchain.

While Symbiosis has the capability to take any token from one blockchain and mint a synthetic counterpart on another, the protocol primarily engages with a select group: namely stablecoins, WETH (Wrapped ETH), and WBTC (Wrapped BTC).

Transit tokens: WBTC, WETH and specific stablecoins can be seen as transit tokens in the Symbiosis protocol, since they are used to enable cross-chain operations within the protocol.

More about sTokens can be found in Symbiosis sTokens.

Schemes 1 and 2 show minting and burning routines.

Steps 1-7 shown in Schemes 1 and 2 are part of every cross-chain operation. Please refer to Symbiosis Routing Contracts to see how the Core Smart Contracts interact with each other during cross-chain operations performed via the Symbiosis Protocol.

The Symbiosis Relayers Network: See Relayers network for more information.

No Double Spending

Any cross-chain operation in Symbiosis protocol v2 consists of two or three transactions.

If the Symbiosis Host Chain isn't the source or destination blockchain of a cross-chain operation, there will be three transactions:

  1. The first transaction (signed and sent by a user) is on the source blockchain,

  2. The second transaction (signed and sent by the Relayers Network) is on the Symbiosis Host Chain, and

  3. The third transaction (signed and sent by the Relayers Network) is on the destination blockchain.

If the Symbiosis Host Chain is the source or destination blockchain of a cross-chain operation, there will be two transactions:

  1. The first transaction (signed and sent by a user) is on the source blockchain, and

  2. The second transaction (signed and sent by the Relayers Network) is on Symbiosis Host Chain.

or

  1. The first transaction (signed and sent by a user) is on the Symbiosis Host Chain, and

  2. The second transaction (signed and sent by relayers) is on the destination blockchain.

Each cross-chain operation has its unique ID that is calculated using the calldata of the cross-chain operation. The Portal and Synthesis contracts check the ID of each processing cross-chain operation and keep records of executed ones.

Example: Consider the sToken minting operation:

Synthesis mints tokens and records the operation within the same transaction:

  • If the transaction is completed and the tokens are minted, then a record of the operation is created. The contract will not mint tokens a second time for the transaction with the same ID.

  • If the transaction fails, no sTokens are minted and no information about the operation is recorded.

Emergencies

Since every cross-chain operation is a sequence of transactions that must be executed one by one on different blockchains, there is always a chance that something may go wrong. For instance, the time set for a cross-chain operation is over or exchanging rates in one of DEXs changes, and the transaction cannot be executed due to non-acceptable slippage change.

An emergency means that the transaction on the source blockchain has been processed, but there is no transaction on the destination blockchain, or that transaction is failed. If an emergency occurs, the entire cross-chain operation gets stuck.

For a detailed explanation of how Symbiosis handles such emergencies, please refer to Symbiosis & Emergencies.

Symbiosis WebApp
https://github.com/symbiosis-finance/core-contracts
Scheme 1. The minting routine of the Symbiosis protocol.
Scheme 2. The burning routine of the Symbiosis protocol.