Guides
Wallet Management
Configure wallet connections or bring your own wallet UI
The widget supports three virtual machine ecosystems: EVM, Solana (SVM), and Starknet. For each, you can either let the widget manage wallet connections itself or provide your own wallet UI.
Using the built-in wallet modal
If no external wallet providers or modal callbacks are passed, the widget sets up default providers and renders its own connect buttons and wallet selection modal.
- EVM — Creates a minimal Wagmi config if no
WagmiProvideris detected in the component tree. Discovers installed wallets via EIP-6963 and includes a WalletConnect fallback. - SVM — Wraps itself in a Solana
ConnectionProviderandWalletProviderif none exists. - Starknet — Provides a default
StarknetConfigwith Braavos and Argent connectors.
Providing your own wallet providers
If your app already has wallet providers set up (e.g. a WagmiProvider higher in the tree), the widget detects them and uses the existing context instead of creating its own. This is the recommended approach for apps that already manage wallet connections.
Using your own wallet modal
If you want full control over the wallet connection UI, pass modal callbacks. When provided, the widget hides its built-in connect buttons for that ecosystem and calls your function instead.
<Widget
openEvmWalletModal={() => {
// Open your custom EVM wallet picker
}}
openSvmWalletModal={() => {
// Open your custom Solana wallet picker
}}
openStarkWalletModal={() => {
// Open your custom Starknet wallet picker
}}
/>You can mix and match — for example, provide your own EVM modal while letting the widget handle Solana and Starknet.