# @web3-onboard/walletconnect

> WalletConnect SDK module for connecting to Web3-Onboard. Web3-Onboard makes it simple to connect Ethereum hardware and software wallets to your dapp. Features standardised spec compliant web3 providers for all supported wallets, framework agnostic modern

Latest version **2.6.3** (published 2025-10-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install @web3-onboard/walletconnect
pnpm add @web3-onboard/walletconnect
yarn add @web3-onboard/walletconnect
bun add @web3-onboard/walletconnect
```

## Health

**Score 45/100 (D)** — status: stable.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 2.6.3 |
| Published | 2025-10-09 |
| First published | 2022-02-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 4 |
| Unpacked size | 27.2 KB |
| Known vulnerabilities | 0 (+6 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 922 |
| Maintainers | jakeloo, joaquim-verges |
| Keywords | Ethereum, Web3, EVM, dapp, Multichain, Wallet, Transaction, Provider, Hardware Wallet, Notifications, React, Svelte, Vue, Next, Nuxt, MetaMask, Coinbase, WalletConnect, Ledger, Trezor, Connect Wallet, Ethereum Hooks, Blocknative, Mempool, pending, confirmed, Injected Wallet, Crypto, Crypto Wallet |

## Links

- npm: https://www.npmjs.com/package/@web3-onboard/walletconnect
- Repository: https://github.com/blocknative/web3-onboard
- Homepage: https://web3onboard.thirdweb.com
- Issues: https://github.com/blocknative/web3-onboard/issues
- npm.io page: https://npm.io/package/@web3-onboard/walletconnect

## Dependencies (4)

- [joi](https://npm.io/package/joi.md) 17.9.1
- [rxjs](https://npm.io/package/rxjs.md) ^7.5.2
- [@web3-onboard/common](https://npm.io/package/@web3-onboard/common.md) ^2.4.1
- [@walletconnect/ethereum-provider](https://npm.io/package/@walletconnect/ethereum-provider.md) ^2.21.10

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 2.6.3 (latest) — 2025-10-09
- 2.6.2-alpha.1 (next) — 2024-12-27
- 2.6.2 — 2024-12-27
- 2.6.1 — 2024-06-05
- 2.6.0 — 2024-05-31
- 2.6.0-alpha.2 — 2024-05-28
- 2.6.0-wagmi.2 — 2024-05-23
- 2.5.6-alpha.1 — 2024-05-21
- 2.6.0-wagmi.1 — 2024-05-17
- 2.6.0-viem.1 — 2024-05-13
- 2.5.5 — 2024-04-15
- 2.5.5-alpha.1 — 2024-04-15
- 2.5.4 — 2024-03-21
- 2.5.4-alpha.1 — 2024-03-14
- 2.5.3 — 2024-01-11
- … 93 more at https://npm.io/package/@web3-onboard/walletconnect/versions

## README

# @web3-onboard/walletconnect

## Wallet module for connecting Wallet Connect to web3-onboard

### Install

`npm i @web3-onboard/core @web3-onboard/walletconnect`

## Options

```typescript
type WalletConnectOptions = {
  /**
   * Project ID associated with [WalletConnect account](https://cloud.walletconnect.com)
   */
  projectId: string
  /**
   * Defaults to `appMetadata.explore` that is supplied to the web3-onboard init
   * Strongly recommended to provide atleast one URL as it is required by some wallets (i.e. MetaMask)
   * To connect with walletconnect
   */
  dappUrl?: string
  /**
   * List of Required Chain(s) ID for wallets to support in number format (integer or hex)
   * Defaults to [1] - Ethereum
   */
  requiredChains?: number[] | undefined
  /**
   * List of Optional Chain(s) ID for wallets to support in number format (integer or hex)
   * Defaults to the chains provided within the web3-onboard init chain property
   */
  optionalChains?: number[] | undefined
  /**
   * `undefined` by default, see https://docs.walletconnect.com/2.0/web/walletConnectModal/options
   */
  qrModalOptions?: EthereumProviderOptions['qrModalOptions']
  /**
   * Additional required methods to be added to the default list of ['eth_sendTransaction', 'personal_sign']
   * Passed methods to be included along with the defaults methods - see https://docs.walletconnect.com/2.0/advanced/providers/ethereum#required-and-optional-methods
   */
  additionalRequiredMethods?: string[] | undefined
  /**
   * Additional methods to be added to the default list of ['eth_sendTransaction',  'eth_signTransaction',  'personal_sign',  'eth_sign',  'eth_signTypedData',  'eth_signTypedData_v4']
   * Passed methods to be included along with the defaults methods - see https://docs.walletconnect.com/2.0/web/walletConnectModal/options
   */
  additionalOptionalMethods?: string[] | undefined
  /**
   * Optional function to handle WalletConnect URI when it becomes available
   */
  handleUri?: (uri: string) => Promise<unknown>
)
```

## Usage

```typescript
import Onboard from '@web3-onboard/core'
import walletConnectModule from '@web3-onboard/walletconnect'

const wcInitOptions = {
  /**
   * Project ID associated with [WalletConnect account](https://cloud.walletconnect.com)
   */
  projectId: 'abc123...',
  /**
   * Chains required to be supported by all wallets connecting to your DApp
   */
  requiredChains: [1],
  /**
   * Chains required to be supported by all wallets connecting to your DApp
   */
  optionalChains: [42161, 8453, 10, 137, 56],
  /**
   * Defaults to `appMetadata.explore` that is supplied to the web3-onboard init
   * Strongly recommended to provide atleast one URL as it is required by some wallets (i.e. MetaMask)
   * To connect with WalletConnect
   */
  dappUrl: 'http://YourAwesomeDapp.com'
}

// initialize the module with options
const walletConnect = walletConnectModule(wcInitOptions)

// can also initialize with no options...

const onboard = Onboard({
  // ... other Onboard options
  wallets: [
    walletConnect
    //... other wallets
  ]
})

const connectedWallets = await onboard.connectWallet()

// Assuming only wallet connect is connected, index 0
// `instance` will give insight into the WalletConnect info
// such as namespaces, methods, chains, etc per wallet connected
const { instance } = connectedWallets[0]

console.log(connectedWallets)
```

---
_Source: https://npm.io/package/@web3-onboard/walletconnect · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
