Skip to main content

Email Wallets

Web3Modal SDK enables passwordless Web3 onboarding and authentication, allowing your users interact with your application by creating a non-custodial wallet with just their emails.

Note

Due to Safari’s strict third-party cookie policies, the SDK is not preserving sessions after the app is closed. Our team is working to solve this issue soon.

Integration

Install packages

npm install react-native-webview @web3modal/email-wagmi-react-native

On iOS, use CocoaPods to add the native modules to your project:

npx pod-install

Add the email connector in defaultWagmiConfig

import { EmailConnector } from '@web3modal/email-wagmi-react-native';

const emailConnector = new EmailConnector({ chains, options: { projectId, metadata } });

const wagmiConfig = defaultWagmiConfig({
chains,
projectId,
metadata,
extraConnectors: [emailConnector]
})

User Flow

  1. Users will be able to connect to you application by simply using an email address. Web3Modal will send to them a One Time Password (OTP) to copy and paste in the modal, which will help to verify the user's authenticity. This will create a non-custodial wallet for your user which will be available in any application that integrates Web3Modal and email login.

  2. Eventually the user can optionally choose to move from a non-custodial wallet to a self-custodial one by pressing "Upgrade Wallet" on Web3Modal. This will open the (WalletConnect secure website) that will walk your user through the upgrading process.

Video Tutorial