> For the complete documentation index, see [llms.txt](https://docs.omnivault.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.omnivault.io/how-it-works.md).

# How it works

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.&#x20;

There're multiple dimensions to it. In this section we'll outline and breakdown the mechanics and logistics of the main involved processes.

## Deposit Flow

<figure><img src="/files/myfGwjHabFOSdd8YaTvO" alt=""><figcaption><p>Once funds arrive to the Central Contract, they're fully operational for the user</p></figcaption></figure>

### Deposit Routers&#x20;

Every supported chain has a Deposit Router, the purpose of which is to allow users to top up their omnivault account

### Central Contract

This contract is responsible for accounting: it stores information on who owns what.&#x20;

## SmartWallet Deployment Flow

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](#transaction-flow) chapter to learn the details.  &#x20;

<figure><img src="/files/WurT9j9zPXza5aV9kNdO" alt=""><figcaption></figcaption></figure>

## Transaction Flow

### Intent Submission

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

### Intent Execution&#x20;

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](#smartwallet-deployment-flow) that the user previously deployed on demand.

The tokens that are necessary to perform the transaction are taken from [Peripheral Pools](#peripheral-pools)

<figure><img src="/files/phQJbD0OPHyd8AaM5b71" alt=""><figcaption></figcaption></figure>

### 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.&#x20;

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.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.omnivault.io/how-it-works.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.
