Skip to content

Customizing wallet UI prompts

By default, Privy will display a preview of any wallet actions so the user can confirm the request. Privy enables your app to either highly customize these confirmation modals or entirely disable them in favor of your own components.

Note that only actions requested from embedded wallets allow for UI customization. External wallet actions must be confirmed via the external wallet's UI (e.g. a browser extension or mobile app), outside of the scope of Privy.

Customize confirmation modals

You can customize the confirmation modals that Privy provides for prompting users to sign messages and send transactions. Learn more in these guides:

Disable confirmation modals

To configure headless use of embedded wallets, navigate to the Embedded Wallet page in the Dashboard and turn "Add confirmation modals" off. This setting prevents Privy UIs that prompt the user to review before sending transactions and signing messages, and applies to embedded wallets on both EVM networks and Solana.

You can then prompt the user for signatures and transactions with the embedded wallet using your own UIs, instead of displaying Privy's default UIs.

Disabling Privy's default wallet prompts can simplify your users' experience of using wallets. This is particularly useful for apps where verbose signature and transaction previews may be difficult for users to understand, or where there is a high UX cost to interrupting user flows for each required signature (e.g. gaming).

Disabling confirmation modals client-side

You can override the Dashboard configuration for Privy's default confirmation modals client-side by setting the embeddedWallets.showWalletUIs config in the SDK like so:

tsx
<PrivyProvider
  appId="your-privy-app-id"
  config={{
    // Overrides the value of "Add confirmation modals" you set in the Privy Dashboard
    embeddedWallets: {
      showWalletUIs: false,
    },
  }}
>
  {children}
</PrivyProvider>

This configuration option will take precedence over the Dashboard configuration.

Disabling confirmation modals per wallet action

For embedded wallets on EVM networks, you can also disable Privy's default confirmation modals on a per-action basis by setting the showWalletUIs field of the uiConfig you pass to Privy's signMessage, signTypedData, and sendTransaction methods to false.

Learn more in the UI customization guides for signatures and transactions.

WARNING

Choosing to disable the default wallet prompts has important implications regarding the trust relationship between your app and your users and your overall app security. Overriding the default prompts means you can submit transactions on behalf of your users when they are logged in and active without their explicit approval. Your app is responsible for communicating clear and accurate context to your users about the actions they are taking with their wallet at all times.