# Architecture

L’architecture d’OmniYield est conçue pour être modulaire, agnostique de la chaîne et hautement évolutive.

Notre objectif principal est de créer une couche de rendement agnostique de la chaîne qui maximise les rendements ajustés au risque pour les utilisateurs à travers la DeFi. Pour ce faire, le système utilise une analyse approfondie des données, des algorithmes avancés hors chaîne, des protocoles de sécurité stricts, des règles de diversification et une architecture qui abstrait la complexité des interactions inter-chaînes.

### Composants clés de l’architecture

<details>

<summary><strong>Vaults</strong></summary>

La porte d’entrée de l’utilisateur vers OmniYield.

Ces contrats intelligents conformes à l’ERC-4626 gèrent en toute sécurité les dépôts, reçoivent les rapports des stratégies et traitent les retraits.

Ils servent d’interface principale coordonnant les fonds des utilisateurs avec les Stratégies sous-jacentes.

</details>

<details>

<summary><strong>Couche d’exécution (Solver)</strong></summary>

La couche d’intelligence d’OmniYield.

Ces systèmes automatisés analysent en permanence les protocoles DeFi à travers les chaînes, identifient les opportunités de rendement optimales, évaluent les risques et dictent l’allocation d’actifs pour les Vaults.

Ce traitement est calculé hors chaîne pour des raisons d’efficacité — seuls les résultats sont implémentés sur la chaîne, empêchant les stratégies d’OmniYield d’être imitées.

</details>

<details>

<summary><strong>Stratégies</strong></summary>

Chaque Vault est lié à au moins un contrat de Stratégie.

Ce composant traduit les décisions du solver en actions. Il gère les complexités techniques du mouvement des actifs, y compris les swaps de jetons, la fourniture de liquidité, le prêt, le staking, etc.

</details>

<details>

<summary><strong>Destinations</strong></summary>

Les protocoles DeFi spécifiques, les pools de liquidité ou les fermes de rendement où les actifs du vault sont finalement déployés.

</details>

<details>

<summary><strong>Infrastructure de messagerie inter-chaînes</strong></summary>

La technologie fondamentale permettant les capacités inter-chaînes, facilitant la communication et les transferts d’actifs entre différentes blockchains.

</details>

### Le cycle de vie des actifs

Comprendre le flux des actifs aide à clarifier le fonctionnement du système :

{% stepper %}
{% step %}
**Dépôt**

Un utilisateur dépose un seul type d’actif (par exemple, USDC) dans le Vault OmniYield correspondant sur n’importe quelle chaîne prise en charge. Les actifs déposés sont déplacés vers le contrat Vault sur le hub Arbitrum et y restent initialement inactifs.
{% endstep %}

{% step %}
**Rééquilibrage inter-chaînes**

* Le composant hors chaîne (Solver autonome) surveille les soldes des vaults et les conditions du marché. Lorsqu’un certain seuil d’actifs inactifs est atteint, ou lors de cycles d’optimisation périodiques, il détermine l’allocation optimale pour les Stratégies actuelles sur les chaînes intégrées et propose un plan de rééquilibrage. Si la proposition respecte les contraintes de sécurité et de performance, elle déclenche un rééquilibrage (par exemple, déplacer X montant d’USDC vers la Stratégie A sur la Chaîne Y) via le contrat Vault sur le hub Arbitrum.&#x20;
* À l’aide de LayerZero et d’Axelar, un message contenant les instructions de rééquilibrage est envoyé du hub vers le contrat Vault concerné sur les chaînes cibles.
* Le système exécute les étapes nécessaires (telles que le pontage, l’échange, le dépôt, etc.) pour rééquilibrer.
* L’allocation mise à jour est enregistrée, et des confirmations/mises à jour d’état sont renvoyées au hub Arbitrum via la couche de messagerie. Ce processus peut impliquer le transfert de fonds inactifs du hub vers une Stratégie ou le déplacement de fonds entre différentes Stratégies pour rechercher de meilleurs rendements.
  {% endstep %}

{% step %}
**Auto-compounding et reporting consolidé**

* Les contrats de Stratégie réclament périodiquement les récompenses gagnées auprès des protocoles de destination, les convertissent en l’actif de base du vault (par exemple, USDC) et les réinvestissent automatiquement. Ce processus est orchestré par des Keepers autorisés.&#x20;
* Les données de performance, y compris les récompenses générées par ces Stratégies sur toutes les chaînes prises en charge, sont continuellement renvoyées au hub Arbitrum. Les récompenses sont ajoutées à la valeur totale du vault, composant automatiquement les rendements pour les déposants.
  {% endstep %}

{% step %}
**Retrait**

* Les retraits ne sont pas limités à la chaîne de dépôt ; les utilisateurs peuvent initier une demande de retrait à tout moment depuis n’importe quelle chaîne prise en charge (**ce n’est pas obligatoirement la même chaîne que celle utilisée pour le dépôt**).
* Des frais de performance de 9 % sont calculés sur la base du profit généré par le dépôt d’un utilisateur à travers toutes les Stratégies et chaînes sous-jacentes.
* La demande est acheminée vers le hub Arbitrum. Si le Vault dispose de suffisamment de fonds inactifs (actifs non déployés activement dans des Stratégies), le retrait est traité immédiatement.
* Si le Vault ne dispose pas de suffisamment de fonds inactifs, le hub signale aux Stratégies de retirer le montant requis. Il donne la priorité aux retraits des Stratégies dont l’impact sur le rendement global (APR) est minimisé. Ce processus peut prendre un peu plus de temps selon les protocoles sous-jacents.
  {% endstep %}

{% step %}
**Réclamer**

* Une fois qu’une liquidité suffisante est disponible dans le Vault, l’utilisateur peut réclamer son retrait. Lors de la réclamation, les actifs correspondants sont transférés vers le portefeuille de l’utilisateur via l’infrastructure inter-chaînes.
  {% endstep %}
  {% endstepper %}

### Architecture inter-chaînes

L’infrastructure d’OmniYield repose sur une architecture robuste de type hub-and-spoke :&#x20;

* **Hub :** Nous utilisons Arbitrum comme hub opérationnel central (la « chaîne principale »). C’est là que résident principalement la logique centrale, les calculs complexes et la gestion globale de l’état du protocole OmniYield.
* **Spokes :** Toutes les autres blockchains prises en charge fonctionnent comme des « chaînes spoke » ou des « chaînes latérales ». Ce sont les réseaux où peuvent provenir les dépôts des utilisateurs et où de nombreuses Stratégies de rendement sous-jacentes sont déployées. Elles servent principalement de points d’exécution, recevant les instructions du Hub.

<figure><img src="https://832193092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcMcq7CdPxVFPVJMUzlcn%2Fuploads%2FBtawLgOlAjrD8wyj0BEj%2Fimage.avif?alt=media&#x26;token=d98a07d3-6b84-4c1b-bab0-3e2c1ed7870d" alt=""><figcaption></figcaption></figure>

#### **Flux de communication :**

{% stepper %}
{% step %}
**Agrégation**

Lorsqu’une décision de rééquilibrage est prise ou que des actions utilisateur (comme des dépôts/retraits nécessitant un mouvement inter-chaînes) se produisent, des messages inter-chaînes sont générés et transmis de manière sécurisée des chaînes spoke vers le hub Arbitrum.
{% endstep %}

{% step %}
**Calcul**

Le Hub traite ces messages entrants, effectue les calculs nécessaires (comme l’optimisation de l’allocation d’actifs sur tous les spokes, le calcul de la performance globale du vault, la consolidation des frais) et prend des décisions stratégiques sur la base de sa vision globale du système.
{% endstep %}

{% step %}
**Distribution**

Une fois les décisions prises, les instructions nécessaires et les données de transaction sont redistribuées depuis Arbitrum vers les contrats intelligents concernés sur les chaînes spoke pour exécution (par exemple, déposer des fonds dans une Stratégie spécifique sur un autre réseau).
{% endstep %}
{% endstepper %}

{% hint style="success" %}
Cette conception modulaire permet :

* **Logique centralisée, exécution décentralisée**\
  Ce modèle garantit la cohérence des données, Arbitrum jouant le rôle de source unique de vérité. Le déploiement réel du capital s’effectue sur les chaînes spoke, en tirant parti des opportunités uniques offertes par chaque chaîne.
* **Modularité et extensibilité**\
  De nouvelles chaînes, actifs, stratégies et destinations peuvent être intégrés de manière plug-and-play avec un minimum de modifications de la base de code existante.\
  Cela garantit une faible surface d’attaque tout en facilitant le développement de produits supplémentaires. Pour renforcer davantage sa robustesse et ses fonctionnalités, le protocole OmniYield s’intègre à divers primitives et infrastructures DeFi, offrant la meilleure expérience utilisateur et permettant une interaction fluide avec d’autres outils financiers.
  {% endhint %}

### Communication inter-chaînes

Le fonctionnement de notre modèle hub-and-spoke sur de nombreuses blockchains est rendu possible en s’appuyant sur des fournisseurs de messagerie inter-chaînes de premier plan : LayerZero et Axelar (et potentiellement d’autres, adaptés à des jetons/chaînes/fonctions spécifiques à l’avenir).&#x20;

LayerZero permet une messagerie légère et efficace, garantissant une latence minimale et une interopérabilité sans confiance sur les réseaux pris en charge. Axelar complète cela avec un routage de haut niveau et la livraison sécurisée de messages inter-chaînes généralisés.

* **L’épine dorsale de la communication :** Ces protocoles agissent comme une infrastructure de communication sécurisée et fiable reliant notre Hub (Arbitrum) à toutes les chaînes Spoke. Ils fournissent les chemins essentiels pour transmettre des données et des instructions entre les frontières des blockchains. Tout le relais, la validation et le règlement des messages sont effectués via les rails de messagerie sécurisés de ces fournisseurs.
* **Faciliter les opérations clés :** LayerZero et Axelar transmettent les messages critiques nécessaires aux fonctions essentielles. Cela inclut :
  * Informer le Hub des nouveaux dépôts effectués sur les chaînes spoke.
  * Relayer les demandes de retrait des utilisateurs sur les chaînes spoke vers le Hub pour traitement.
  * Envoyer des commandes du Hub vers les contrats de stratégie sur les chaînes spoke afin d’exécuter des dépôts, des retraits ou des rééquilibrages.
  * Reporter les rendements générés, les indicateurs de performance et les données de frais des stratégies sur les chaînes spoke vers le Hub.

### Reporting consolidé des frais

Dans les configurations multi-chaînes classiques, chaque chaîne fonctionne souvent comme un silo avec une logique et un reporting de performance isolés. OmniYield adopte une approche radicalement différente. Nous estimons que notre écosystème doit fonctionner comme un protocole unifié unique, et non comme un ensemble fragmenté de déploiements spécifiques à chaque chaîne.

Bien qu’OmniYield génère des frais à partir de stratégies de rendement opérant sur de nombreuses chaînes, le protocole met en œuvre un reporting consolidé des frais, un processus dans lequel les données de génération de frais de toutes les chaînes prises en charge sont agrégées, normalisées et calculées sur Arbitrum (le hub).&#x20;

{% hint style="success" %}
Cela permet :

* **Expérience utilisateur flexible :** Les utilisateurs n’ont pas à se soucier d’incitations incohérentes. Ils peuvent déposer depuis la chaîne de leur choix en sachant que les frais, les opportunités de rendement et les récompenses restent cohérents dans tout l’écosystème OmniYield.
* **Tokenomics partagées :** Tous les frais du protocole, quelle que soit leur chaîne d’origine, contribuent au même modèle de revenus global.
* **Indicateurs transparents :** Le reporting unifié élimine les écarts et améliore l’auditabilité.
  {% endhint %}
