> ## 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.

# Migration depuis Privy

> Transférez une application de portefeuille intégré Privy existante vers Helius Wallet-as-a-Service

La migration depuis Privy est une **migration de code, pas une migration de portefeuille**. Vous échangez le fournisseur et le hook de Privy pour ceux de Helius — le modèle mental (connexion intégrée, non-custodiale, sociale/passkey) reste le même. Ce qui ne se transfère pas, ce sont les portefeuilles existants de vos utilisateurs : les portefeuilles Privy ne peuvent pas être importés dans Turnkey, donc chaque utilisateur obtient un **nouveau portefeuille intégré Helius la première fois qu'il se connecte** à votre application.

L'autre grand changement concerne l'économie : Privy facture par portefeuille actif mensuel en plus de votre RPC, tandis que Helius facture 200 crédits par signature via les [crédits](/docs/fr/billing/credits) que vous avez déjà.

## Ce qui migre — et ce qui ne migre pas

* **Migre (votre intégration) :** le fournisseur, le hook, la configuration de connexion et le RPC. C'est le changement de code dans les [étapes ci-dessous](#migrez-votre-intégration) — généralement quelques heures de travail.
* **Ne migre pas (les portefeuilles de vos utilisateurs) :** les portefeuilles, clés et soldes Privy existants. Turnkey ne peut pas les importer, donc chaque utilisateur crée un nouveau portefeuille intégré Helius lors de la première connexion.

<Warning>
  **Si vous avez 1 000 utilisateurs Privy avec des fonds :** après la migration, chacun se connecte et obtient un **nouveau portefeuille intégré Helius vide à une adresse différente**.
  Leurs soldes Privy restent dans les anciens portefeuilles. Le transfert de fonds est une étape distincte, initiée par l'utilisateur, que vous orchestrez (voir [Portefeuilles et fonds de vos utilisateurs](#portefeuilles-et-fonds-de-vos-utilisateurs)) — ni Helius ni Turnkey ne peuvent déplacer
  des fonds au nom d'un utilisateur.
</Warning>

## Correspondances de Privy vers Helius WaaS

| Privy                                                              | Helius WaaS                                                                               |
| ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- |
| `PrivyProvider` avec `appId`                                       | `HeliusWalletProvider` avec `{ apiKey }`                                                  |
| `usePrivy()` — `login`, `logout`, `user`                           | `useHeliusWallet()` — `login`, `logout`, `user`, `status`                                 |
| `useSolanaWallets()` / portefeuille intégré                        | `address`, `signTransaction`, `signAndSendTransaction`, `signMessage` depuis le même hook |
| Méthodes de connexion définies dans le tableau de bord Privy       | Méthodes de connexion définies dans le tableau de bord Helius (**WaaS → Configuration**)  |
| `exportWallet()`                                                   | `exportWallet()`                                                                          |
| Facturation par utilisateur actif mensuel + fournisseur RPC séparé | Une seule facture : 200 crédits / signature via les crédits Helius, RPC inclus            |

## Migrez votre intégration

Ces étapes échangent votre code de Privy à Helius. Aucune de ces étapes ne touche les portefeuilles des utilisateurs finaux — cela est couvert [ci-dessous](#portefeuilles-et-fonds-de-vos-utilisateurs).

<Steps>
  <Step title="Échangez le fournisseur">
    Remplacez `PrivyProvider` par `HeliusWalletProvider` et passez votre clé API Helius à la place de `appId` de Privy. Voir [Configuration](/docs/fr/waas/quickstart#configuration).
  </Step>

  <Step title="Échangez le hook">
    Remplacez les appels `usePrivy()` / `useSolanaWallets()` par `useHeliusWallet()`. `login`, `logout`, `user`, et `exportWallet` se mappent directement; la signature passe sur le même hook (`signTransaction`, `signAndSendTransaction`, `signMessage`).
  </Step>

  <Step title="Déplacez la configuration d'authentification vers le tableau de bord">
    Configurez vos méthodes de connexion dans le tableau de bord sous **WaaS → Configuration** plutôt que dans les propriétés du fournisseur — voir [Configurer les méthodes de connexion](/docs/fr/waas/configuration#configurer-les-méthodes-de-connexion).
  </Step>

  <Step title="Pointez le RPC vers Helius">
    L'envoi est déjà routé par Helius. Supprimez votre configuration de fournisseur RPC autonome et utilisez `connection` / `rpcUrl` depuis le hook, ou ajoutez le [gestionnaire de routage](/docs/fr/waas/quickstart#configuration) pour un atterrissage optimisé pour l'expéditeur.
  </Step>
</Steps>

## Portefeuilles et fonds de vos utilisateurs

Lors de la première connexion après que vous ayez effectué l'échange, chaque utilisateur obtient un **tout nouveau portefeuille intégré Helius** — une adresse différente de celle de leur portefeuille Privy, avec un solde nul. Les anciens portefeuilles Privy et leurs fonds ne sont pas touchés.

Si vous avez besoin que les utilisateurs conservent leurs soldes existants, planifiez une **fenêtre de migration** :

<Steps>
  <Step title="Affichez la nouvelle adresse">
    Montrez à chaque utilisateur connecté leur nouvelle adresse Helius (`address` depuis `useHeliusWallet()`).
  </Step>

  <Step title="Demandez aux utilisateurs de déplacer leurs fonds">
    Les utilisateurs transfèrent des fonds de leur ancien portefeuille Privy à leur nouvelle adresse Helius. C'est une action par utilisateur, initiée par l'utilisateur — ni Helius ni Turnkey ne peuvent déplacer des fonds en leur nom.
  </Step>

  <Step title="Retirez l'ancienne intégration">
    Une fois que les utilisateurs sont sur leurs portefeuilles Helius, retirez le SDK Privy.
  </Step>
</Steps>

<Note>
  **Les utilisateurs ne peuvent-ils pas simplement continuer à utiliser leur portefeuille existant ?** Non en remplacement du portefeuille intégré. Le portefeuille externe est proposé comme **méthode de connexion** — il authentifie un utilisateur dans un portefeuille intégré Helius, il n'opère pas directement les clés du portefeuille externe. Signer directement depuis un portefeuille externe contournerait complètement Helius (pas de signature Turnkey, pas de comptabilisation), donc ce n'est pas un substitut pour le portefeuille intégré que votre application utilise.
</Note>
