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

# Migrando do Privy

> Transfira um aplicativo de carteira incorporada Privy existente para o Helius Wallet-as-a-Service

Migrar do Privy é uma **migração de código, não uma migração de carteira**. Você troca o provedor e o hook do Privy pelo do Helius — o modelo mental (incorporado, não custodial, login social/passkey) é o mesmo. O que **não** é transferido são as carteiras existentes dos seus usuários: as carteiras do Privy não podem ser importadas para o Turnkey, então cada usuário obtém uma **nova carteira incorporada Helius na primeira vez que fizer login** no seu aplicativo.

A outra grande mudança é a economia: o Privy cobra por carteira ativa mensalmente além do seu RPC, enquanto o Helius cobra 200 créditos por assinatura através dos [créditos](/docs/pt-BR/billing/credits) que você já possui.

## O que migra — e o que não migra

* **Migra (sua integração):** o provedor, hook, configuração de login e RPC. Esta é a troca de código nos [passos abaixo](#migrate-your-integration) — geralmente algumas horas de trabalho.
* **Não migra (carteiras dos seus usuários):** carteiras, chaves e saldos Privy existentes. O Turnkey não pode importá-las, então cada usuário cria uma nova carteira incorporada Helius no primeiro login.

<Warning>
  **Se você tem 1.000 usuários Privy com fundos:** após a migração, cada um
  faz login e obtém uma **nova carteira incorporada Helius vazia** em um endereço diferente.
  Os saldos do Privy permanecem nas carteiras antigas. Mover os fundos é um passo separado,
  iniciado pelo usuário que você orquestra (veja [Carteiras e fundos dos seus usuários](#your-users-wallets-and-funds)) — nem Helius nem Turnkey podem mover
  fundos em nome de um usuário.
</Warning>

## Mapeamentos Privy para Helius WaaS

| Privy                                         | Helius WaaS                                                                         |
| --------------------------------------------- | ----------------------------------------------------------------------------------- |
| `PrivyProvider` com `appId`                   | `HeliusWalletProvider` com `{ apiKey }`                                             |
| `usePrivy()` — `login`, `logout`, `user`      | `useHeliusWallet()` — `login`, `logout`, `user`, `status`                           |
| `useSolanaWallets()` / carteira incorporada   | `address`, `signTransaction`, `signAndSendTransaction`, `signMessage` do mesmo hook |
| Métodos de login definidos no painel do Privy | Métodos de login definidos no painel do Helius (**WaaS → Configuration**)           |
| `exportWallet()`                              | `exportWallet()`                                                                    |
| Cobrança por MAU + provedor de RPC separado   | Uma cobrança: 200 créditos / assinatura via créditos Helius, RPC incluído           |

## Migre sua integração

Estas etapas trocam seu código de Privy para Helius. Nenhuma delas toca nas carteiras dos usuários finais — isso é abordado [abaixo](#your-users-wallets-and-funds).

<Steps>
  <Step title="Troque o provedor">
    Substitua `PrivyProvider` por `HeliusWalletProvider` e passe sua chave de API Helius em vez do seu Privy `appId`. Veja [Configuração](/docs/pt-BR/waas/quickstart#setup).
  </Step>

  <Step title="Troque o hook">
    Substitua chamadas `usePrivy()` / `useSolanaWallets()` por `useHeliusWallet()`. `login`, `logout`, `user`, e `exportWallet` mapeiam diretamente; a assinatura se move para o mesmo hook (`signTransaction`, `signAndSendTransaction`, `signMessage`).
  </Step>

  <Step title="Mova a configuração de autenticação para o painel">
    Configure seus métodos de login no painel em **WaaS → Configuration** em vez de nos props do provedor — veja [Configurar métodos de login](/docs/pt-BR/waas/configuration#configure-sign-in-methods).
  </Step>

  <Step title="Direcione o RPC para o Helius">
    O envio já é roteado através do Helius. Remova sua configuração de provedor RPC independente e use `connection` / `rpcUrl` do hook, ou adicione o [manipulador de rota](/docs/pt-BR/waas/quickstart#setup) para um pouso otimizado para o Sender.
  </Step>
</Steps>

## Carteiras e fundos dos seus usuários

No primeiro login após a implantação da troca, cada usuário recebe uma **nova carteira incorporada Helius** — um endereço diferente da carteira do Privy, com saldo zero. As carteiras antigas do Privy e seus fundos permanecem intocados.

Se você precisar que os usuários mantenham seus saldos existentes, planeje uma **janela de migração**:

<Steps>
  <Step title="Apresente o novo endereço">
    Mostre a cada usuário logado seu novo endereço Helius (`address` do `useHeliusWallet()`).
  </Step>

  <Step title="Faça com que os usuários movam seus fundos">
    Os usuários transferem fundos de suas antigas carteiras Privy para o novo endereço Helius. Esta é uma ação por usuário, iniciada pelo usuário — nem Helius nem Turnkey podem mover fundos em seu nome.
  </Step>

  <Step title="Retire a antiga integração">
    Depois que os usuários estiverem em suas carteiras Helius, remova o SDK Privy.
  </Step>
</Steps>

<Note>
  **Os usuários não podem simplesmente continuar usando sua carteira existente?** Não como um
  substituto para a carteira incorporada. A carteira externa é oferecida como um
  **método de login** — ela autentica um usuário em uma carteira incorporada Helius, não
  opera diretamente as chaves da carteira externa. Assinar diretamente de uma
  carteira externa ignoraria totalmente o Helius (sem assinatura do Turnkey, sem medição),
  portanto, não é um substituto para a carteira incorporada em que seu aplicativo opera.
</Note>
