Configure wallet options
To customize the external wallet options for your app, pass in a WalletListEntry
array to the config.appearance.walletList
property. When users login with, connect, or link an external wallet in your app, the possible options (e.g. MetaMask, Rainbow, WalletConnect) will be presented to users in the order you configure them in this array.
You can also configure which wallet options to show at runtime, by passing in walletList
to the connectWallet
method:
The possible wallets to include in the array are metamask
, coinbase_wallet
, rainbow
, zerion
, phantom
, wallet_connect
, uniswap
, rabby_wallet
, cryptocom
, okx_wallet
, safe
, and detected_wallets
.
The detected_wallets
option includes all wallets that Privy detects which are not explicitly included elsewhere in the walletList array. As an example, if your user has the Zerion browser extension installed, it will appear under detected_wallets
– unless you include zerion
elsewhere in the walletList
array, in which case it will appear in the placement of zerion
.
Privy detects wallets via EIP6963 injection,
window.ethereum
injection, or a mobile wallet’s in-app browser.
Configuring the Coinbase Smart Wallet
The Coinbase Smart Wallet is available to all Privy developers. To get set up, you will simply need to add Coinbase Wallet to your login flow and configure your smart wallet preference in the config.externalWallets.coinbaseWallet.connectionOptions
property.
By default, Privy will set config.externalWallets.coinbaseWallet.connectionOptions
to all
such that the SDK will detect whether the user has the wallet extension installed. It will popup the Coinbase wallet if they do and the Smart Wallet otherwise.
The following are valid connectionOptions
property values:
eoaOnly
: The Privy SDK will only surface the Coinbase Wallet extension or Coinbase Wallet mobile app QR code. Users who do not have it installed will be prompted to install it.smartWalletOnly
: The Privy SDK will surface the Coinbase Smart Wallet for all users.all
: (default) The Privy SDK will detect whether the user has the Coinbase wallet extension installed. It will popup the Coinbase wallet if they do and the Smart Wallet otherwise.
Smart Wallet supports a limited number of
chains. If using all
or smartWalletOnly
connection options, be sure that your PrivyProvider default chain and
supported chains list is a
subset of Coinbase’s supported list.
Was this page helpful?