Skip to main content

Provider config

Pass a HeliusWalletConfig object to the providerโ€™s config prop โ€” see Setup.
string
Your Helius API key. Omit it in production โ€” mount the route handler and the key stays server-side. Pass it only as a prototyping shortcut (it ships in the browser then; domain-restrict it).
string
The Solana cluster to connect to: "mainnet-beta" or "devnet".
object
Optional client-side override of the enabled sign-in methods. Normally you set these per project in the dashboard under WaaS โ†’ Configuration โ€” see Configure sign-in methods.
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.
object
Customizes the wallet UI: darkMode, primaryColor, borderRadius, logoLight, logoDark.
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 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.
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.
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.

Next steps

Using the wallet

Read auth state, sign, send, and read history

Migrating from Privy

Move existing Privy wallets to Helius WaaS