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

# WaaS Configuration

> Configure the Helius wallet-kit provider and choose sign-in methods from the dashboard

## Provider config

Pass a `HeliusWalletConfig` object to the provider's `config` prop — see [Setup](https://www.helius.dev/docs/waas/quickstart.md#setup).

**apiKey** `string`

Your Helius API key. **Omit it in production** — mount the [route
handler](https://www.helius.dev/docs/waas/quickstart.md#setup) and the key stays server-side. Pass it only
as a prototyping shortcut (it ships in the browser then; domain-restrict it).

**cluster** `string`

The Solana cluster to connect to: `"mainnet-beta"` or `"devnet"`.

**authMethods** `object`

Optional client-side override of the enabled sign-in methods. Normally you set
these per project in the [dashboard](https://dashboard.helius.dev) under **WaaS
→ Configuration** — see [Configure sign-in methods](#configure-sign-in-methods).

> [!NOTE]
>
> You don't pass a `projectId` or RPC URLs — the SDK derives your project id and
> key-less Secure RPC URLs from your API key at bootstrap.

**theme** `object`

Customizes the wallet UI: `darkMode`, `primaryColor`, `borderRadius`,
`logoLight`, `logoDark`.

**onError** `function`

Callback invoked when the SDK encounters an error: `(error: Error) => void`.

## Configure sign-in methods

Choose which methods your users see in the [dashboard](https://dashboard.helius.dev)
under **WaaS → Configuration** — toggle each on or off and save. Changes apply the
next time a user signs in; no redeploy needed. The SDK reads your project's
configuration at bootstrap, so you manage this in one place rather than in code.

| Method | Key | Default |
| - | - | - |
| Passkey | `passkey` | On |
| Email (one-time code) | `email` | On |
| SMS | `sms` | Off |
| Connect external wallet | `wallet` | Off |
| Google | `google` | Coming soon |
| Apple | `apple` | Coming soon |
| Discord | `discord` | Coming soon |
| X | `x` | Coming soon |

> [!NOTE]
>
> Passkey, email, SMS, and external wallet are self-service in the dashboard
> today. Social login (Google, Apple, Discord, X) is coming soon. Keep at least
> one method enabled, or your users won't be able to create wallets. To override
> the project setting from code (e.g. per environment), pass `authMethods` to the
> provider `config`.

> [!NOTE]
>
> **External wallet is a sign-in method.** It authenticates a user into their
> embedded Helius wallet — signing always happens with the embedded wallet, not
> the external one. See [Migrating from Privy](https://www.helius.dev/docs/waas/migrating-from-privy.md#your-users-wallets-and-funds).

## Next steps

> [card] [Using the wallet](https://www.helius.dev/docs/waas/using-the-wallet.md)
>
> Read auth state, sign, send, and read history

> [card] [Migrating from Privy](https://www.helius.dev/docs/waas/migrating-from-privy.md)
>
> Move existing Privy wallets to Helius WaaS


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.