How it works
Last updated
Last updated
Omnivault is a complex solution gluing together a set of smart contracts, services and communication protocols in order to allow a frictionless user experience across different blockchains.
There're multiple dimensions to it. In this section we'll outline and breakdown the mechanics and logistics of the main involved processes.
Every supported chain has a Deposit Router, the purpose of which is to allow users to top up their omnivault account
This contract is responsible for accounting: it stores information on who owns what.
After the user deposits some tokens on their omnivault account, they can spend those tokens on any blockchain, but before that they must deploy an omnivault smart wallet on that blockchain.
The "deploy wallet" transaction is almost no different from any other transaction performed with omnivault. Read Transaction Flow chapter to learn the details.
It's a transaction performed by omnivault user with Central Contract, basically telling the protocol what the user wants to perform and what tokens the user wants to spend in order to do that and pay for gas
It's a transaction performed by a random automated 3rd-party executor which performs the transaction that the user initially wanted to perform, on the destination network.
The Execution transaction is performed on the Smart Wallet that the user previously deployed on demand.
The tokens that are necessary to perform the transaction are taken from Peripheral Pools
Those are cross-chain liquidity pools aimed to supply the required tokens in the required amounts for the executor bots disposal, based on the intent submitted by the user on the Host Chain.
They receive tokens from the user when the Intent transaction is executed, and in exchange they provide the required token on the desired chain B.