> ## 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 API Reference

> The useHeliusWallet() hook surface and package imports for the Helius wallet-kit SDK

Everything the [`helius-wallet-kit`](https://www.npmjs.com/package/helius-wallet-kit) SDK exposes.

## Imports

```ts theme={"system"}
// Provider, hook, and types
import { HeliusWalletProvider, useHeliusWallet } from "helius-wallet-kit";

// Next.js route handler
import { createHeliusRouteHandler } from "helius-wallet-kit/next";

// Styles
import "helius-wallet-kit/ui/styles.css";
```

## `useHeliusWallet()`

| Property | Type | Description |
| - | - | - |
| `address` | `string \| null` | The connected wallet's Solana address. |
| `status` | `"loading" \| "unauthenticated" \| "authenticated"` | Authentication state. |
| `user` | `object \| null` | `{ userId, username, email?, subOrgId, walletId }` when authenticated. |
| `login()` | `() => Promise<void>` | Opens the wallet modal to sign in. |
| `logout()` | `() => Promise<void>` | Signs the user out. |
| `signMessage(message)` | `(string) => Promise<string>` | Signs a UTF-8 message and returns the signature. |
| `signTransaction(tx)` | `(Uint8Array \| Buffer) => Promise<Buffer>` | Signs a serialized transaction without sending it. |
| `signAndSendTransaction(tx)` | `(Uint8Array \| Buffer) => Promise<string>` | Signs and submits a serialized transaction; returns the signature. |
| `exportWallet()` | `() => Promise<void>` | Opens an encrypted flow for the user to export their wallet. |
| `getTransactions(options?)` | `({ limit?: number }) => Promise<EnhancedTransaction[]>` | Parsed transaction history. Requires the route handler. |
| `getPriorityFee(keys, level?)` | `(string[], PriorityLevel?) => Promise<number>` | Priority-fee estimate (micro-lamports); `level` defaults to `Medium`. |
| `getPriorityFeeLevels(accountKeys)` | `(string[]) => Promise<PriorityFeeLevels>` | Priority-fee estimates for every level. |
| `connection` | `Connection` | A `@solana/web3.js` connection through Helius RPC. |
| `rpcUrl` | `string` | The active RPC URL (Secure RPC or the route-handler proxy). |
| `cluster` | `"mainnet-beta" \| "devnet"` | The active cluster. |
| `setCluster(cluster)` | `(cluster) => void` | Switches the active cluster. |
| `apiKey` | `string \| null` | The resolved Helius API key. |
| `projectId` | `string \| null` | The project id resolved from your API key at bootstrap. |
| `planTier` | `HeliusPlan \| null` | The account's plan tier, when resolved. |

## Next steps

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

> [card] [Pricing](https://www.helius.dev/docs/waas/overview.md#pricing)
>
> 200 credits per signature (\$0.001 USD)


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