> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reown.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Solana Adapter

The WalletConnect Solana Adapter allows you to integrate the WalletConnect protocol into the Wallet Adapter library.

This adapter is compatible with **Solana and SVM-based chains**, including [Solayer Chain](https://solayer.org). Applications built on SVM-compatible networks can use the same Solana adapter for wallet authentication and transaction signing.

<Info>
  If you are not familiar with the Wallet Adapter library it is recommended to use [AppKit
  instead](../../appkit//overview). AppKit now supports multichain, which means you can choose and
  configure multiple blockchain networks within your instance of AppKit, extending beyond just
  Ethereum-based (EVM) networks.
</Info>

## Installation

<CodeGroup>
  `bash npm npm install @walletconnect/solana-adapter ` `bash Yarn yarn add
      @walletconnect/solana-adapter ` `bash Bun bun add @walletconnect/solana-adapter ` `bash
      pnpm pnpm add @walletconnect/solana-adapter `
</CodeGroup>

## Cloud Configuration

Create a new project on [Reown Dashboard](https://dashboard.reown.com) and obtain a new project ID.

<Card title="Don't have a project ID?" icon="circle-info" href="https://dashboard.reown.com/?utm_source=cloud_banner&utm_medium=docs&utm_campaign=backlinks">
  Head over to Reown Dashboard and create a new project.
</Card>

## Implementation

Add the `WalletConnectAdapter` to your wallets list.

```tsx {12, 22-27} theme={null}
import { ReactNode, useMemo, useState } from 'react'
import { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react'
import { WalletAdapterNetwork } from '@solana/wallet-adapter-base'
import { WalletModalProvider } from '@solana/wallet-adapter-react-ui'
import { clusterApiUrl } from '@solana/web3.js'

import '@solana/wallet-adapter-react-ui/styles.css'

import { WalletConnectWalletAdapter } from '@walletconnect/solana-adapter'

export const SolanaContext = ({ children }: { children: ReactNode }) => {
  const endpoint = useMemo(() => clusterApiUrl(WalletAdapterNetwork.Mainnet), [])

  const wallets = useMemo(
    () => [
      new WalletConnectWalletAdapter({
        network: WalletAdapterNetwork.Mainnet,
        options: {
          projectId: 'YOUR_PROJECT_ID'
        }
      })
    ],
    // eslint-disable-next-line react-hooks/exhaustive-deps
    []
  )

  return (
    <ConnectionProvider endpoint={endpoint}>
      <WalletProvider wallets={wallets} autoConnect>
        <WalletModalProvider>{children}</WalletModalProvider>
      </WalletProvider>
    </ConnectionProvider>
  )
}
```
