Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
6ea9bca
light style pass: catches minor errors too
m4sterbunny Nov 21, 2025
237a8ee
light style pass: catches minor errors too
m4sterbunny Nov 21, 2025
57a46c3
Merge branch 'main' into 2483-embedded-wallets-pass
yashovardhan Nov 21, 2025
33c4767
Update embedded-wallets/authentication/basic-logins/email-passwordles…
m4sterbunny Nov 24, 2025
cff697e
Update embedded-wallets/authentication/basic-logins/email-passwordles…
m4sterbunny Nov 24, 2025
6fa701e
Update embedded-wallets/authentication/basic-logins/sms-otp.mdx
m4sterbunny Nov 24, 2025
68f9549
Update embedded-wallets/authentication/custom-connections/auth0.mdx
m4sterbunny Nov 24, 2025
87b21b9
Update embedded-wallets/authentication/custom-connections/custom-jwt.mdx
m4sterbunny Nov 24, 2025
e46f0a2
Update embedded-wallets/authentication/custom-connections/custom-jwt.mdx
m4sterbunny Nov 24, 2025
7194b39
Update embedded-wallets/authentication/group-connections.mdx
m4sterbunny Nov 24, 2025
3ee85fa
Update embedded-wallets/authentication/id-token.mdx
m4sterbunny Nov 24, 2025
18ece34
Update embedded-wallets/authentication/id-token.mdx
m4sterbunny Nov 24, 2025
5e63c48
Merge branch 'main' into 2483-embedded-wallets-pass
m4sterbunny Nov 24, 2025
207a261
locks in several more noun vs verb and fixes links for the same
m4sterbunny Nov 24, 2025
14e54d5
fixes for link issues
m4sterbunny Nov 24, 2025
a24a539
fixes for link issues
m4sterbunny Nov 24, 2025
b4f81e7
Merge branch 'main' into 2483-embedded-wallets-pass
m4sterbunny Nov 28, 2025
424d2d5
Merge branch 'main' into 2483-embedded-wallets-pass
m4sterbunny Nov 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions embedded-wallets/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ export const GetStarted = [
slug="/embedded-wallets/"
/>

MetaMask Embedded Wallets (formerly Web3Auth) is a pluggable embedded wallet infrastructure that simplifies Web3 wallet integration and user onboarding. It supports OAuth-based logins and multiple platforms, allowing users to access Web3 applications through familiar authentication methods in under a minute.
MetaMask Embedded Wallets (formerly Web3Auth) provides a pluggable embedded wallet infrastructure to simplify Web3 wallet integration and user onboarding. It supports OAuth-based logins and multiple platforms, allowing users to access Web3 applications through familiar authentication methods in under a minute.

Users enjoy seamless onboarding while maintaining full control of their non-custodial wallets, ensuring both convenience and security.

Expand All @@ -121,11 +121,11 @@ The SDKs are now branded as MetaMask Embedded Wallet SDKs (formerly Web3Auth Plu

:::

## Get Started
## Get started

<Tiles tileGroups={GetStarted} />

## Key Features
## Key features

<BrowserOnly>
{() => {
Expand All @@ -134,15 +134,15 @@ The SDKs are now branded as MetaMask Embedded Wallet SDKs (formerly Web3Auth Plu
}}
</BrowserOnly>

### 🔐 Authentication Made Simple
### 🔐 Authentication made simple

Get your users started in seconds with familiar login methods they already use:

- Sign in with Google, Twitter, GitHub and other popular social accounts
- Passwordless login via email, SMS, authenticator apps or passkeys
- Sign in with Google, Twitter, GitHub, and other popular social accounts
- Passwordless login via email, SMS, authenticator apps, or passkeys
- Bring your own auth system while leveraging our secure wallet infrastructure

### 🛡️ Bank-Grade Security
### 🛡️ Bank-grade security

Enterprise-level protection for your users' digital assets:

Expand All @@ -151,7 +151,7 @@ Enterprise-level protection for your users' digital assets:
- Distributed architecture prevents single points of failure
- Multiple backup options for worry-free recovery

### 💻 Built for Developers
### 💻 Built for developers

Integrate MetaMask Embedded Wallets into your app with minimal effort:

Expand All @@ -160,7 +160,7 @@ Integrate MetaMask Embedded Wallets into your app with minimal effort:
- Full control to customize the look and feel
- Support for web, mobile, and gaming platforms

### 👥 Designed for Users
### 👥 Designed for users

The smoothest path to Web3 for your users:

Expand Down
30 changes: 15 additions & 15 deletions embedded-wallets/authentication/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,19 @@ The SDKs are now branded as MetaMask Embedded Wallet SDKs (formerly Web3Auth Plu

::::

## Supported Authentication Methods
## Supported authentication methods

Embedded Wallets supports a wide range of authentication options, enabling developers to meet the needs of diverse user bases and platform requirements.

### Native Email & SMS Login
### Native email & SMS login

Provides passwordless login via one-time passcodes (OTP)/ magic links sent to the user's [email address](/embedded-wallets/authentication/basic-logins/email-passwordless) or [phone number](/embedded-wallets/authentication/basic-logins/sms-otp). This method is widely accessible and especially useful for onboarding users unfamiliar with Web3 or crypto wallets.
Provides passwordless log in via one-time passcodes (OTP)/ magic links sent to the user's [email address](/embedded-wallets/authentication/basic-logins/email-passwordless) or [phone number](/embedded-wallets/authentication/basic-logins/sms-otp). This method is widely accessible and especially useful for onboarding users unfamiliar with Web3 or crypto wallets.

### External Wallets
### External wallets

Users can also authenticate using [third-party wallets](/embedded-wallets/authentication/basic-logins/external-wallets) such as MetaMask and other WalletConnect supported wallets. Developers can select which wallets to display via the Embedded Wallets Dashboard, providing tailored options based on user preference or regional relevance.

### OAuth and Social Login
### OAuth and social login

Embedded Wallets supports a variety of social identity providers, allowing users to authenticate using accounts they already trust and use daily. Supported providers include:

Expand All @@ -48,13 +48,13 @@ export const SocialLoginSetup = [
key: 'apple',
title: 'Apple',
icon: 'logo-apple.png',
path: 'social-logins/oauth/#login-with-apple',
path: 'social-logins/oauth/#log-in-with-apple',
},
{
key: 'twitter',
title: 'Twitter (X)',
icon: 'logo-twitter.png',
path: 'social-logins/oauth/#login-with-x',
path: 'social-logins/oauth/#log-in-with-x',
},
{
key: 'facebook',
Expand All @@ -78,43 +78,43 @@ export const SocialLoginSetup = [
key: 'github',
title: 'GitHub',
icon: 'logo-github.png',
path: 'social-logins/oauth/#login-with-github',
path: 'social-logins/oauth/#log-in-with-github',
},
{
key: 'farcaster',
title: 'Farcaster',
icon: 'logo-farcaster.png',
path: 'social-logins/oauth/#login-with-farcaster',
path: 'social-logins/oauth/#log-in-with-farcaster',
},
{
key: 'reddit',
title: 'Reddit',
icon: 'logo-reddit.png',
path: 'social-logins/oauth/#login-with-reddit',
path: 'social-logins/oauth/#log-in-with-reddit',
},
{
key: 'kakao',
title: 'Kakao',
icon: 'logo-kakao.png',
path: 'social-logins/oauth/#login-with-kakao',
path: 'social-logins/oauth/#log-in-with-kakao',
},
{
key: 'linkedin',
title: 'LinkedIn',
icon: 'logo-linkedin.png',
path: 'social-logins/oauth/#login-with-linkedin',
path: 'social-logins/oauth/#log-in-with-linkedin',
},
{
key: 'line',
title: 'Line',
icon: 'logo-line.png',
path: 'social-logins/oauth/#login-with-line',
path: 'social-logins/oauth/#log-in-with-line',
},
{
key: 'wechat',
title: 'WeChat',
icon: 'logo-wechat.png',
path: 'social-logins/oauth/#login-with-wechat',
path: 'social-logins/oauth/#log-in-with-wechat',
},
],
},
Expand All @@ -124,7 +124,7 @@ export const SocialLoginSetup = [

Social login simplifies onboarding by reducing friction and improving usability—particularly in consumer-facing applications.

### JWT-Based Authentication
### JWT-based authentication

Embedded Wallets allows integration with any existing JWT-based authentication system. This includes OpenID Connect (OIDC) and OAuth 2.0 compliant identity providers such as:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Web3Auth provides built-in support for email and SMS-based authentication, allow
/>
</div>

## Set Up a Custom Email Connection
## Set up a custom email connection

:::success Enable on Dashboard

Expand Down Expand Up @@ -96,4 +96,4 @@ const web3AuthContextConfig: Web3AuthContextConfig = {
export default web3AuthContextConfig
```

Follow our [Quick Starts](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to setup the basic flow.
Follow our [quickstart](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to set up the basic flow.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import ExternalWalletsSelectWallets from '@site/static/img/embedded-wallets/w3a-

Web3Auth provides built-in support for email and SMS-based authentication, allowing users to log in seamlessly using a one-time passcode (OTP) sent to their email address or phone number. This form of passwordless authentication simplifies the onboarding process, removes friction for end users, and expands accessibility—especially in regions where social login options may be limited.

## Enable External Wallets
## Enable external wallets

:::success Enable on Dashboard

Expand Down
4 changes: 2 additions & 2 deletions embedded-wallets/authentication/basic-logins/sms-otp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Web3Auth provides built-in support for email and SMS-based authentication, allow
/>
</div>

## Set Up a Custom SMS OTP Connection
## Set up a custom SMS OTP connection

:::success Enable on Dashboard

Expand Down Expand Up @@ -96,4 +96,4 @@ const web3AuthContextConfig: Web3AuthContextConfig = {
export default web3AuthContextConfig
```

Follow our [Quick Starts](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to setup the basic flow.
Follow our [quickstart](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to set up the basic flow.
12 changes: 6 additions & 6 deletions embedded-wallets/authentication/custom-connections/auth0.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ import JwtLoginAuth0 from '../../sdk/react/advanced/_custom-authentication-snipp
import ImplicitLoginAuth0Google from '../../sdk/react/advanced/_custom-authentication-snippets/_implicit_login_auth0_google.mdx'
import ImplicitLoginAuth0Spa from '../../sdk/react/advanced/_custom-authentication-snippets/_implicit_login_auth0_spa.mdx'

Auth0 is a powerful authentication and authorization platform that enables developers to securely manage user identities. Web3Auth offers native support for integrating Auth0 as a service provider, allowing projects to leverage Auth0’s robust authentication mechanisms within the Web3Auth ecosystem.
[Auth0](https://auth0.com/docs/get-started/auth0-overview) is a powerful authentication and authorization platform that enables developers to securely manage user identities. Web3Auth offers native support for integrating Auth0 as a service provider, allowing projects to leverage Auth0’s robust authentication mechanisms within the Web3Auth ecosystem.

[Take a look at the supported social logins on Auth0](https://marketplace.auth0.com/categories/social-login)

## Create an Auth0 Application
## Create an Auth0 application

To begin, developers must first create an Auth0 application specific to their project. This initial setup is essential before configuring the connection with Web3Auth. Once the Auth0 application is created, developers can proceed to establish an Auth0 connection within the Embedded Wallets Dashboard.

Expand Down Expand Up @@ -66,7 +66,7 @@ export const Auth0Setup = [

<Tiles tileGroups={Auth0Setup} />

## Create an Auth0 Connection
## Create an Auth0 connection

:::success Create Auth0 Connection on Dashboard

Expand Down Expand Up @@ -114,7 +114,7 @@ Follow these steps to create an Auth0 connection:

Since, the `Auth0 Connection` details are available from Dashboard, developers don't need to pass any additional parameters to the `Web3AuthProvider`.

> Follow our [Quick Starts](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to setup the basic flow.
> Follow our [quickstart](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to set up the basic flow.

### Web

Expand All @@ -132,7 +132,7 @@ Since, the `Auth0 Connection` details are available from Dashboard, developers d

### Android

##### Create Web3Auth Instance
##### Create a Web3Auth instance

In your activity, create a `Web3Auth` instance with your Web3Auth project's configurations.

Expand Down Expand Up @@ -184,7 +184,7 @@ When connecting, the `login` function takes the LoginParams arguments for the lo

### Flutter

##### Create Web3Auth Instance
##### Create a Web3Auth instance

In your `main.dart` file, initialize the `Web3AuthFlutter` plugin at the very beginning such as in the overriden `initState` function

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ import CustomConnectionOptions from '@site/static/img/embedded-wallets/w3a-dashb
import AWSConnection from '@site/static/img/embedded-wallets/w3a-dashboard/aws-cognito-connection.png'
import ImplicitLoginCognito from '../../sdk/react/advanced/_custom-authentication-snippets/_implicit_login_aws_cognito.mdx'

AWS Cognito is a scalable authentication service provided by Amazon Web Services that enables developers to securely manage user sign-up, sign-in, and access control. Web3Auth supports AWS Cognito as a service provider, allowing seamless integration between AWS Cognito’s authentication capabilities and Web3Auth’s decentralized key management infrastructure.
[AWS Cognito](https://aws.amazon.com/cognito/) is a scalable authentication service provided by Amazon Web Services that enables developers to securely manage user sign-up, sign-in, and access control. Web3Auth supports AWS Cognito as a service provider, allowing seamless integration between AWS Cognito’s authentication capabilities and Web3Auth’s decentralized key management infrastructure.

[Take a look at the supported social logins on AWS Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-social-idp.html)

## Create an AWS Cognito Application
## Create an AWS Cognito application

To begin the integration process, developers must first create a new AWS Cognito application using the [AWS Management Console](https://console.aws.amazon.com/). This initial setup is required before configuring the connection within Web3Auth.

Once the AWS Cognito application is created, developers can proceed to add it as a custom connection in the Embedded Wallets Dashboard.

[Learn how to set up AWS Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-console).

## Create an AWS Cognito Connection
## Create an AWS Cognito connection

:::success Create AWS Cognito Connection on Dashboard

Expand Down Expand Up @@ -73,8 +73,8 @@ Follow these steps to create a AWS Cognito connection:

Since, the `AWS Cognito Connection` details are available from Dashboard, developers don't need to pass any additional parameters to the `Web3AuthProvider`.

> Follow our [Quick Starts](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to setup the basic flow.
> Follow our [quickstart](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to set up the basic flow.

### Login with AWS Cognito
### Log in with AWS Cognito

<ImplicitLoginCognito />
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ import CustomConnectionOptions from '@site/static/img/embedded-wallets/w3a-dashb
import CustomJWTConnection from '@site/static/img/embedded-wallets/w3a-dashboard/custom-connection.png'
import JwtLoginCustom from '../../sdk/react/advanced/_custom-authentication-snippets/_jwt_login_custom.mdx'

Web3Auth supports integration with custom login providers through JWT-based authentication schemes, allowing developers to maintain their existing authentication infrastructure while leveraging Web3Auth’s wallet and key management capabilities. Custom authentication can be implemented using industry-standard cryptographic algorithms such as RSA or ECDSA signatures.
Web3Auth supports integration with custom login providers through [JWT-based](https://www.jwt.io/introduction#what-is-json-web-token) authentication schemes, allowing developers to maintain their existing authentication infrastructure while leveraging Web3Auth’s wallet and key management capabilities. Custom authentication can be implemented using industry-standard cryptographic algorithms such as RSA or ECDSA signatures.

To use this feature, developers must ensure that their JWTs adhere to the [JWT specification](https://datatracker.ietf.org/doc/html/rfc7519). Each JWT must be signed using a private key, and its corresponding public key must be accessible via a [JWKS (JSON Web Key Set)](https://datatracker.ietf.org/doc/html/rfc7517) endpoint. Web3Auth will use this endpoint to verify the integrity and authenticity of incoming tokens during login.

Once the Custom JWT login is working, developers can proceed to add it as a custom connection in the Embedded Wallets Dashboard.
Once the custom JWT login is working, developers can proceed to add it as a custom connection in the Embedded Wallets Dashboard.

## Set up Custom JWT Connection
## Set up a custom JWT connection

:::success Create Custom Connection on Dashboard

Expand All @@ -38,7 +38,7 @@ To use this feature, developers must go to the `Custom Connections` tab in the [
/>
</div>

Follow these steps to create a AWS Cognito connection:
Follow these steps to create a custom JWT connection:

1. Visit the [Embedded Wallets Dashboard](https://dashboard.web3auth.io).
1. Go to the `Custom Connections` section.
Expand Down Expand Up @@ -69,7 +69,7 @@ Follow these steps to create a AWS Cognito connection:

To generate the JWT, developers may use a package of their choice. Web3Auth provides documentation and examples using both the `jsonwebtoken` and `jose` libraries.

### Generate Private Key
### Generate a private key

Developers can generate a private key using the `openssl` command-line tool. This private key will be used to sign the ID token.

Expand Down Expand Up @@ -113,7 +113,7 @@ openssl ec -in ec-secp256k1-privateKey.pem -pubout -out ec-secp256k1-publicKey.p
</TabItem>
</Tabs>

### Install JWT Library
### Install the JWT library

Developers can install a JWT library of their choice. Following are the documentation and examples using both the `jsonwebtoken` and `jose` libraries.

Expand Down Expand Up @@ -249,9 +249,9 @@ Check out [**this troubleshooting page to fix those.**](/embedded-wallets/troubl

Since, the `Custom Connection` details are available from Dashboard, developers don't need to pass any additional parameters to the `Web3AuthProvider`.

> Follow our [Quick Starts](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to setup the basic flow.
> Follow our [quickstart](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to set up the basic flow.

### Login with JWT
### Log in with JWT

<JwtLoginCustom />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ import CustomConnectionOptions from '@site/static/img/embedded-wallets/w3a-dashb
import FirebaseConnection from '@site/static/img/embedded-wallets/w3a-dashboard/firebase-connection.png'
import JwtLoginFirebase from '../../sdk/react/advanced/_custom-authentication-snippets/_jwt_login_firebase.mdx'

Firebase is a popular backend platform that enables developers to seamlessly integrate authentication, databases, and other services into their applications. Web3Auth supports Firebase as an authentication provider, allowing developers to leverage Firebase Authentication within the Web3Auth framework for secure user login and key management.
[Firebase](https://firebase.google.com/) is a popular backend platform that enables developers to seamlessly integrate authentication, databases, and other services into their applications. Web3Auth supports Firebase as an authentication provider, allowing developers to leverage Firebase Authentication within the Web3Auth framework for secure user login and key management.

[Take a look at the supported social logins on Firebase](https://firebase.google.com/docs/auth)

## Create a Firebase Project
## Create a Firebase project

To get started, developers must first create a Firebase project in the Firebase Console. This is a required step before integrating Firebase with Web3Auth. Once the Firebase project is set up, developers can proceed to configure a Firebase connection in the Embedded Wallets Dashboard.

Expand Down Expand Up @@ -63,7 +63,7 @@ export const FirebaseSetup = [

<Tiles tileGroups={FirebaseSetup} />

## Create a Firebase Connection
## Create a Firebase connection

:::success Create Firebase Connection on Dashboard

Expand Down Expand Up @@ -114,15 +114,15 @@ Follow these steps to create a Firebase connection:

Since, the `Firebase Connection` details are available from Dashboard, developers don't need to pass any additional parameters to the `Web3AuthProvider`.

> Follow our [Quick Starts](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to setup the basic flow.
> Follow our [quickstart](/quickstart/?product=EMBEDDED_WALLETS&walletAggregatorOnly=NO&framework=REACT&stepIndex=0) to set up the basic flow.

### Web

<JwtLoginFirebase />

### Android

##### Create Web3Auth Instance
##### Create a Web3Auth instance

In your activity, create a `Web3Auth` instance with your Web3Auth project's configurations.

Expand Down Expand Up @@ -204,7 +204,7 @@ When connecting, the `login` function takes the LoginParams arguments for the lo

### Flutter

##### Create Web3Auth Instance
##### Create a Web3Auth instance

In your `main.dart` file, initialize the `Web3AuthFlutter` plugin at the very beginning such as in the overriden `initState` function

Expand Down
Loading
Loading