# useSolanaWallet | @account-kit/react

> Overview of the useSolanaWallet hook from @account-kit/react

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
function useSolanaWallet(): WalletContextState;
```

Defined in: [account-kit/react/src/hooks/useSolanaWallet.ts:83](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/react/src/hooks/useSolanaWallet.ts#L83)

A React hook that mirrors the behavior and return type of
`useWallet` from `@solana/wallet-adapter-react`, but safely degrades when
Solana is not enabled for your application.

Context:

- This repository is an external SDK that supports multiple chains. To avoid
  forcing Solana dependencies on apps that do not use Solana, the Solana
  wallet context is only considered "active" if Solana has been initialized
  in the `AlchemyAccountProvider` configuration.
- If Solana is not initialized, this hook returns a stable, frozen
  `EMPTY_WALLET_CONTEXT_STATE` instead of reading from `WalletContext`. This
  prevents runtime errors when the Solana provider is not present and keeps
  type-safe parity with `useWallet` consumers.

Behavior:

- When Solana is configured (i.e. adapters are provided or set to "detect"),
  this hook returns the live `WalletContext` from
  `@solana/wallet-adapter-react`.
- Otherwise, it returns `EMPTY_WALLET_CONTEXT_STATE` where actions such as
  `signMessage`, `sendTransaction`, etc., will reject with
  "Solana wallet not available".

## Example

```ts twoslash
import { useSolanaWallet } from "@account-kit/react";

const wallet = useSolanaWallet();

if (wallet.connected) {
  // Safe to use wallet.publicKey, sendTransaction, etc.
} else {
  // Solana not configured or not connected; UI can conditionally render.
}
```

## Returns

`WalletContextState`

The Solana wallet context when enabled; a
frozen, safe no-op context when Solana is not configured.