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

# Solução de Problemas

> Correções para os problemas mais comuns ao integrar carteiras incorporadas Helius — estilo, login, assinatura, envio e acesso à chave da API.

Problemas comuns ao integrar o SDK [`helius-wallet-kit`](https://www.npmjs.com/package/helius-wallet-kit), e como corrigi-los.

## Configuração

### O modal da carteira está sem estilo ou parece quebrado

A folha de estilos do SDK não está carregada. Importe-a uma vez no layout raiz:

```tsx app/layout.tsx theme={"system"}
import "helius-wallet-kit/ui/styles.css";
```

### Os valores do hook nunca mudam (presos em `loading`)

`useHeliusWallet()` só funciona dentro de `HeliusWalletProvider`, e o provedor deve ser um componente **cliente**. Certifique-se de que o provedor envolve sua árvore de componentes a partir de um arquivo com `"use client"` no topo — veja [Configuração](/docs/pt-BR/waas/quickstart#configuração).

### `[HeliusWalletKit] WaaS bootstrap failed (…)` no console

O provedor não conseguiu resolver seu projeto a partir da chave da API. Verifique se:

* `NEXT_PUBLIC_HELIUS_API_KEY` está definida e válida.
* O projeto está em um **plano pago** com carteiras incorporadas habilitadas.
* Se você restringiu a chave por domínio, sua origem atual está na lista permitida — veja [Protegendo sua chave](/docs/pt-BR/waas/securing-your-key).

## Login

### Usuários chegam a uma tela de "atualização" em vez da carteira

Carteiras incorporadas exigem um plano Helius **pago**. Quando o plano resolvido é gratuito, o provedor exibe um aviso de atualização (e o backend também rejeita a solicitação no servidor). Atualize o projeto no [dashboard](https://dashboard.helius.dev).

### Os métodos de login errados aparecem (por exemplo, Google aparece, carteira externa está ausente)

Os métodos de login vêm da configuração do seu projeto no [dashboard](https://dashboard.helius.dev) em **WaaS → Configuração**. Se um projeto não tiver configurações, o modal usa um padrão para toda a organização. Defina os métodos que deseja no dashboard ou passe `authMethods` para o provedor `config` para substituir por ambiente — veja [Configurar métodos de login](/docs/pt-BR/waas/configuration#configurar-métodos-de-login).

### O login por chave de acesso falha ou indica que a chave não está registrada

Chaves de acesso estão vinculadas ao **domínio e autenticador** em que foram criadas (uma restrição do WebAuthn, não do Helius). Uma chave de acesso ou chave de segurança registrada em outro site ou dispositivo não autenticará seu aplicativo. Crie a chave de acesso no domínio que você está testando — note que uma chave criada em `localhost` está vinculada a `localhost` e não será transferida para seu domínio implantado.

## Assinatura e envio

### `No wallet available` ao assinar

Você chamou um método de assinatura antes que a carteira incorporada terminasse de provisionar. Garanta a assinatura em ambos `status === "authenticated"` **e** um `address` não nulo:

```tsx theme={"system"}
const { status, address, signMessage } = useHeliusWallet();
const ready = status === "authenticated" && address;
```

### `… failed (HTTP 404). Set secureRpcUrl …, or mount the Helius route handler`

Você está executando no modo direto (Secure RPC), e esta chamada — um pedido de **envio** ou **taxa de prioridade** — precisa do manipulador de rota do servidor. Monte-o em `/api/helius/[...path]` e defina `HELIUS_API_KEY`:

```ts app/api/helius/[...path]/route.ts theme={"system"}
import { createHeliusRouteHandler } from "helius-wallet-kit/next";

export const { GET, POST } = createHeliusRouteHandler();
```

Veja [o manipulador de rota do servidor](/docs/pt-BR/waas/quickstart#configuração).

### `getTransactions needs the Helius route handler … it isn't available in direct/secure-URL mode`

O histórico de transações está disponível apenas através do manipulador de rota. Adicione-o conforme mostrado acima.

### `getPriorityFeeEstimate is not available`

Devnet não suporta estimativas de taxa de prioridade — é um recurso da mainnet. Pule a busca no devnet; envios ainda funcionam sem uma taxa de prioridade.

```tsx theme={"system"}
if (cluster === "mainnet-beta") {
  const fees = await getPriorityFeeLevels([address]);
}
```

### Uma transação não é concluída na mainnet

Sem o manipulador de rota, os envios usam RPC padrão em vez do [Helius Sender](/docs/pt-BR/sending-transactions/sender), então eles não aproveitam o pouso otimizado do Sender. Monte o manipulador de rota para melhor pouso na mainnet. Se um envio falhar completamente, atualize o blockhash — um `recentBlockhash` expirado expira rapidamente.

## Chaves e acesso

### Chamadas de RPC ou API são rejeitadas (401 / 403) após bloquear sua chave

Sua chave restrita por domínio não inclui a origem da qual você está chamando. Adicione todas as origens que você usa — produção, staging, implantações de pré-visualização e `localhost` para desenvolvimento — sob **Controle de Acesso RPC**. Veja [Protegendo sua chave](/docs/pt-BR/waas/securing-your-key).

## Ainda com problemas?

<CardGroup cols={2}>
  <Card title="Discord" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Pergunte à comunidade e à equipe Helius.
  </Card>

  <Card title="Suporte" icon="headset" href="/docs/pt-BR/support">
    Entre em contato com o suporte Helius.
  </Card>
</CardGroup>
