Skip to main content
The Widget supports wallets for its available networks by default. Configure wallet props only when you need to:
  1. Limit which chain wallets are available — via walletProvidersConfig
  2. Provide credentials for WalletConnect, TON, or Immutable Passport — via walletDefaults
If your app already runs wagmi, you can additionally share your wagmi config so the widget reuses your users’ EVM wallet connection.
Coming from the self-bundled Widget? The walletProviders prop and createEVMProvider()-style factories do not exist in @layerswap/widget-react. See Self-bundled Widget or the migration guide.

Filtering chains

Use walletProvidersConfig to limit which chain wallets users can connect:
  • include keeps only the listed wallet types; exclude removes the listed wallet types.
The available provider ids (WalletProviderId):

Supplying credentials

Some wallet services need your own credentials or metadata. Pass them via walletDefaults:
object
Your WalletConnect Cloud projectId (required for WalletConnect connections) plus optional app metadata (name, description, url, icons) shown in the wallet’s connection prompt.
object
TON wallet support configuration. Both tonApiKey and the manifestUrl of your TON Connect manifest are required. TON wallets appear only when this object is supplied.
object
Immutable Passport client configuration. publishableKey, clientId, redirectUri, and logoutRedirectUri are all required. Immutable Passport appears only when this object is supplied.

Sharing your wagmi config

If your app already uses wagmi for EVM wallets, pass your Config as the wagmiConfig prop and the widget adopts it — same connected account, same chain, no second connect flow. This replaces the old “Partial Integration (EVM)” setup and has its own page:

Sharing your wagmi config

Reuse your app’s EVM wallet connection inside the widget