# Symbiosis Core Smart Contracts Overview

{% hint style="info" %}

* If you are curious to see the Symbiosis Protocol in action, check out \
  [Symbiosis WebApp](https://app.symbiosis.finance/swap?chainIn=Ethereum\&tokenIn=ETH).
* The Symbiosis Core Smart Contracts are open source and available at\
  <https://github.com/symbiosis-finance/core-contracts>.
* For security audits, please refer to [security-audits](https://docs.symbiosis.finance/main-concepts/security-audits "mention").
  {% endhint %}

The Symbiosis Core Smart Contracts implement the on-chain logic for cross-chain operations. These smart contracts are deployed across all blockchain networks supported by Symbiosis and are fine-tuned to handle requests specific to each network. When the smart contracts process a request, they generate events called Oracle requests. These events contain all the necessary data to execute the next steps of cross-chain operations on other chains and are key triggers for the relayers’ activity.

The Symbiosis protocol has two slightly different sets of smart contracts: Scheme 1.

<figure><img src="https://1179234091-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MbqmbXNUH5sa4BvYwD0%2Fuploads%2FYVlmgaxVHmp8ghUGKATU%2FContracts%20V2-Contracts%20Top%20(1).png?alt=media&#x26;token=acfc2e32-e5ea-4598-bdcc-eebda9c53f37" alt=""><figcaption><p>Scheme 1. The Symbiosis Core Contracts.</p></figcaption></figure>

Let's see what each contract does:

1. The **MetaRouterGateway** contract secures the interactions of the MetaRouter contract with users’ ERC20 tokens. <mark style="background-color:purple;">Users’ ERC20 tokens should only be approved for this contract.</mark>&#x20;
2. The **MetaRouter** contract manages calls to other Symbiosis contracts on one blockchain within a  cross-chain operation.&#x20;
3. The **Portal** contract locks and unlocks users' stablecoins during cross-chain operations.
4. The **BridgeV2** contract is a proxy between the Symbiosis Relayers Network and the Synthesis/Portal contracts.
5. The **Synthesis** contract mints and burns sTokens during cross-chain operations.&#x20;
6. A **Symbiosis Octopool** is an AMM liquidity pool containing several types of tokens of the same nominal value. For more information, see [symbiosis-octopools](https://docs.symbiosis.finance/crosschain-liquidity-engine/symbiosis-octopools "mention").&#x20;
7. The **MulticallRouter** contract manages calls to Symbiosis contracts on on the Symbiosis Host Chain within a cross-chain operation, when the Symbiosis Host Chain isn't the source or destination blockchain of the cross-chain operation.

[symbiosis-routing-contracts](https://docs.symbiosis.finance/crosschain-liquidity-engine/symbiosis-routing-contracts "mention") document explains how the Core Smart Contracts interact during cross-chain operations.&#x20;

## More Information

* sTokens (sStable tokens, sWETH, sWBTC, etc.) are explained here: [wrapped-tokens](https://docs.symbiosis.finance/main-concepts/wrapped-tokens "mention").
* Here is an explanation of how the Symbiosis Protocol handles cross-chain operations [symbiosis-routing-contracts](https://docs.symbiosis.finance/crosschain-liquidity-engine/symbiosis-routing-contracts "mention").
