Skip to content
wyllet
  • Docs
  • Features
  • Playground
  • Blog
  • Docs
  • Features
  • Playground
  • Blog
  • Compare
  • Changelog
GitHub @wylletdevnpm Support
esc
  • IntroductionWhat Wyllet is, what it includes, and how it fits into a wagmi + viem dApp.
  • InstallationInstall Wyllet and its peer dependencies, and enable WalletConnect.
  • Quick startAdd a working connect button to a React dApp in a few minutes.
  • Next.jsUse Wyllet with the Next.js App Router, server components and SSR.
  • Build with AI assistantsGive Cursor, Claude Code, Copilot or ChatGPT the Wyllet docs and the rules for a correct integration.
  • ConfigurationCreate a wagmi config with getDefaultConfig: app info, chains, transports and wallets.
  • WylletProviderEvery WylletProvider prop: theme, appearance, tokens, auth, messages and callbacks.
  • WylletButtonThe Island button, its display options, and building your own trigger with useWylletButton.
Overview

Getting started

  • Introduction
  • Installation
  • Quick start
  • Next.js
  • Build with AI assistants

Core concepts

  • Configuration
  • WylletProvider
  • WylletButton
  • Presentations

Customization

  • Theming
  • Class names
  • Translations

Wallets

  • Wallets
  • All wallets
  • WalletConnect

Chains and tokens

  • Chains
  • Tokens

Features

  • Account panel
  • Activity and transactions
  • Toasts
  • Sign-In With Ethereum
  • ConnectGate

Reference

  • Hooks
  • Components
  • Utilities and types

Guides

  • Security
  • Migrate from RainbowKit
  • FAQ
wyllet

The open-source wallet connector for React dApps. Built on wagmi and viem.

MIT licensed. v1.1.0 on npm with provenance.

Product

  • Features
  • Compare
  • Playground
  • Changelog
  • Blog

Docs

  • Quick start
  • Next.js
  • Build with AI
  • Theming
  • Migrate from RainbowKit

Community

  • GitHub
  • X @wylletdev
  • npm
  • Releases
  • Report an issue

Support

  • support@wyllet.dev
  • FAQ
  • Security
  • Report a vulnerability
  • MIT License

For AI agents

  • llms.txt
  • llms-full.txt
  • RSS feed
  • Sitemap

Wallet, network and token names and logos are trademarks of their respective owners and are used only to identify them.

Docs/Guides

FAQ

Answers to common questions about Wyllet: pricing, wallets, chains, Next.js, styling, security and data collection.

View .mdReport a problem

Short answers to the questions we hear most. Each one links to the page with the details.

Is Wyllet free?

Yes. Wyllet is open source under the MIT license, so you can use it in commercial and closed-source projects. The source is on GitHub.

Does it work without WalletConnect?

Yes. Without a walletConnectProjectId, Wyllet connects browser extensions (detected through EIP-6963 or window.ethereum) and any wallets with a dedicated wagmi connector. You also skip installing @walletconnect/ethereum-provider. Add a project id when you want QR codes and mobile wallets. See WalletConnect.

Which wallets are supported?

defaultWallets() lists MetaMask, Phantom, Rabby, OKX Wallet and WalletConnect, each with its official icon. Presets also exist for Coinbase Wallet, Rainbow and Trust Wallet. Any other extension that announces itself through EIP-6963 is detected automatically. With WalletConnect enabled, All wallets opens a searchable directory from the WalletConnect registry. You can also define your own wallets. See Wallets and All wallets.

Does it support Solana or other non-EVM chains?

No. Wyllet is built on wagmi and viem, so it connects EVM accounts only. Multi-chain wallets such as Phantom connect through their EVM provider, and the All wallets directory only lists wallets that support EVM chains.

Can I add a custom or private chain?

Yes. Any EVM chain works. Use a chain from viem/chains, or define one with customChain({ id, name, rpcUrl }) and optionally give it an icon, an explorer and a native currency. See Chains.

Does it work with Next.js and server rendering?

Yes. The build ships with the 'use client' directive, and Wyllet does not touch window, document or localStorage while rendering on the server. Put the providers in a client component. Content inside ConnectGate is never rendered into server HTML. See Next.js.

Which React version do I need?

React 18 or later. The other peers are wagmi v3, viem 2 (^2.15.0) and @tanstack/react-query v5. See Installation.

What does it add to my bundle?

Wyllet has no direct runtime dependencies. It only imports React, wagmi, viem and react-query, which your app already uses, plus the optional WalletConnect provider if you enable it. Even the QR code encoder is built in. A test in CI fails if any other import appears in the build. See Security.

Does Wyllet collect data or include analytics?

No. Wyllet has no analytics or telemetry and makes no network requests of its own. The one exception is opt-in: when WalletConnect is enabled and a user opens All wallets, it loads the wallet list and logos from WalletConnect's registry. Turn that off with appearance={{ walletDirectory: false }}. RPC traffic goes through the transports in your wagmi config.

Can I use my own button?

Yes. useWylletButton() returns the connection state and open functions, so you can render any element. useWyllet() opens and closes the panel from anywhere. See WylletButton and Hooks.

Does it work with Tailwind?

Yes. Pass Tailwind classes per element with the classNames prop (slots: overlay, panel, island, walletRow, primaryButton, identityCard, toast). Every design token is also a CSS variable you can set from your own CSS. See Class names and Theming.

Can I use it with a strict Content Security Policy?

Partly. Set injectStyles={false} and import wyllet/styles.css to load the base stylesheet as a file. Wyllet still renders a small inline <style> element for theme variables, so style-src needs to allow inline styles in 1.0. You also need img-src data: for the built-in icons and connect-src entries for your RPC and WalletConnect. See Security.

Does it work on mobile?

Yes. On phones the panel opens as a draggable bottom sheet (set appearance.mobileSheet to false to turn that off). WalletConnect wallets open through their own app links instead of a QR code, and the All wallets directory opens the exact wallet the user picks. See All wallets.

How do I report a bug?

Open an issue at github.com/wyllet/wyllet/issues with the Wyllet, wagmi and React versions, your browser and wallet, and steps to reproduce. For security problems, use a private security advisory instead.

How do I get help?

Email support@wyllet.dev, or follow @wylletdev on X for releases and updates. The AI assistants guide explains how to get correct answers from coding assistants.

PreviousMigrate from RainbowKit

On this page

  • Is Wyllet free?
  • Does it work without WalletConnect?
  • Which wallets are supported?
  • Does it support Solana or other non-EVM chains?
  • Can I add a custom or private chain?
  • Does it work with Next.js and server rendering?
  • Which React version do I need?
  • What does it add to my bundle?
  • Does Wyllet collect data or include analytics?
  • Can I use my own button?
  • Does it work with Tailwind?
  • Can I use it with a strict Content Security Policy?
  • Does it work on mobile?
  • How do I report a bug?
  • How do I get help?