walletList to achieve common desired wallet connection setups. Each recipe includes the configuration code and explains when to use it.
The
walletList controls which wallet options appear in Privy’s connection modal and in what
order. For detailed API reference, see Configure wallet
options.Quick Decision Guide
What do you want to show users?- Show ALL WalletConnect wallets (100+) → Use
wallet_connect - Show a QR code for Ethereum wallets → Use
wallet_connect_qr - Show a QR code for Solana wallets → Use
wallet_connect_qr_solana - Show only specific wallets → List them explicitly (e.g.,
['phantom', 'metamask']) - Show all detected browser extensions → Use
detected_ethereum_wallets/detected_solana_wallets
Recipe 1: Ethereum Wallets with Popular Options
Use case: Standard Ethereum app with popular wallet options plus WalletConnect fallback- MetaMask (if installed, shown first)
- Coinbase Wallet
- Rainbow
- Any other detected Ethereum browser extensions (alphabetically)
- WalletConnect button (shows QR code when clicked)
- Ethereum-focused applications
- Desktop users with browser extensions
- Apps that want to support mobile wallets via QR codes
Recipe 2: Solana Wallets Only
Use case: Solana-focused application with popular Solana wallets- Phantom (prioritized first)
- Solflare
- Backpack
- Any other detected Solana browser extensions
- WalletConnect button for Solana wallets
- Solana-only applications
- NFT marketplaces on Solana
- Solana DeFi applications
Recipe 3: Multi-Chain (Ethereum + Solana)
Use case: Cross-chain application supporting both Ethereum and Solana- Both Ethereum and Solana wallets in one list
- Solana wallets display with a “Solana” badge
- Two separate WalletConnect options (one for each chain)
- Cross-chain applications
- Portfolio tracking apps
- Multi-chain DeFi platforms
When
walletChainType is set to 'ethereum-and-solana', Privy automatically adds badges to
Solana wallets to help users distinguish between chain types.Recipe 4: Minimal Setup - Just Phantom and WalletConnect
Use case: Solana app that primarily uses Phantom with WalletConnect fallback- Only Phantom and WalletConnect options
- Clean, minimal UI
- No other wallet options displayed
- Apps with strong Phantom user base
- Simplified onboarding flows
- Mobile-first Solana applications
Recipe 5: Show All WalletConnect Registry Wallets
Use case: Maximum wallet compatibility - show every WalletConnect-supported wallet- MetaMask, Coinbase Wallet, and Rainbow at the top
- Followed by a long, searchable list of 100+ WalletConnect-supported wallets
- Each wallet has its own connection button
- Apps needing maximum wallet compatibility
- Desktop applications where users browse wallet options
- Supporting niche or regional wallets
- Mobile-first applications (UI becomes cluttered)
- Simple onboarding flows
- Apps with specific wallet preferences
Recipe 6: Desktop-Optimized with Auto-Detection
Use case: Desktop app that auto-detects all installed browser extensions- All detected browser extensions (both Ethereum and Solana)
- Full WalletConnect registry for any wallet not installed
- Completely dynamic wallet list based on what’s installed
- Desktop-focused applications
- Power users with multiple wallets installed
- Maximum flexibility without manual configuration
detected_*_wallets will show empty in mobile environments. Consider adding specific wallet names (like 'metamask', 'phantom') for mobile support.
Recipe 7: Prioritize Specific Wallet + Show Others
Use case: Promote a specific wallet but still support others- Phantom always appears first
- Backpack always appears second
- Other detected wallets appear after, alphabetically
- If Phantom is detected, it appears at position 1 (not duplicated in detected list)
- Apps with wallet partnerships
- Promoting recommended wallets
- Maintaining flexibility while guiding users
Recipe 8: WalletConnect Fallback for Unlisted Wallets
Use case: Support specific wallets but provide fallback for others- MetaMask, Rainbow, and Coinbase Wallet prominently displayed
- WalletConnect option showing 100+ additional wallets
- Support for niche wallets not in the detected list
- Supporting wallets not yet in WalletConnect’s detection system
- International users with regional wallets
- Providing comprehensive coverage without cluttering the main list
Platform Considerations
Mobile Browser Limitations
Wallets aren’t injected in mobile web browser environments, with the exception of the in-app browser for a few wallets (see In-App Browsers section below). Thus, addingdetected_ethereum_wallets or detected_solana_wallets will show empty in mobile environments.
On mobile:
- ✅ Works: Specific wallet names (like
'metamask','phantom'),wallet_connect(shows full registry) - ❌ Doesn’t work:
wallet_connect_qr,wallet_connect_qr_solana,detected_ethereum_wallets,detected_solana_wallets
In-App Browsers
On mobile, some wallets will connect via the in-app browser of that wallet’s mobile app. These wallets include:- Phantom (Ethereum and Solana)
- Backpack (Ethereum and Solana)
- OKX Wallet (Ethereum and Solana)
- Solflare (Solana only)
- Jupiter Wallet (Solana only)
- The wallet is automatically detected and prioritized
- No additional configuration needed
- Appears first regardless of
walletListorder
Runtime Configuration
You can dynamically change the wallet list based on platform:Common Patterns Summary
| Pattern | Configuration | Use Case |
|---|---|---|
| Simple Ethereum | ['metamask', 'coinbase_wallet', 'wallet_connect_qr'] | Standard Ethereum app (desktop) |
| Simple Solana | ['phantom', 'solflare', 'wallet_connect_qr_solana'] | Standard Solana app (desktop) |
| Maximum Compatibility | ['detected_ethereum_wallets', 'wallet_connect'] | Support all wallets |
| Mobile-First | ['metamask', 'phantom', 'rainbow', 'coinbase_wallet'] | Mobile-optimized |
| Minimal | ['phantom', 'metamask'] | Specific wallets only |
| Multi-Chain | Both Ethereum and Solana entries + both chain types | Cross-chain apps |
Need More Help?
- Can’t find your wallet? See Troubleshooting wallet visibility
- WalletConnect confusion? See WalletConnect FAQ
- Custom configurations? See Configure wallet options

