> ## 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 von Privy

> Verschieben Sie eine bestehende Privy-Embedded-Wallet-App zu Helius Wallet-as-a-Service

Die Migration von Privy ist eine **Code-Migration, keine Wallet-Migration**. Sie tauschen den Privy-Anbieter und Hook gegen die von Helius aus — das mentale Modell (eingebettet, nicht verwahrend, soziale/Passkey-Anmeldung) bleibt dasselbe. Was **nicht** übernommen wird, sind die bestehenden Wallets Ihrer Nutzer: Privy-Wallets können nicht in Turnkey importiert werden, sodass jeder Nutzer **ein neues Helius Embedded Wallet erhält, wenn er sich zum ersten Mal bei Ihrer App anmeldet**.

Die andere große Änderung betrifft die Wirtschaftlichkeit: Privy rechnet pro monatlich aktivem Wallet zusätzlich zu Ihrem RPC ab, während Helius 200 Credits pro Signatur über die [Credits](/docs/de/billing/credits) berechnet, die Sie bereits haben.

## Was migriert — und was nicht

* **Migriert (Ihre Integration):** der Anbieter, Hook, Anmeldekonfiguration und RPC. Dies ist der Code-Austausch in den [Schritten unten](#migrieren-sie-ihre-integration) — normalerweise ein paar Stunden Arbeit.
* **Nicht migriert (die Wallets Ihrer Nutzer):** bestehende Privy-Wallets, Schlüssel und Guthaben. Turnkey kann diese nicht importieren, daher erstellt jeder Nutzer ein neues Helius-Embedded-Wallet bei der ersten Anmeldung.

<Warning>
  **Wenn Sie 1.000 Privy-Nutzer mit Guthaben haben:** Nach der Migration meldet sich jeder
  an und erhält ein **neues, leeres** Helius Embedded Wallet an einer anderen Adresse.
  Ihre Privy-Guthaben bleiben in den alten Wallets. Das Verschieben der Gelder ist ein separater,
  vom Nutzer initiierter Schritt, den Sie orchestrieren (siehe [Die Wallets und
  Guthaben Ihrer Nutzer](#die-wallets-und-guthaben-ihrer-nutzer)) — weder Helius noch Turnkey können
  Gelder im Namen eines Nutzers bewegen.
</Warning>

## Privy-Zuordnungen zu Helius WaaS

| Privy                                         | Helius WaaS                                                                           |
| --------------------------------------------- | ------------------------------------------------------------------------------------- |
| `PrivyProvider` mit `appId`                   | `HeliusWalletProvider` mit `{ apiKey }`                                               |
| `usePrivy()` — `login`, `logout`, `user`      | `useHeliusWallet()` — `login`, `logout`, `user`, `status`                             |
| `useSolanaWallets()` / embedded wallet        | `address`, `signTransaction`, `signAndSendTransaction`, `signMessage` vom selben Hook |
| Anmeldemethoden im Privy-Dashboard festgelegt | Anmeldemethoden im Helius-Dashboard festgelegt (**WaaS → Konfiguration**)             |
| `exportWallet()`                              | `exportWallet()`                                                                      |
| Abrechnung pro MAU + separater RPC-Anbieter   | Eine Rechnung: 200 Credits / Signatur über Helius-Credits, RPC inklusive              |

## Migrieren Sie Ihre Integration

Diese Schritte tauschen Ihren Code von Privy zu Helius aus. Keiner von ihnen betrifft Endnutzer-Wallets — das wird [unten](#die-wallets-und-guthaben-ihrer-nutzer) behandelt.

<Steps>
  <Step title="Tauschen Sie den Anbieter aus">
    Ersetzen Sie `PrivyProvider` durch `HeliusWalletProvider` und übergeben Sie Ihren Helius-API-Schlüssel anstelle Ihres Privy `appId`. Siehe [Setup](/docs/de/waas/quickstart#einrichtung).
  </Step>

  <Step title="Tauschen Sie den Hook aus">
    Ersetzen Sie `usePrivy()` / `useSolanaWallets()`-Anrufe durch `useHeliusWallet()`. `login`, `logout`, `user` und `exportWallet` ordnen sich direkt zu; das Signieren bewegt sich auf denselben Hook (`signTransaction`, `signAndSendTransaction`, `signMessage`).
  </Step>

  <Step title="Verschieben Sie die Authentifizierungskonfiguration zum Dashboard">
    Konfigurieren Sie Ihre Anmeldemethoden im Dashboard unter **WaaS → Konfiguration** anstelle von Anbietereigenschaften — siehe [Anmeldemethoden konfigurieren](/docs/de/waas/configuration#anmeldemethoden-konfigurieren).
  </Step>

  <Step title="Zeigen Sie RPC auf Helius">
    Das Senden wird bereits über Helius geleitet. Lassen Sie Ihre eigenständige RPC-Anbieter-Konfiguration fallen und verwenden Sie den `connection` / `rpcUrl` vom Hook, oder fügen Sie den [Routen-Handler](/docs/de/waas/quickstart#einrichtung) für eine senderoptimierte Landung hinzu.
  </Step>
</Steps>

## Die Wallets und Guthaben Ihrer Nutzer

Bei der ersten Anmeldung, nachdem Sie den Swap verschifft haben, erhält jeder Nutzer ein **brandneues Helius Embedded Wallet** — eine andere Adresse als ihr Privy-Wallet, mit einem Null-Saldo. Alte Privy-Wallets und deren Guthaben bleiben unberührt.

Wenn Sie möchten, dass die Nutzer ihre bestehenden Guthaben behalten, planen Sie ein **Migrationsfenster**:

<Steps>
  <Step title="Zeigen Sie die neue Adresse an">
    Zeigen Sie jedem eingeloggten Nutzer seine neue Helius-Adresse (`address` von `useHeliusWallet()`) an.
  </Step>

  <Step title="Lassen Sie die Nutzer ihre Gelder verschieben">
    Nutzer übertragen Gelder von ihrem alten Privy-Wallet auf ihre neue Helius-Adresse. Dies ist eine pro Nutzer, vom Nutzer initiierte Aktion — weder Helius noch Turnkey können Gelder im Namen der Nutzer bewegen.
  </Step>

  <Step title="Setzen Sie die alte Integration außer Betrieb">
    Sobald die Nutzer auf ihren Helius-Wallets sind, entfernen Sie das Privy-SDK.
  </Step>
</Steps>

<Note>
  **Können die Nutzer nicht einfach ihr bestehendes Wallet weiterverwenden?** Nicht als
  Ersatz für das Embedded Wallet. Externes Wallet wird als
  **Anmeldemethode** angeboten — es authentifiziert einen Nutzer in ein Helius Embedded Wallet, es
  verwaltet nicht direkt die Schlüssel des externen Wallets. Das direkte Signieren von einem
  externen Wallet würde Helius vollständig umgehen (kein Turnkey-Signieren, kein Messen),
  daher ist es kein Ersatz für das Embedded Wallet, auf dem Ihre App läuft.
</Note>
