> For the complete documentation index, see [llms.txt](https://docs.seismic.systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.seismic.systems/clients/typescript/react/wallet-guides.md).

# Wallet Guides

`seismic-react` integrates with any wallet library that provides wagmi configuration. This section covers setup for the most popular options.

## Supported Libraries

| Library                                                                 | Best For                         | Key Feature                                      |
| ----------------------------------------------------------------------- | -------------------------------- | ------------------------------------------------ |
| [**RainbowKit**](/clients/typescript/react/wallet-guides/rainbowkit.md) | dApps wanting polished wallet UI | Built-in modal, chain switching, account display |
| [**Privy**](/clients/typescript/react/wallet-guides/privy.md)           | Apps needing email/social login  | Embedded wallets, onboarding flow                |
| [**AppKit**](/clients/typescript/react/wallet-guides/appkit.md)         | WalletConnect ecosystem apps     | WalletConnect modal, broad wallet support        |

## Common Integration Pattern

Regardless of which wallet library you choose, the integration follows the same steps:

1. **Install** the wallet library alongside `seismic-react`
2. **Configure wagmi** with Seismic chain definitions
3. **Nest providers** in the correct order
4. **Use hooks** from `seismic-react` in your components

### Provider Nesting Order

All wallet integrations require the same provider hierarchy:

```
WagmiProvider
  └─ QueryClientProvider
       └─ [Wallet Provider] (RainbowKit / Privy / AppKit)
            └─ ShieldedWalletProvider
                 └─ Your App
```

{% hint style="warning" %}
`ShieldedWalletProvider` must be nested inside both `WagmiProvider` and your wallet provider. It reads the connected wallet from wagmi's context, so placing it outside will cause a runtime error.
{% endhint %}

### Chain Configuration

All wallet libraries use the same chain imports from `seismic-react/rainbowkit`:

```typescript
import { seismicTestnet } from "seismic-react/rainbowkit";
```

## Choosing a Library

* **Want the easiest setup with a beautiful wallet modal?** Use [RainbowKit](/clients/typescript/react/wallet-guides/rainbowkit.md)
* **Need email/social login or embedded wallets?** Use [Privy](/clients/typescript/react/wallet-guides/privy.md)
* **Want WalletConnect with maximum wallet compatibility?** Use [AppKit](/clients/typescript/react/wallet-guides/appkit.md)

## Pages

| Page                                                                    | Description                      |
| ----------------------------------------------------------------------- | -------------------------------- |
| [**RainbowKit**](/clients/typescript/react/wallet-guides/rainbowkit.md) | Setup with RainbowKit wallet UI  |
| [**Privy**](/clients/typescript/react/wallet-guides/privy.md)           | Embedded wallets with Privy      |
| [**AppKit**](/clients/typescript/react/wallet-guides/appkit.md)         | WalletConnect AppKit integration |

## See Also

* [Installation](/clients/typescript/react/installation.md) -- Package setup and peer dependencies
* [ShieldedWalletProvider](/clients/typescript/react/shielded-wallet-provider.md) -- Provider reference and configuration
* [Hooks Overview](/clients/typescript/react/hooks.md) -- All available hooks


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.seismic.systems/clients/typescript/react/wallet-guides.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
