Custom Wallets
This feature is in public beta and is continuing to be improved. Please be aware that future updates may include breaking changes.
By default, ConnectKit displays an opinionated list of wallets that are usually ideal for your users. However, you can customize this list to include any wallet you'd like.
Configure Wallets
By default, ConnectKit displays any EIP-6963 injected wallet, along with WalletConnect, MetaMask, and Coinbase Wallet.
If you'd like, you can configure which wallets get promoted to the top of the list.
Example
ConnectKit uses wagmi internally, meaning you can support any wagmi connector. Which connectors you provide to your config will dictate which wallets will show up in the ConnectKit modal.
Below is an example of how to add an injected connector for browser wallets:
import { getDefaultConfig, wallets } from "connectkit";import { createConfig } from "wagmi";import { injected } from "@wagmi/connectors";const ckConfig = getDefaultConfig({// your config});const config = createConfig({...ckConfig,connectors: [// Declare your custom walletinjected({target: {id: "app.phantom",name: "Phantom",provider: "isPhantom", // See the wagmi docs for more infoicon: "/phantom-app-icon.png", // provide your own icon},}),// or, ConnectKit comes with a list of pre-configured walletswallets["zerion"],// Don't forget to include the default connectors...(ckConfig.connectors ?? []),],});
That's it—ConnectKit should show an option for zerion and phantom in the wallet modal.
Here it is in action:
For more info, checkout the wagmi docs that describe the different configuration options for various connectors in more depth.