> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Présentation

> Découvrez le fonctionnement de la confidentialité Helius, notamment les parcours utilisateur, les informations qui restent publiques ou privées lors d’un transfert et les anneaux dotés de politiques personnalisables.

<span id="introduction-to-rings" />

## Introduction

Chaque transaction sur Solana est publiquement accessible : les adresses, les soldes et l’historique des transferts sont visibles par tous.
Pour les anneaux de confidentialité Solana, nous définissons deux niveaux de confidentialité :

* **Confidentialité** – chiffre l’actif et le montant
* **Anonymat** – chiffre l’actif, le montant, l’expéditeur et le destinataire

<img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/transaction-visibility-cards.svg?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=2569051cac1c7cba10d4ffabf254577c" alt="Confidential transfers hide the asset and amount. Anonymous transfers also hide the sender and recipient. The transaction hash remains public." width="880" height="248" data-path="images/privacy/transaction-visibility-cards.svg" />

## Anneaux de confidentialité Solana

Les anneaux sont des pools protégés programmables, avec des soldes chiffrés onchain et une exécution directe sur Solana.
Différents types d’anneaux coexistent :

<CardGroup cols={2}>
  <Card title="Default Ring" icon="lock">
    * Confidentiel
    * Non dépositaire
    * Sans autorisation
    * Aucune visibilité pour les auditeurs
  </Card>

  <Card title="Custom Enterprise Rings" icon="building" href="/docs/fr/privacy/integration/enterprise">
    * Confidentiel ou anonyme
    * Non dépositaire
    * Conformité personnalisée
    * Visibilité pour les auditeurs
  </Card>
</CardGroup>

Pour la plupart des applications, nous recommandons l’anneau par défaut, confidentiel et sans autorisation.

Utilisez un anneau personnalisé lorsque votre application nécessite des règles de conformité personnalisées, un accès pour les auditeurs et des contrôles.
Les anneaux personnalisés sont des programmes Solana qui définissent les autorisations de transfert et toute autorité supplémentaire, comme Token-2022.

L’anneau par défaut constitue la base de la DeFi confidentielle et d’autres applications.
Les anneaux personnalisés indépendants peuvent utiliser des applications existantes ou créer les leurs, tout en définissant leurs propres politiques,
accès pour les auditeurs et autorités, qui s’appliquent uniquement aux soldes de leur anneau.
Les anneaux sont interopérables par défaut et partagent la liquidité dans l’ensemble de l’écosystème DeFi confidentiel de Solana.

<img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/privacy-rings-workshop.png?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=c549ef2c514a89c73af25da87ac0a8cf" alt="Soldes publics et soldes privés sur Solana, avec un anneau sans autorisation aux côtés de l’anneau personnalisé 1, de l’anneau personnalisé 2 et de l’anneau personnalisé n." width="850" height="370" data-path="images/privacy/privacy-rings-workshop.png" />

## Propriétés principales

* **Vitesse native de Solana** – des <Tooltip tip="Groth16 ZK-SNARKs let Solana verify private transactions without revealing their private data. Proofs are generated server-side using GPUs, or can be generated locally.">preuves à divulgation nulle de connaissance</Tooltip> succinctes sont générées en quelques dizaines de ms, ce qui préserve une expérience utilisateur familière. Considérez cette opération comme un appel RPC supplémentaire.
* **Exécution onchain** – Les soldes chiffrés restent sur Solana. Aucun registre offchain, aucune sidechain et aucun séquenceur centralisé.
* **Chiffrement de n’importe quel actif** – Les anneaux prennent en charge SOL, les jetons SPL et les jetons Token-2022.
* **Soldes non dépositaires** – Les transactions privées nécessitent toujours la signature du propriétaire.
* **Compatibilité avec les comptes intelligents** – Les anneaux peuvent prendre en charge les comptes intelligents avec leur propre logique d’autorisation.
* **Composabilité Solana** – Combinez n’importe quel programme Solana au sein d’une même transaction.
* **Confidentialité programmable** – Créez des comptes séquestres privés dans les programmes Solana.

## Parcours utilisateur et garanties de confidentialité

Les utilisateurs détiennent leur solde chiffré dans un portefeuille privé. Ils peuvent entrer dans un anneau, effectuer des transferts privés en son sein ou en sortir, et interagir avec d’autres programmes Solana dans une même transaction.

<img src="https://mintcdn.com/helius/df3Lmw7POmPkuUJN/images/privacy/privacy-rings-lifecycle.svg?fit=max&auto=format&n=df3Lmw7POmPkuUJN&q=85&s=54d057b2674ad3a194575858d35db167" alt="Public and fiat balances enter a Ring, tokens move between private balances, and users withdraw or off-ramp." width="1420" height="240" data-path="images/privacy/privacy-rings-lifecycle.svg" />

<span id="deposit-to-a-private-balance-what-is-private" />

Les utilisateurs envoient des jetons à une adresse de portefeuille Solana, comme ils le font avec des soldes publics.
N’importe qui peut effectuer un dépôt vers n’importe quel portefeuille privé en connaissant uniquement l’adresse du portefeuille du destinataire.

### Dépôt vers un solde privé

Les utilisateurs peuvent approvisionner un solde privé de deux façons :

1. Convertir un solde en monnaie fiduciaire en solde crypto privé
2. Transférer un solde crypto public vers un solde crypto privé

<Tabs>
  <Tab title="Rampe d'accès depuis le solde fiat">
    | Champ | Visibilité |
    | - | - |
    | Actif | Privé. Chiffré sur la blockchain. |
    | Montant | Privé. Chiffré sur la blockchain. |
    | Expéditeur | Le fournisseur d’on-ramp. Public dans un Ring confidentiel ; privé dans un Ring anonyme. |
    | Destinataire | L’utilisateur. Public dans un Ring confidentiel ; privé dans un Ring anonyme. |
    | Mémo (facultatif) | Privé. Chiffré sur la blockchain. |
    | Solde en monnaie fiduciaire et paiement | Hors blockchain. Le paiement en monnaie fiduciaire est effectué par l’intermédiaire du fournisseur d’on-ramp. |

    Contrairement à un dépôt effectué depuis un solde public, l’on-ramp vers un solde privé préserve la confidentialité de l’actif et du montant. Le fournisseur effectue le transfert de son portefeuille privé vers le vôtre. Dans un Ring confidentiel, seules les adresses de l’expéditeur et du destinataire sont publiques.
  </Tab>

  <Tab title="Dépôt depuis le solde crypto public">
    | Champ | Visibilité |
    | - | - |
    | Actif | Public. Visible dans le dépôt public. |
    | Montant | Public. Visible dans le dépôt public. |
    | Expéditeur | Public. L’adresse du portefeuille source est visible dans le dépôt public. |
    | Destinataire | Public. L’adresse du portefeuille de destination est visible dans le dépôt public. |
    | Mémo (facultatif) | Public. Émis avec le dépôt public. |
    | Solde privé résultant | Privé. Chiffré on-chain. |
  </Tab>
</Tabs>

<span id="private-transfer-what-is-private" />

### Transfert entre soldes privés

Les utilisateurs peuvent effectuer un transfert privé de deux façons :

1. Effectuer un transfert au sein du même anneau
2. Effectuer un transfert vers un autre anneau

<Tabs>
  <Tab title="Default Ring">
    | Champ | Visibilité |
    | - | - |
    | Actif | Privé. Chiffré sur la blockchain. |
    | Montant | Privé. Chiffré sur la blockchain. |
    | Expéditeur | Public. L’anneau par défaut est confidentiel. |
    | Destinataire | Public. L’anneau par défaut est confidentiel. |
    | Mémo (facultatif) | Privé. Chiffré sur la blockchain. |
  </Tab>

  <Tab title="Custom Rings">
    | Transfert | Actif | Montant | Expéditeur | Destinataire | Mémo (facultatif) |
    | - | - | - | - | - | - |
    | Au sein d’un anneau personnalisé confidentiel | Privé | Privé | Public | Public | Privé |
    | Au sein d’un anneau personnalisé anonyme | Privé | Privé | Privé | Privé | Privé |
    | De l’anneau par défaut vers un anneau personnalisé confidentiel, ou inversement | Privé | Privé | Public | Public | Privé |
    | D’un anneau confidentiel vers un anneau personnalisé anonyme | Privé | Privé | Public | Privé | Privé |
    | D’un anneau personnalisé anonyme vers un anneau confidentiel | Privé | Privé | Privé | Public | Privé |

    Un relayeur soumet les transferts provenant d’anneaux anonymes afin que le registre public ne révèle pas le portefeuille privé d’origine. L’ID du programme de l’anneau personnalisé reste public.

    Les transferts entre anneaux doivent respecter la politique de l’anneau source. Une transaction peut combiner les soldes de l’anneau par défaut et d’un anneau personnalisé. Un transfert entre deux anneaux personnalisés passe par l’anneau par défaut.
  </Tab>
</Tabs>

<span id="withdraw-from-a-private-balance-what-is-private" />

### Retrait vers un solde public

Les utilisateurs peuvent effectuer un retrait depuis un solde privé de deux façons :

1. Convertir des cryptomonnaies privées en monnaie fiduciaire
2. Transférer des cryptomonnaies privées vers un solde crypto public

<Tabs>
  <Tab title="Conversion en balance fiat">
    | Champ | Visibilité |
    | - | - |
    | Actif | Privé. Chiffré onchain. |
    | Montant | Privé. Chiffré onchain. |
    | Expéditeur | L’utilisateur. Public dans un Ring confidentiel ; privé dans un Ring anonyme. |
    | Destinataire | Le prestataire d’off-ramp. Public dans un Ring confidentiel ; privé dans un Ring anonyme. |
    | Mémo (facultatif) | Privé. Chiffré onchain. |
    | Versement en monnaie fiduciaire | Non onchain. Le versement en monnaie fiduciaire est effectué par le prestataire d’off-ramp. |

    Contrairement à un retrait vers un solde public, l’off-ramp depuis un solde privé préserve la confidentialité de l’actif et du montant. Vous effectuez un transfert de votre portefeuille privé vers celui du prestataire, qui vous verse ensuite les fonds en monnaie fiduciaire. Dans un Ring confidentiel, seules les adresses de l’expéditeur et du destinataire sont publiques. Le solde restant de votre portefeuille privé reste confidentiel.
  </Tab>

  <Tab title="Retrait vers un solde crypto public">
    | Champ | Visibilité |
    | - | - |
    | Actif | Public. Visible dans le retrait public. |
    | Montant | Public. Visible dans le retrait public. |
    | Expéditeur | Public dans un Ring confidentiel ; privé dans un Ring anonyme. |
    | Destinataire | Public. L’adresse du portefeuille de destination est visible dans le retrait public. |
    | Mémo (facultatif) | Privé lorsqu’il est associé à une sortie chiffrée. |
    | Solde public résultant | Public. Détenu sur le compte public du destinataire. |
    | Solde privé restant | Privé. Chiffré onchain. |
  </Tab>
</Tabs>

## Programmabilité et comptes séquestres privés

Les programmes Solana peuvent utiliser des comptes séquestres privés pour créer des applications DeFi confidentielles.

* **Comptes séquestres privés** – Les programmes ZK Solana peuvent placer des soldes privés sous séquestre et définir les conditions de leur libération
* **Composabilité Solana** – Combinez des transactions privées avec d’autres programmes Solana au sein d’une même transaction
* **Liquidité partagée** – Les programmes ZK de l’écosystème DeFi confidentiel peuvent partager leur liquidité

**Ce que vous pouvez créer**

* **Paiements privés conditionnels** – Placez des actifs chiffrés sous séquestre et libérez-les selon un calendrier ou après l’obtention des approbations requises, afin de gérer la paie, l’acquisition progressive de droits, les paiements par étape et les processus multisignatures privés.
* **Échanges et trading** – Échangez des jetons wrappés, des SOL, des memecoins, des actions et des RWA par l’intermédiaire de comptes séquestres privés, notamment dans le cadre d’échanges de jetons ou de transactions de gré à gré.
* **Staking et rendement** – Créez des applications privées génératrices de rendement, telles que des pools de staking, des trésoreries tokenisées ou d’autres coffres de rendement.
* **Prêt et emprunt** – Détenez des garanties dans des comptes séquestres privés, par exemple pour des prêts en stablecoins garantis par des actifs tokenisés.

<img src="https://mintcdn.com/helius/ITnDOhn5GRfQ1FQW/images/privacy/programmability.svg?fit=max&auto=format&n=ITnDOhn5GRfQ1FQW&q=85&s=1ead5d736db986e9fedd4a0e51d5a730" alt="Private balances connected by transfer, swap, and lending, with yield and staking above them inside Helius Privacy Rings." style={{ width: "100%" }} width="1000" height="680" data-path="images/privacy/programmability.svg" />

## Flux de transaction général

<a id="overview" />

Un transfert privé fonctionne de manière similaire à un transfert public et s’exécute au sein d’une seule transaction Solana.

<Tabs>
  <Tab title="Private transfer">
    1. Le solde SOL ou SPL de l’utilisateur est chiffré onchain.
    2. Récupérez l’état chiffré et déchiffrez-le localement, ou utilisez un fournisseur délégué qui le déchiffre et fournit l’état déchiffré.
    3. Le portefeuille définit le montant et le destinataire, puis demande une preuve ZK.
    4. Par défaut, le fournisseur RPC génère la preuve ZK et la renvoie. Un anneau personnalisé nécessite également une preuve de conformité à la politique.
    5. Le portefeuille construit la transaction Solana. Les preuves ZK sont vérifiées sans révéler l’état chiffré. Les programmes invoqués ainsi que l’entité qui signe et soumet la transaction dépendent de l’anneau :

    | | Anneau confidentiel sans autorisation | Anneau confidentiel personnalisé | Anneau anonyme personnalisé |
    | - | - | - | - |
    | Programmes invoqués | Programme de confidentialité Solana | Programme de l’anneau personnalisé et programme de confidentialité Solana | Programme de l’anneau personnalisé et programme de confidentialité Solana |
    | Signataire | L’expéditeur signe. Un sponsor de frais de gas peut payer les frais. | L’expéditeur signe. Un sponsor de frais de gas peut payer les frais. | Un relais signe afin que l’expéditeur ne soit pas associé à la transaction. |

    6. L’application suit le statut grâce au hash de la transaction Solana.

    <Tabs sync={false}>
      <Tab title="Permissionless Confidential Ring">
        ```mermaid theme={"system"}
        %%{init: {
          'theme': 'base',
          'themeVariables': {
            'lineColor':           '#FF6B35',
            'primaryTextColor':    '#737373',
            'primaryBorderColor':  '#9CA3AF',
            'actorBkg':            '#FFFFFF',
            'actorBorder':         '#9CA3AF',
            'actorTextColor':      '#737373',
            'signalColor':         '#FF6B35',
            'signalTextColor':     '#737373',
            'labelBoxBkgColor':    '#FF6B351F',
            'labelBoxBorderColor': '#FF6B35',
            'noteBkgColor':        '#F5F5F5',
            'noteTextColor':       '#737373',
            'noteBorderColor':     '#9CA3AF'
          }
        }}%%
        sequenceDiagram
            participant Wallet
            participant RPC as RPC Provider
            participant Solana

            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Local
                Wallet->>RPC: Fetch encrypted state
                RPC-->>Wallet: Encrypted state
                Note over Wallet: Decrypt locally
            end
            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Delegated
                Wallet->>RPC: Get private balance
                Note over RPC: Decrypt and serve decrypted state
                RPC-->>Wallet: Decrypted state
            end

            Note over Wallet: Set amount and recipient
            Wallet->>RPC: Request ZK proof
            Note over RPC: Generate ZK proof
            RPC-->>Wallet: ZK proof
            Note over Wallet: Build transaction, sign

            Wallet->>RPC: Submit Transaction
            RPC->>Solana: Forward transaction
            Note over Solana: Verify signatures
            Note over Solana: CPI Solana Privacy Program
            Note over Solana: Verify ZK proof
            RPC-->>Wallet: Transaction signature
        ```
      </Tab>

      <Tab title="Custom Confidential Ring">
        ```mermaid theme={"system"}
        %%{init: {
          'theme': 'base',
          'themeVariables': {
            'lineColor':           '#FF6B35',
            'primaryTextColor':    '#737373',
            'primaryBorderColor':  '#9CA3AF',
            'actorBkg':            '#FFFFFF',
            'actorBorder':         '#9CA3AF',
            'actorTextColor':      '#737373',
            'signalColor':         '#FF6B35',
            'signalTextColor':     '#737373',
            'labelBoxBkgColor':    '#FF6B351F',
            'labelBoxBorderColor': '#FF6B35',
            'noteBkgColor':        '#F5F5F5',
            'noteTextColor':       '#737373',
            'noteBorderColor':     '#9CA3AF'
          }
        }}%%
        sequenceDiagram
            participant Wallet
            participant RPC as RPC Provider
            participant Solana

            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Local
                Wallet->>RPC: Fetch encrypted state
                RPC-->>Wallet: Encrypted state
                Note over Wallet: Decrypt locally
            end
            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Delegated
                Wallet->>RPC: Get private balance
                Note over RPC: Decrypt and serve decrypted state
                RPC-->>Wallet: Decrypted state
            end

            Note over Wallet: Set amount and recipient
            Wallet->>RPC: Request ZK proof
            Note over RPC: Generate ZK proof and policy proof
            RPC-->>Wallet: ZK proof and policy proof
            Note over Wallet: Build transaction, sign

            Wallet->>RPC: Submit Transaction
            RPC->>Solana: Forward transaction
            Note over Solana: Verify signatures
            Note over Solana: CPI Custom Ring Program
            Note over Solana: Verify policy ZK proof
            Note over Solana: CPI Solana Privacy Program
            Note over Solana: Verify SPP ZK proof
            RPC-->>Wallet: Transaction signature
        ```
      </Tab>

      <Tab title="Custom Anonymous Ring">
        ```mermaid theme={"system"}
        %%{init: {
          'theme': 'base',
          'themeVariables': {
            'lineColor':           '#FF6B35',
            'primaryTextColor':    '#737373',
            'primaryBorderColor':  '#9CA3AF',
            'actorBkg':            '#FFFFFF',
            'actorBorder':         '#9CA3AF',
            'actorTextColor':      '#737373',
            'signalColor':         '#FF6B35',
            'signalTextColor':     '#737373',
            'labelBoxBkgColor':    '#FF6B351F',
            'labelBoxBorderColor': '#FF6B35',
            'noteBkgColor':        '#F5F5F5',
            'noteTextColor':       '#737373',
            'noteBorderColor':     '#9CA3AF'
          }
        }}%%
        sequenceDiagram
            participant Wallet
            participant RPC as RPC Provider
            participant Relayer
            participant Solana

            rect rgba(255, 107, 53, 0.06)
                Note left of Wallet: Delegated
                Wallet->>RPC: Get private balance
                Note over RPC: Decrypt and serve decrypted state
                RPC-->>Wallet: Decrypted state
            end

            Note over Wallet: Set amount and recipient, sign
            Wallet->>RPC: Request ZK proof
            Note over RPC: Generate ZK proof and policy proof
            RPC-->>Wallet: ZK proof and policy proof
            Note over Wallet: Build transaction

            Wallet->>Relayer: Submit Transaction
            Relayer->>Solana: Forward transaction
            Note over Solana: Verify signatures
            Note over Solana: CPI Custom Ring Program
            Note over Solana: Verify policy ZK proof
            Note over Solana: CPI Solana Privacy Program
            Note over Solana: Verify SPP ZK proof
            Relayer-->>Wallet: Transaction signature
        ```
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="Solana transfer">
    1. Le solde SOL ou SPL de l’utilisateur est public onchain.
    2. Le portefeuille lit l’état public, construit un transfert, puis le propriétaire signe.
    3. L’environnement d’exécution Solana vérifie les signatures et invoque le programme système ou le programme de jetons, qui met à jour le solde public.
    4. L’application suit le statut grâce au hash de la transaction Solana.

    ```mermaid theme={"system"}
    %%{init: {
      'theme': 'base',
      'themeVariables': {
        'lineColor':           '#FF6B35',
        'primaryTextColor':    '#737373',
        'primaryBorderColor':  '#9CA3AF',
        'actorBkg':            '#FFFFFF',
        'actorBorder':         '#9CA3AF',
        'actorTextColor':      '#737373',
        'signalColor':         '#FF6B35',
        'signalTextColor':     '#737373',
        'labelBoxBkgColor':    '#FF6B351F',
        'labelBoxBorderColor': '#FF6B35',
        'noteBkgColor':        '#F5F5F5',
        'noteTextColor':       '#737373',
        'noteBorderColor':     '#9CA3AF'
      }
    }}%%
    sequenceDiagram
        participant Wallet
        participant RPC
        participant Solana

        Wallet->>RPC: Get public balance
        RPC-->>Wallet: Public state
        Note over Wallet: Build transfer, owner signs
        Wallet->>RPC: sendTransaction
        RPC->>Solana: Forward transaction
        Note over Solana: Verify signatures
        Note over Solana: CPI System / Token Program
        Note over Solana: Update balance
        RPC-->>Wallet: Transaction signature
    ```
  </Tab>
</Tabs>

<CardGroup cols={1}>
  <a href="https://www.helius.dev/privacy/demo" target="_blank" rel="noopener noreferrer" className="not-prose">
    <Card title="Launch Demo" icon="play">
      Essayez les transferts et les échanges confidentiels sur devnet.
    </Card>
  </a>
</CardGroup>

<span id="private-wallet" />

<span id="creation-of-a-private-wallet" />

<span id="transfers-to-a-private-wallet" />

<span id="key-management" />

<span id="creating-a-shielded-keypair" />

<span id="integrating-a-shielded-keypair" />

<span id="decryption-modes-and-wallet-sync" />

<span id="local-decryption" />

<span id="delegated-decryption" />

<span id="indexer-serves-encrypted-state" />

<span id="private-wallet-balance" />

<span id="private-solana-token-accounts" />

<span id="on-concurrency" />

<span id="on-proof-generation-time" />

<span id="terms" />

<span id="custom-rings-are-programmable" />

## En savoir plus

<CardGroup cols={2}>
  <Card title="Architecture" icon="diagram-project" href="/docs/fr/privacy/concepts/architecture">
    Découvrez comment les portefeuilles, les services RPC et les programmes Solana interagissent.
  </Card>

  <Card title="Private State and UTXOs" icon="database" href="/docs/fr/privacy/concepts/utxo">
    Découvrez comment les soldes privés sont stockés et dépensés.
  </Card>

  <Card title="Encryption and Privacy Guarantees" icon="key" href="/docs/fr/privacy/concepts/encryption">
    Découvrez comment les actifs sont chiffrés et le rôle de la paire de clés protégée.
  </Card>

  <Card title="Custom Enterprise Rings" icon="building" href="/docs/fr/privacy/integration/enterprise">
    Découvrez comment configurer un anneau personnalisé avec des contrôles d’audit et de conformité.
  </Card>
</CardGroup>

## Vous n'avez pas trouvé ce que vous cherchiez ?

<Callout type="info">
  Contactez-nous ! [Telegram](https://t.me/tilo_light) | [E-Mail](mailto:sales@helius.xyz) | [Contact](https://www.helius.dev/contact)
</Callout>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.