Skip to main content

EmbeddedWallet

A wallet configurator for Embedded Wallet (email + Google Sign In) which allows integrating the wallet with React Native.

import { embeddedWallet } from "@thirdweb-dev/react-native";

const embeddedWalletConfig = embeddedWallet();
customize (optional)

embeddedWalletConfig contains the default config for metadata and UI. you can optionally choose to override the defaults to customize the wallet. Learn more about these configs

const embeddedWalletConfig = embeddedWallet({ ... });

// override metadata
embeddedWalletConfig.meta.name = "..."; // change the name
embeddedWalletConfig.meta.iconURL = "..."; // change the icon

// override connection UI
embeddedWalletConfig.connectUI = embeddedWalletConnectUI; // react component

// custom selection UI
embeddedWalletConfig.selectUI = embeddedWalletSelectUI; // react component

Once the config is ready, you can use it with ConnectWallet component or useConnect hook as shown below

// add to ThirdwebProvider to add it in ConnectWallet's modal
<ThirdwebProvider supportedWallets={[embeddedWalletConfig]} clientId="your-client-id"/>;

// or use it with useConnect hook
const connect = useConnect();
connect(embeddedWalletConfig, { ... });
email (optional)

Whether to turn on or off the email login option.

  • If set to true (default), an email input text field will be shown on the modal.
  • If set to false, the email input text field will not be shown on the modal.

Must be a `boolean`.

```ts
embeddedWallet({
email: true,
});
oauthOptions (optional)

Whether to show the Sign In with different providers. Right now, only Google is supported.

To use this feature you will need to enable the Embedded Wallets service for your clientId in your Dashboard Settings and you will need to allowlist your app's redirectUrl (more on this below).

redirectUrl: The redirectUrl must be a deeplink your app supports. This is going to be used to redirect back from the browser after logging in with Google.

We wrote a short guide to help you enable deep links support in your mobile app.

embeddedWallet({
oauthOptions: {
providers: ["google"],
redirectUrl: "your.scheme://",
},
});

Installation

To use the embeddedWallet you need to add the following dependencies to your project:

Usage with ConnectWallet

To allow users to connect to this wallet using the ConnectWallet component, you can add it to ThirdwebProvider's supportedWallets prop.

<ThirdwebProvider
clientId="your-client-id"
supportedWallets={[embeddedWallet()]}
>
<YourApp />
</ThirdwebProvider>