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

# Dépannage

> Solutions pour les problèmes les plus courants lors de l'intégration des portefeuilles intégrés Helius — style, connexion, signature, envoi et accès par clé API.

Problèmes courants lors de l'intégration du SDK [`helius-wallet-kit`](https://www.npmjs.com/package/helius-wallet-kit), et comment les résoudre.

## Configuration

### La fenêtre modale du portefeuille est non stylée ou semble cassée

La feuille de style du SDK n'est pas chargée. Importez-la une fois dans votre mise en page racine :

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

### Les valeurs du hook ne changent jamais (bloquées sur `loading`)

`useHeliusWallet()` fonctionne uniquement à l'intérieur de `HeliusWalletProvider`, et le fournisseur doit être un composant **client**. Assurez-vous que le fournisseur entoure votre arbre de composants depuis un fichier avec `"use client"` en haut — voir [Configuration](/docs/fr/waas/quickstart#configuration).

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

Le fournisseur n'a pas pu résoudre votre projet à partir de la clé API. Vérifiez que :

* `NEXT_PUBLIC_HELIUS_API_KEY` est défini et valide.
* Le projet est sur un **plan payant** avec des portefeuilles intégrés activés.
* Si vous avez restreint la clé par domaine, votre origine actuelle est dans la liste autorisée — voir [Sécuriser votre clé](/docs/fr/waas/securing-your-key).

## Connexion

### Les utilisateurs arrivent sur un écran de "mise à niveau" au lieu du portefeuille

Les portefeuilles intégrés nécessitent un plan Helius **payant**. Lorsque le plan résolu est gratuit, le fournisseur affiche une demande de mise à niveau (et le backend rejette également la requête côté serveur). Mettez à niveau le projet dans le [tableau de bord](https://dashboard.helius.dev).

### Les mauvaises méthodes de connexion apparaissent (par exemple, Google s'affiche, le portefeuille externe manque)

Les méthodes de connexion proviennent de la configuration de votre projet dans le [tableau de bord](https://dashboard.helius.dev) sous **WaaS → Configuration**. Si un projet n'a aucune méthode configurée, la fenêtre modale revient à un défaut à l'échelle de l'organisation. Définissez les méthodes souhaitées dans le tableau de bord, ou passez `authMethods` au fournisseur `config` pour remplacer par environnement — voir [Configurer les méthodes de connexion](/docs/fr/waas/configuration#configurer-les-méthodes-de-connexion).

### La connexion par clé de sécurité échoue ou indique que la clé de sécurité n'est pas enregistrée

Les clés de sécurité sont liées au **domaine et à l'authentificateur** sur lesquels elles ont été créées (une contrainte WebAuthn, pas une de Helius). Une clé de sécurité enregistrée sur un autre site ou appareil ne permettra pas d'authentifier votre application. Créez la clé de sécurité sur le domaine que vous testez — notez qu'une clé de sécurité créée sur `localhost` est liée à `localhost` et ne sera pas transférée à votre domaine déployé.

## Signature et envoi

### `No wallet available` lors de la signature

Vous avez appelé une méthode de signature avant que le portefeuille intégré ait terminé son approvisionnement. Restreignez la signature sur `status === "authenticated"` **et** un `address` non nul :

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

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

Cette requête **send** ou **priority-fee** n'avait nulle part où aller : le fournisseur n'a résolu aucune URL RPC sécurisée lors de l'initialisation (les plans payants en obtiennent normalement une automatiquement) et aucun gestionnaire de route serveur n'est monté. Montez le gestionnaire de route à `/api/helius/[...path]` et définissez `HELIUS_API_KEY` :

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

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

Voir [le gestionnaire de route serveur](/docs/fr/waas/quickstart#configuration).

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

L'historique des transactions n'est disponible qu'à travers le gestionnaire de route. Ajoutez-le comme indiqué ci-dessus.

### `getPriorityFeeEstimate is not available`

Le Devnet ne prend pas en charge les estimations de frais prioritaires — c'est une fonctionnalité du mainnet. Ignorez la recherche sur devnet ; les envois fonctionnent toujours sans frais prioritaires.

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

### Une transaction n'aboutit pas sur le mainnet

Sans le gestionnaire de route, les envois utilisent le RPC standard plutôt que [Helius Sender](/docs/fr/sending-transactions/sender), donc ils renoncent à l'optimisation d'atterrissage de Sender. Montez le gestionnaire de route pour un meilleur atterrissage sur le mainnet. Si un envoi échoue complètement, rafraîchissez le blockhash — un `recentBlockhash` obsolète expire rapidement.

## Clés et accès

### Les appels RPC ou API sont rejetés (401 / 403) après avoir verrouillé votre clé

Votre clé restreinte par domaine n'inclut pas l'origine à partir de laquelle vous appelez. Ajoutez chaque origine que vous utilisez — production, staging, déploiements de prévisualisation, et `localhost` pour le développement — sous **Contrôle d'accès RPC**. Voir [Sécuriser votre clé](/docs/fr/waas/securing-your-key).

## Toujours bloqué ?

<CardGroup cols={2}>
  <Card title="Discord" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Demandez à la communauté et à l'équipe Helius.
  </Card>

  <Card title="Support" icon="headset" href="/docs/fr/support">
    Contactez le support Helius.
  </Card>
</CardGroup>
