--- url: https://www.helius.dev/docs/waas/overview last_updated: 2026-09-02 --- # Helius Wallet-as-a-Service (WaaS) Non-custodial embedded Solana wallets for your app. Users sign up with a passkey, email, or an existing Solana wallet — no seed phrases — and get an embedded wallet they fully control. Integration is one React provider and one hook from the `helius-wallet-kit` npm package. Keys are secured by Turnkey enclaves; signing happens client-side. Status: Beta. SDK methods and structure can change quickly. ## Quick Reference - npm package: `helius-wallet-kit` (https://www.npmjs.com/package/helius-wallet-kit) - Imports: `HeliusWalletProvider`, `useHeliusWallet` from `helius-wallet-kit`; `createHeliusRouteHandler` from `helius-wallet-kit/next`; styles from `helius-wallet-kit/ui/styles.css` - Requirements: paid Helius plan, Helius API key, React 18+, Node.js 18+, `@solana/web3.js` ^1.98 (Next.js 14+ recommended) - Pricing: 200 credits (~$0.001) per signature, billed through your existing Helius credits. No per-wallet or per-MAU fee. Each of `signMessage`, `signTransaction`, `signAndSendTransaction` is one signature. You are billed per signature produced even if the transaction later fails on-chain; only a signing attempt that never completes is free. - Free plans: not supported — the SDK shows an upgrade screen and the backend rejects requests. - Dashboard: usage under WaaS → Analytics; sign-in methods under WaaS → Configuration. ## How It Works - Each end user gets a dedicated embedded wallet (a Turnkey sub-organization), created on first sign-in. - Signing is client-side against Turnkey; your server never holds keys. Wallets are exportable by the user (`exportWallet()`) — non-custodial. - The provider bootstraps from your API key (project id + key-less Secure RPC URLs). An optional Next.js route handler (`/api/helius/[...path]`) keeps the API key server-side, adds Sender-optimized transaction landing, and is required for `getTransactions`. - Sign-in methods (dashboard-configurable): passkey (default on), email one-time code (default on), SMS (off), external Solana wallet (off; sign-in only — signing always uses the embedded wallet). Google/Apple/Discord/X: coming soon. ## Hook Surface (useHeliusWallet) - State: `address`, `status`, `user`, `cluster`, `apiKey`, `projectId`, `planTier`, `rpcUrl`, `connection` - Actions: `login()`, `logout()`, `signMessage()`, `signTransaction()`, `signAndSendTransaction()`, `exportWallet()`, `getTransactions()`, `getPriorityFee()`, `getPriorityFeeLevels()`, `setCluster()` ## Don't Confuse - WaaS is NOT the Wallet API. WaaS creates and signs with embedded wallets your users own; the Wallet API (https://www.helius.dev/docs/api-reference/wallet-api/llms.txt) is a read-only REST data API for querying any wallet's balances and history. - A leaked Helius API key cannot sign or move funds — it is an RPC/credits credential, not a wallet key. Still, restrict it by domain and prefer the server-side route handler. ## Migrating from Privy A code migration, not a wallet migration: Privy wallets can't be imported into Turnkey, so each user gets a new Helius embedded wallet on first sign-in (new address, zero balance). Users move funds themselves during a migration window. Economics: Privy bills per monthly-active-wallet on top of RPC; Helius bills 200 credits per signature through credits you already have. ## Pages - Overview: https://www.helius.dev/docs/waas/overview.md - Quickstart: https://www.helius.dev/docs/waas/quickstart.md - Configuration: https://www.helius.dev/docs/waas/configuration.md - Securing your key: https://www.helius.dev/docs/waas/securing-your-key.md - Using the wallet: https://www.helius.dev/docs/waas/using-the-wallet.md - Troubleshooting: https://www.helius.dev/docs/waas/troubleshooting.md - API reference: https://www.helius.dev/docs/waas/api-reference.md - Migrating from Privy: https://www.helius.dev/docs/waas/migrating-from-privy.md ## Related - Wallet API (read-only wallet data): https://www.helius.dev/docs/api-reference/wallet-api/llms.txt - Helius Sender (transaction landing): https://www.helius.dev/docs/sending-transactions/sender.md - Billing and plans: https://www.helius.dev/docs/billing/llms.txt --- Full documentation index: https://www.helius.dev/docs/llms.txt