Deposit your stablecoins once, and use them on every chain imaginable!
This project aims to leverage LayerZero channels to create a pull-based payment solution. Current bridges are mostly 1-to-1, making user experience of using multiple chains pretty bad. OmniZero aims to solve this issue by making everyone able to deposit from whichever chain they want, and use their funds on whichever chain they want. This way, the wallets of users can also be multi-chain.
This project consists of three parts. There are smart-contracts programmed with Solidity, which are responsible for keeping the accounting details of users. OmniChainCore, which is only deployed on Optimism, acts as a single source of truth for all chains. OmniChainClients are deployed on every other chain, and communicate with Optimism using the LayerZero contracts. The second part is the routing bots, which provide centralised support for chains that are not yet supported by LayerZero. These bots pass messages using the ExternalRouter contracts, which are designed as a hot swap replacements to LayerZero contracts, and will be changed when support arrives. The third part is the React-based frontend for users to check out their balances and deposit or withdraw on whichever chain that they would like.