A comprehensive React library that simplifies wallet connection functionality for decentralized applications with support for 66 wallets and extensive customization options
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Comprehensive collection of 66 wallet connectors for different wallet providers, exchanges, and hardware wallets.
The most commonly used wallet connectors for mainstream wallet providers.
/**
* MetaMask browser extension and mobile wallet
*/
function metaMaskWallet(options?: WalletOptions): Wallet;
/**
* Coinbase Wallet browser extension and mobile app
*/
function coinbaseWallet(options?: WalletOptions): Wallet;
/**
* Rainbow mobile wallet
*/
function rainbowWallet(options?: WalletOptions): Wallet;
/**
* Generic WalletConnect integration for any WalletConnect-compatible wallet
*/
function walletConnectWallet(options?: WalletOptions): Wallet;
/**
* Safe (formerly Gnosis Safe) multisig wallet
*/
function safeWallet(options?: WalletOptions): Wallet;
/**
* Trust Wallet mobile application
*/
function trustWallet(options?: WalletOptions): Wallet;Usage Examples:
import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import {
metaMaskWallet,
coinbaseWallet,
rainbowWallet,
walletConnectWallet,
} from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Popular',
wallets: [
metaMaskWallet(),
coinbaseWallet(),
rainbowWallet(),
walletConnectWallet(),
],
},
],
{
appName: 'My DApp',
projectId: 'YOUR_PROJECT_ID',
}
);Wallet connectors for major cryptocurrency exchanges.
/**
* Binance Web3 Wallet
*/
function binanceWallet(options?: WalletOptions): Wallet;
/**
* Bybit exchange wallet
*/
function bybitWallet(options?: WalletOptions): Wallet;
/**
* OKX exchange wallet
*/
function okxWallet(options?: WalletOptions): Wallet;
/**
* Gate.io exchange wallet
*/
function gateWallet(options?: WalletOptions): Wallet;
/**
* Kraken exchange wallet
*/
function krakenWallet(options?: WalletOptions): Wallet;
/**
* Bitget exchange wallet
*/
function bitgetWallet(options?: WalletOptions): Wallet;Connectors for hardware wallets and security-focused wallet solutions.
/**
* Ledger hardware wallet integration
*/
function ledgerWallet(options?: WalletOptions): Wallet;
/**
* Safeheron institutional wallet
*/
function safeheronWallet(options?: WalletOptions): Wallet;
/**
* SafePal hardware wallet
*/
function safepalWallet(options?: WalletOptions): Wallet;Wallets that operate as browser extensions.
/**
* Brave browser built-in wallet
*/
function braveWallet(options?: WalletOptions): Wallet;
/**
* Frame desktop wallet
*/
function frameWallet(options?: WalletOptions): Wallet;
/**
* Enkrypt multi-chain wallet
*/
function enkryptWallet(options?: WalletOptions): Wallet;
/**
* Rabby browser extension wallet
*/
function rabbyWallet(options?: WalletOptions): Wallet;
/**
* Zeal browser extension wallet
*/
function zealWallet(options?: WalletOptions): Wallet;Wallets designed primarily for mobile devices.
/**
* Argent smart contract wallet
*/
function argentWallet(options?: WalletOptions): Wallet;
/**
* Valora mobile wallet (Celo ecosystem)
*/
function valoraWallet(options?: WalletOptions): Wallet;
/**
* imToken mobile wallet
*/
function imTokenWallet(options?: WalletOptions): Wallet;
/**
* TokenPocket multi-chain wallet
*/
function tokenPocketWallet(options?: WalletOptions): Wallet;Wallets designed for specific regions or blockchain ecosystems.
/**
* Kaikas wallet for Klaytn blockchain
*/
function kaikasWallet(options?: WalletOptions): Wallet;
/**
* Kaia blockchain wallet
*/
function kaiaWallet(options?: WalletOptions): Wallet;
/**
* Coin98 multi-chain wallet
*/
function coin98Wallet(options?: WalletOptions): Wallet;
/**
* CLV wallet
*/
function clvWallet(options?: WalletOptions): Wallet;
/**
* SubWallet for Polkadot ecosystem
*/
function subWallet(options?: WalletOptions): Wallet;
/**
* Talisman wallet for Polkadot ecosystem
*/
function talismanWallet(options?: WalletOptions): Wallet;Wallets designed for gaming and NFT ecosystems.
/**
* Phantom wallet (Solana/multi-chain)
*/
function phantomWallet(options?: WalletOptions): Wallet;
/**
* Backpack gaming wallet
*/
function backpackWallet(options?: WalletOptions): Wallet;
/**
* Magic Eden NFT marketplace wallet
*/
function magicEdenWallet(options?: WalletOptions): Wallet;All 66 available wallet connectors:
// Popular & Mainstream (6)
function metaMaskWallet(options?: WalletOptions): Wallet;
function coinbaseWallet(options?: WalletOptions): Wallet;
function rainbowWallet(options?: WalletOptions): Wallet;
function walletConnectWallet(options?: WalletOptions): Wallet;
function safeWallet(options?: WalletOptions): Wallet;
function trustWallet(options?: WalletOptions): Wallet;
// Exchange Wallets (6)
function binanceWallet(options?: WalletOptions): Wallet;
function bybitWallet(options?: WalletOptions): Wallet;
function okxWallet(options?: WalletOptions): Wallet;
function gateWallet(options?: WalletOptions): Wallet;
function krakenWallet(options?: WalletOptions): Wallet;
function bitgetWallet(options?: WalletOptions): Wallet;
// Hardware/Security (3)
function ledgerWallet(options?: WalletOptions): Wallet;
function safeheronWallet(options?: WalletOptions): Wallet;
function safepalWallet(options?: WalletOptions): Wallet;
// Browser Extensions (5)
function braveWallet(options?: WalletOptions): Wallet;
function frameWallet(options?: WalletOptions): Wallet;
function enkryptWallet(options?: WalletOptions): Wallet;
function rabbyWallet(options?: WalletOptions): Wallet;
function zealWallet(options?: WalletOptions): Wallet;
// Mobile-First (4)
function argentWallet(options?: WalletOptions): Wallet;
function valoraWallet(options?: WalletOptions): Wallet;
function imTokenWallet(options?: WalletOptions): Wallet;
function tokenPocketWallet(options?: WalletOptions): Wallet;
// Regional/Specialized (6)
function kaikasWallet(options?: WalletOptions): Wallet;
function kaiaWallet(options?: WalletOptions): Wallet;
function coin98Wallet(options?: WalletOptions): Wallet;
function clvWallet(options?: WalletOptions): Wallet;
function subWallet(options?: WalletOptions): Wallet;
function talismanWallet(options?: WalletOptions): Wallet;
// Gaming/NFT (3)
function phantomWallet(options?: WalletOptions): Wallet;
function backpackWallet(options?: WalletOptions): Wallet;
function magicEdenWallet(options?: WalletOptions): Wallet;
// Additional Wallets (34)
function berasigWallet(options?: WalletOptions): Wallet;
function bestWallet(options?: WalletOptions): Wallet;
function bifrostWallet(options?: WalletOptions): Wallet;
function bitskiWallet(options?: WalletOptions): Wallet;
function bitverseWallet(options?: WalletOptions): Wallet;
function bloomWallet(options?: WalletOptions): Wallet;
function compassWallet(options?: WalletOptions): Wallet;
function coreWallet(options?: WalletOptions): Wallet;
function dawnWallet(options?: WalletOptions): Wallet;
function desigWallet(options?: WalletOptions): Wallet;
function foxWallet(options?: WalletOptions): Wallet;
function frontierWallet(options?: WalletOptions): Wallet;
function injectedWallet(options?: WalletOptions): Wallet;
function iopayWallet(options?: WalletOptions): Wallet;
function kresusWallet(options?: WalletOptions): Wallet;
function mewWallet(options?: WalletOptions): Wallet;
function nestWallet(options?: WalletOptions): Wallet;
function oktoWallet(options?: WalletOptions): Wallet;
function omniWallet(options?: WalletOptions): Wallet;
function oneInchWallet(options?: WalletOptions): Wallet;
function oneKeyWallet(options?: WalletOptions): Wallet;
function paraSwapWallet(options?: WalletOptions): Wallet;
function ramperWallet(options?: WalletOptions): Wallet;
function roninWallet(options?: WalletOptions): Wallet;
function seifWallet(options?: WalletOptions): Wallet;
function tahoWallet(options?: WalletOptions): Wallet;
function tokenaryWallet(options?: WalletOptions): Wallet;
function uniswapWallet(options?: WalletOptions): Wallet;
function wigwamWallet(options?: WalletOptions): Wallet;
function xdefiWallet(options?: WalletOptions): Wallet;
function xPortalWallet(options?: WalletOptions): Wallet;
function zerionWallet(options?: WalletOptions): Wallet;
function zilPayWallet(options?: WalletOptions): Wallet;All wallet connectors return a standardized Wallet interface:
interface Wallet {
/** Unique identifier for the wallet */
id: string;
/** Display name of the wallet */
name: string;
/** Reverse domain name identifier (for browser detection) */
rdns?: string;
/** Shortened name for display in compact UI */
shortName?: string;
/** Wallet icon URL or async function returning URL */
iconUrl: string | (() => Promise<string>);
/** Accent color for wallet branding */
iconAccent?: string;
/** Background color for wallet icon */
iconBackground: string;
/** Whether the wallet is currently installed */
installed?: boolean;
/** Download URLs for different platforms */
downloadUrls?: WalletDownloadUrls;
/** Function to determine if wallet should be hidden */
hidden?: () => boolean;
/** Function to create the wallet connector */
createConnector: (walletDetails: WalletDetailsParams) => CreateConnectorFn;
}
interface WalletDownloadUrls {
android?: string;
ios?: string;
mobile?: string;
qrCode?: string;
chrome?: string;
edge?: string;
firefox?: string;
opera?: string;
safari?: string;
browserExtension?: string;
macos?: string;
windows?: string;
linux?: string;
desktop?: string;
}
interface WalletDetailsParams {
projectId: string;
appName: string;
appDescription?: string;
appUrl?: string;
appIcon?: string;
chains: Chain[];
}
interface WalletOptions {
projectId?: string;
chains?: Chain[];
// Wallet-specific options vary by connector
}import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import { metaMaskWallet, coinbaseWallet } from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Recommended',
wallets: [metaMaskWallet(), coinbaseWallet()],
},
],
{
appName: 'My DApp',
projectId: 'YOUR_PROJECT_ID',
}
);import { connectorsForWallets } from '@rainbow-me/rainbowkit';
import {
metaMaskWallet,
coinbaseWallet,
rainbowWallet,
ledgerWallet,
trustWallet,
argentWallet,
binanceWallet,
phantomWallet,
} from '@rainbow-me/rainbowkit/wallets';
const connectors = connectorsForWallets(
[
{
groupName: 'Popular',
wallets: [metaMaskWallet(), coinbaseWallet(), rainbowWallet()],
},
{
groupName: 'Hardware',
wallets: [ledgerWallet()],
},
{
groupName: 'Mobile',
wallets: [trustWallet(), argentWallet()],
},
{
groupName: 'Exchange',
wallets: [binanceWallet()],
},
{
groupName: 'Gaming',
wallets: [phantomWallet()],
},
],
{
appName: 'My DApp',
projectId: 'YOUR_PROJECT_ID',
}
);Install with Tessl CLI
npx tessl i tessl/npm-rainbow-me--rainbowkit