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

# Solución de problemas

> Soluciones para los problemas más comunes al integrar billeteras integradas de Helius: estilos, inicio de sesión, firma, envío y acceso mediante claves de API.

Problemas comunes al integrar el SDK [`helius-wallet-kit`](https://www.npmjs.com/package/helius-wallet-kit) y cómo solucionarlos.

## Configuración

### El modal de la billetera no tiene estilos o se ve mal

La hoja de estilos del SDK no está cargada. Impórtala una vez en tu layout raíz:

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

### Los valores del hook nunca cambian (se quedan en `loading`)

`useHeliusWallet()` solo funciona dentro de `HeliusWalletProvider`, y el proveedor debe ser un componente de **cliente**. Asegúrate de que el proveedor envuelva tu árbol de componentes desde un archivo que tenga `"use client"` al principio. Consulta [Configuración](/docs/es/waas/quickstart#configuración).

### `[HeliusWalletKit] WaaS bootstrap failed (…)` en la consola

El proveedor no pudo identificar tu proyecto a partir de la clave de API. Comprueba lo siguiente:

* `NEXT_PUBLIC_HELIUS_API_KEY` está configurada y es válida.
* El proyecto tiene un **plan de pago** con las billeteras integradas habilitadas.
* Si restringiste la clave por dominio, tu origen actual está en la lista de permitidos. Consulta [Protege tu clave](/docs/es/waas/securing-your-key).

## Inicio de sesión

### Los usuarios llegan a una pantalla de "actualización" en lugar de a la billetera

Las billeteras integradas requieren un plan **de pago** de Helius. Cuando el plan identificado es gratuito, el proveedor muestra un aviso para actualizarlo (y el backend también rechaza la solicitud del lado del servidor). Actualiza el proyecto en el [panel de control](https://dashboard.helius.dev).

### Aparecen métodos de inicio de sesión incorrectos (p. ej., aparece Google o falta la billetera externa)

Los métodos de inicio de sesión provienen de la configuración de tu proyecto en el [panel de control](https://dashboard.helius.dev), en **WaaS → Configuration**. Si un proyecto no tiene ninguno configurado, el modal usa de forma predeterminada la configuración general de la organización. Configura los métodos que quieras en el panel de control o pasa `authMethods` al proveedor `config` para sobrescribirlos según el entorno. Consulta [Configura los métodos de inicio de sesión](/docs/es/waas/configuration#configurar-los-métodos-de-inicio-de-sesión).

### El inicio de sesión con passkey falla o indica que la passkey no está registrada

Las passkeys están vinculadas al **dominio y al autenticador** donde se crearon (es una restricción de WebAuthn, no de Helius). Una passkey o clave de seguridad registrada en otro sitio o dispositivo no podrá autenticar tu aplicación. Crea la passkey en el dominio que estás probando. Ten en cuenta que una passkey creada en `localhost` está vinculada a `localhost` y no se transferirá a tu dominio desplegado.

## Firma y envío

### `No wallet available` al firmar

Llamaste a un método de firma antes de que la billetera integrada terminara de aprovisionarse. Permite la firma solo cuando `status === "authenticated"` se cumpla **y** `address` no sea 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`

Esta solicitud de **envío** o **comisión de prioridad** no tenía un destino: el proveedor no identificó ninguna URL de Secure RPC durante el inicio (los planes de pago normalmente reciben una de forma automática) y no hay ningún controlador de ruta del servidor montado. Monta el controlador de ruta en `/api/helius/[...path]` y configura `HELIUS_API_KEY`:

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

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

Consulta [el controlador de ruta del servidor](/docs/es/waas/quickstart#configuración).

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

El historial de transacciones solo está disponible mediante el controlador de ruta. Agrégalo como se muestra arriba.

### `getPriorityFeeEstimate is not available`

Devnet no admite estimaciones de comisiones de prioridad; es una función de mainnet. Omite la consulta en devnet. Los envíos siguen funcionando sin una comisión de prioridad.

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

### Una transacción no se confirma en mainnet

Sin el controlador de ruta, los envíos usan RPC estándar en lugar de [Helius Sender](/docs/es/sending-transactions/sender), por lo que no aprovechan la inclusión optimizada de Sender. Monta el controlador de ruta para obtener la mejor inclusión posible en mainnet. Si un envío falla por completo, actualiza el blockhash: un `recentBlockhash` obsoleto caduca rápidamente.

## Claves y acceso

### Las llamadas RPC o API se rechazan (401 / 403) después de restringir tu clave

Tu clave restringida por dominio no incluye el origen desde el que haces la llamada. Agrega todos los orígenes que uses —producción, staging, despliegues de vista previa e `localhost` para desarrollo— en **RPC Access Control**. Consulta [Protege tu clave](/docs/es/waas/securing-your-key).

## ¿Aún tienes problemas?

<CardGroup cols={2}>
  <Card title="Discord" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Pregunta a la comunidad y al equipo de Helius.
  </Card>

  <Card title="Support" icon="headset" href="/docs/es/support">
    Contacta al equipo de soporte de Helius.
  </Card>
</CardGroup>
