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

<CardGroup cols={2}>
  <Card title="Migrating from Privy" icon="arrow-right-arrow-left" href="/waas/migrating-from-privy">
    Move existing Privy wallets to Helius WaaS
  </Card>

  <Card title="Pricing" icon="credit-card" href="/waas/overview#pricing">
    200 credits per signature (\$0.001)
  </Card>
</CardGroup>
