# Use Omnichain Tokens

## About LayerZero and the omnichain token standards

[LayerZero](https://layerzero.network/) is an omnichain messaging protocol.

Unlike a traditional "bridge" that locks assets on one chain and mints a wrapped copy on another, LayerZero allows smart contracts on different chains to "talk" to each other directly.\
This is done through the Omnichain Fungible Token Standard (OFT) for regular tokens, and the Omnichain Non-Fungible Token Standard (ONFT) for NFTs.

Learn more about the OFT and ONFT standards here:

{% embed url="<https://docs.layerzero.network/v2/concepts/applications/oft-standard>" %}

In effect, LayerZero's OFT allows a project token (such as $PSG or $CITY) to exist natively on Chiliz Chain while moving seamlessly to other blockchains and their ecosystem.

LayerZero supports 700+ assets in more than 170 blockchain networks, thanks to as many OFT/ONFT smart contracts:

{% embed url="<https://docs.layerzero.network/v2/deployments/oft-ecosystem-stargate-assets?stages=mainnet>" %}

Among those networks are EVM-compatible chains like Chiliz Chain, such as Ethereum of course, but also Base, Arbitrum, Polygon, BNB Chain, etc.\
But LayerZero also supports non-EVM chains, such as Solana, Aptos, Sei, TON, etc.

## Why make project tokens omnichain?

Bridging project tokens via LayerZero transforms them into omnichain assets that can live and be used anywhere. This bring interoperability, and therefore:

* Project token holders from can use their token where they are most useful.
* Chiliz Chain dApp Developers can have their dApp accept deposits from users on other chains.
* Sports club can widen the reach of their Fan Tokens, opening access to fans outside of the Chiliz Chain userbase.

The central idea remains the same: By making a project token works accross chains, the utility of the token increases widely.

## How it works

{% hint style="info" %}
This explanation is based on EVM-based blockchains, such as Chiliz Chain, Base and Ethereum.\
LayerZero also supports non-EVM blockchains, such as Solana.
{% endhint %}

To create an omnichain project token on Chiliz Chain, it needs to implement the `OFT.sol` contract, which itself extends the standard `ERC20.sol` contract.

{% embed url="<https://github.com/LayerZero-Labs/LayerZero-v2/blob/main/packages/layerzero-v2/evm/oapp/contracts/oft/OFT.sol>" %}

Because most project tokens exist as standard ERC-20 tokens, we cannot just replace their contracts with the `OFT.sol` contract.

To make them omnichain without reissuing them, we need to use the OFT Adapter pattern:

{% embed url="<https://docs.layerzero.network/v2/developers/evm/oft/quickstart#oft-adapter>" %}

... which uses the `OFTAdapter.sol` contract:

{% embed url="<https://github.com/LayerZero-Labs/LayerZero-v2/blob/main/packages/layerzero-v2/evm/oapp/contracts/oft/OFTAdapter.sol>" %}

This allows to extend the capabilities of tokens without altering them: The OFT Adapter acts as an intermediary between the existing token and the LayerZero network.

Through that adapter, the token can communicate with the `OFT.sol` contract that is deployed on the destination chain.\
When bridging the token, the OFT Adapter contract on Chiliz Chain "locks" a certain amount of tokens, and tells the OFT contract on the destination chain to "mint" an equivalent amount of tokens for that chain.\
When the holder wants to return the token on Chiliz Chain, the remote OFT contract burns the tokens, and the OFT Adapter contract on Chiliz Chain unlocks and releases the original tokens.

This "Lock-and-Mint" mechanism ensures that the total circulating supply remains constant across all chains, while preserving the immutability and history of the original token contract on Chiliz Chain.

## EVM to EVM guide

{% content-ref url="/pages/bx9HVtsMMdGNOZN4B8bV" %}
[Bridging from Base to Chiliz Chain](/develop/advanced/use-omnichain-tokens/bridging-from-base-to-chiliz-chain.md)
{% endcontent-ref %}

{% content-ref url="/pages/CbiGWjKhHHMCgh8g2PbO" %}
[Bridging from Chiliz Chain to Base](/develop/advanced/use-omnichain-tokens/bridging-from-chiliz-chain-to-base.md)
{% endcontent-ref %}

## Non-EVM to EVM guide

{% content-ref url="/pages/AqLZBhEQZkHtf0AWFFp4" %}
[Bridging from Solana to Chiliz Chain](/develop/advanced/use-omnichain-tokens/bridging-from-solana-to-chiliz-chain.md)
{% endcontent-ref %}

## EVM to non-EVM guide

{% content-ref url="/pages/sifKNJ9gITraZHovUDAb" %}
[Bridging from Chiliz Chain to Solana](/develop/advanced/use-omnichain-tokens/bridging-from-chiliz-chain-to-solana.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chiliz.com/develop/advanced/use-omnichain-tokens.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
