Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions delegation-toolkit/get-started/use-the-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@ The CLI provides the following options to display CLI details, and further custo
| `-v` or `--version` | Check the current version of the `@metamask/create-gator-app` CLI. |
| `-h` or `--help` | Display the available options. |
| `--skip-install` | Skip the installation of dependencies. |
| `--add-web3auth` | Add [Web3Auth Embedded Wallet](https://web3auth.io/docs) as a signer for the delegator account.<br/>Supported templates:<br/>- MetaMask Smart Accounts Starter<br/>- MetaMask Smart Accounts & Delegation Starter |
| `--add-web3auth` | Add [MetaMask Embedded Wallets (previously Web3Auth)](/embedded-wallets) as a signer for the delegator account.<br/>Supported templates:<br/>- MetaMask Smart Accounts Starter<br/>- MetaMask Smart Accounts & Delegation Starter |
| `--add-llm-rules` | Add LLM rules for your IDE. Supported in the Experimental: ERC7715 Permissions Starter template. |

## Examples

### Web3Auth configuration
### MetaMask Embedded Wallets configuration

To create a project that uses [Web3Auth](https://web3auth.io/docs/) Embedded Wallet as the signer for your delegator
To create a project that uses [MetaMask Embedded Wallets](/embedded-wallets) as the signer for your delegator
account, use the `--add-web3auth` option with `@metamask/create-gator-app`:

```bash
Expand Down
122 changes: 61 additions & 61 deletions delegation-toolkit/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Delegation Toolkit introduction
sidebar_label: Introduction
description: High-level overview of MetaMask Smart Accounts and the Delegation Toolkit.
description: High-level overview of Smart Accounts and the Delegation Toolkit.
sidebar_position: 1
---

Expand All @@ -13,7 +13,7 @@ The MetaMask Delegation Toolkit is a [Viem](https://viem.sh/)-based collection o
Smart accounts support programmable account behavior and advanced features like delegated permissions, multi-signature approvals, and gas abstraction.

[Delegation](concepts/delegation/index.md) is a core feature of MetaMask Smart Accounts, enabling secure, rule-based permission sharing.
Delegation is powered by the toolkit's Delegation Framework, which defines how
Delegation is powered by the toolkit's Delegation Framework, which defines how
permissions are created, shared, and enforced.

## Why use the toolkit?
Expand All @@ -39,33 +39,33 @@ The toolkit enables:
Check out the following guides to get started with the MetaMask Delegation Toolkit:

<CardList
items={[
{
href: "get-started/install",
title: "Install and set up",
description: "Install and set up the MetaMask Delegation Toolkit.",
},
{
href: "get-started/smart-account-quickstart",
title: "MetaMask Smart Accounts quickstart",
description: "Create a MetaMask smart account and send a user operation.",
},
{
href: "get-started/smart-account-quickstart/eip7702",
title: "EIP-7702 quickstart",
description: "Upgrade an externally owned account to a smart account.",
},
{
href: "get-started/erc7715-quickstart",
title: "ERC-7715 quickstart",
description: "Request permissions from MetaMask and execute transactions on a user's behalf.",
},
{
href: "get-started/use-the-cli",
title: "Use the CLI",
description: "Use the Delegation Toolkit CLI to bootstrap a project.",
}
]}
items={[
{
href: "get-started/install",
title: "Install and set up",
description: "Install and set up the MetaMask Delegation Toolkit.",
},
{
href: "get-started/smart-account-quickstart",
title: "MetaMask Smart Accounts quickstart",
description: "Create a MetaMask smart account and send a user operation.",
},
{
href: "get-started/smart-account-quickstart/eip7702",
title: "EIP-7702 quickstart",
description: "Upgrade an externally owned account to a smart account.",
},
{
href: "get-started/erc7715-quickstart",
title: "ERC-7715 quickstart",
description: "Request permissions from MetaMask and execute transactions on a user's behalf.",
},
{
href: "get-started/use-the-cli",
title: "Use the CLI",
description: "Use the Delegation Toolkit CLI to bootstrap a project.",
}
]}
/>

## Partner integrations
Expand All @@ -74,36 +74,36 @@ The MetaMask Delegation Toolkit is integrated with multiple ecosystem partners.
Check out the following documentation from these partners:

<CardList
items={[
{
href: "https://scaffoldeth.io/extensions",
title: "Scaffold-ETH 2",
description: "Install the MetaMask Delegation Toolkit extension for Scaffold-ETH 2.",
buttonIcon: 'external-arrow',
},
{
href: "https://viem.sh/account-abstraction/accounts/smart/toMetaMaskSmartAccount",
title: "Viem",
description: "Use MetaMask Smart Accounts with Viem.",
buttonIcon: 'external-arrow',
},
{
href: "https://docs.arbitrum.io/for-devs/third-party-docs/MetaMask/",
title: "Arbitrum",
description: "Use MetaMask Smart Accounts with Arbitrum.",
buttonIcon: 'external-arrow',
},
{
href: "https://docs.pimlico.io/guides/how-to/accounts/use-metamask-account",
title: "permissionless.js",
description: "Use MetaMask Smart Accounts with permissionless.js.",
buttonIcon: 'external-arrow',
},
{
href: "https://docs.monad.xyz/tooling-and-infra/account-abstraction/wallet-providers#metamask-delegation-toolkit",
title: "Monad",
description: "Use MetaMask Smart Accounts with Monad Testnet.",
buttonIcon: 'external-arrow',
}
]}
items={[
{
href: "https://scaffoldeth.io/extensions",
title: "Scaffold-ETH 2",
description: "Install the MetaMask Delegation Toolkit extension for Scaffold-ETH 2.",
buttonIcon: 'external-arrow',
},
{
href: "https://viem.sh/account-abstraction/accounts/smart/toMetaMaskSmartAccount",
title: "Viem",
description: "Use MetaMask Smart Accounts with Viem.",
buttonIcon: 'external-arrow',
},
{
href: "https://docs.arbitrum.io/for-devs/third-party-docs/MetaMask/",
title: "Arbitrum",
description: "Use MetaMask Smart Accounts with Arbitrum.",
buttonIcon: 'external-arrow',
},
{
href: "https://docs.pimlico.io/guides/how-to/accounts/use-metamask-account",
title: "permissionless.js",
description: "Use MetaMask Smart Accounts with permissionless.js.",
buttonIcon: 'external-arrow',
},
{
href: "https://docs.monad.xyz/tooling-and-infra/account-abstraction/wallet-providers#metamask-delegation-toolkit",
title: "Monad",
description: "Use MetaMask Smart Accounts with Monad Testnet.",
buttonIcon: 'external-arrow',
}
]}
/>
8 changes: 4 additions & 4 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ const config = {
{
name: 'keywords',
content:
'MetaMask, SDK, Wallet, API, Dapp, App, Connect, Delegation, Toolkit, Documentation, Smart, Account, Snaps, Infura, Services, Dashboard',
'MetaMask, Embedded Wallets, Quickstart, Web3 Development, SDK, Wallet Integration, API, Dapp Development, Blockchain Development, Ethereum Development, Smart Contract, Account Abstraction, Snaps, Crypto Wallet, DeFi, NFT, Infura, Services, Dashboard',
},
// Twitter-specific meta tags
{
Expand All @@ -332,7 +332,7 @@ const config = {
},
{
name: 'twitter:image',
content: 'https://docs.metamask.io/img/metamaskog.jpeg',
content: 'https://docs.metamask.io/img/metamaskog.jpg',
},
{
name: 'twitter:image:alt',
Expand All @@ -349,7 +349,7 @@ const config = {
// Open Graph meta tags for better social sharing
{
property: 'og:image',
content: 'https://docs.metamask.io/img/metamaskog.jpeg',
content: 'https://docs.metamask.io/img/metamaskog.jpg',
},
{
property: 'og:image:width',
Expand All @@ -368,7 +368,7 @@ const config = {
content: 'website',
},
],
image: '/img/metamaskog.jpeg',
image: '/img/metamaskog.jpg',
colorMode: {
respectPrefersColorScheme: true,
},
Expand Down
37 changes: 35 additions & 2 deletions embedded-wallets/README.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: What are Embedded Wallets?
image: 'img/docs-meta-cards/documentation-card.png'
image: 'img/metamaskog.jpg'
sidebar_label: What are Embedded Wallets?
description: 'What are MetaMask Embedded Wallets? | Documentation - MetaMask Embedded Wallets'
---

import BrowserOnly from '@docusaurus/BrowserOnly'

import SEO from '@site/src/components/SEO'
import Tiles from '@theme/Tiles'

export const GetStarted = [
Expand Down Expand Up @@ -72,6 +72,39 @@ export const GetStarted = [

}, ]

<SEO
title="MetaMask Embedded Wallets"
description="Pluggable embedded wallet infrastructure that simplifies Web3 wallet integration and user onboarding. OAuth-based logins, multiple platforms, seamless Web3 authentication."
keywords={[
'embedded wallets',
'web3 wallet integration',
'metamask sdk',
'web3auth alternative',
'social login web3',
'oauth wallet',
'dapp wallet integration',
'non-custodial wallet',
'crypto wallet sdk',
'blockchain wallet api',
'web3 authentication',
'metamask embedded wallet',
'wallet as a service',
'white label wallet',
'crypto wallet infrastructure',
'defi wallet integration',
'ethereum wallet sdk',
'multi-chain wallet',
'wallet connect alternative',
'web3 onboarding',
'smart contract wallet',
'account abstraction',
'passkey authentication',
'biometric wallet login',
'gasless transactions',
]}
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.

Users enjoy seamless onboarding while maintaining full control of their non-custodial wallets, ensuring both convenience and security.
Expand Down
2 changes: 1 addition & 1 deletion embedded-wallets/authentication/README.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Authentication
sidebar_label: Overview
image: 'img/docs-meta-cards/documentation-card.png'
image: 'img/metamaskog.jpg'
description: 'Authentication | Embedded Wallets'
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ sidebar_label: Email Passwordless
description: 'Email Passwordless Login with Embedded Wallets | Embedded Wallets'
---

import EmailPasswordlessToggle from '@site/static/img/w3a-dashboard/email-passwordless-toggle.png'
import EmailPasswordlessAddConnection from '@site/static/img/w3a-dashboard/email-passwordless-add-connection.png'
import EmailPasswordlessOnboarding from '@site/static/img/w3a-dashboard/email-passwordless-onboarding.gif'
import EmailPasswordlessToggle from '@site/static/img/embedded-wallets/w3a-dashboard/email-passwordless-toggle.png'
import EmailPasswordlessAddConnection from '@site/static/img/embedded-wallets/w3a-dashboard/email-passwordless-add-connection.png'
import EmailPasswordlessOnboarding from '@site/static/img/embedded-wallets/w3a-dashboard/email-passwordless-onboarding.gif'

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.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ sidebar_label: External Wallets
description: 'External Wallets Login with Embedded Wallets | Embedded Wallets'
---

import ExternalWalletsToggle from '@site/static/img/w3a-dashboard/external-wallets-toggle.png'
import ExternalWalletsSelectWallets from '@site/static/img/w3a-dashboard/external-wallets-select-wallets.png'
import ExternalWalletsToggle from '@site/static/img/embedded-wallets/w3a-dashboard/external-wallets-toggle.png'
import ExternalWalletsSelectWallets from '@site/static/img/embedded-wallets/w3a-dashboard/external-wallets-select-wallets.png'

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.

Expand Down
6 changes: 3 additions & 3 deletions embedded-wallets/authentication/basic-logins/sms-otp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ sidebar_label: SMS OTP
description: 'SMS OTP Login with Embedded Wallets | Embedded Wallets'
---

import SMSOTPToggle from '@site/static/img/w3a-dashboard/sms-otp-toggle.png'
import SMSOTPAddConnection from '@site/static/img/w3a-dashboard/sms-otp-add-connection.png'
import SMSOTPOnboarding from '@site/static/img/w3a-dashboard/email-passwordless-onboarding.gif'
import SMSOTPToggle from '@site/static/img/embedded-wallets/w3a-dashboard/sms-otp-toggle.png'
import SMSOTPAddConnection from '@site/static/img/embedded-wallets/w3a-dashboard/sms-otp-add-connection.png'
import SMSOTPOnboarding from '@site/static/img/embedded-wallets/w3a-dashboard/email-passwordless-onboarding.gif'

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.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import Tiles from '@theme/Tiles'

import CustomConnectionOptions from '@site/static/img/w3a-dashboard/authentication-custom-connections.png'
import Auth0Connection from '@site/static/img/w3a-dashboard/auth0-connection.png'
import CustomConnectionOptions from '@site/static/img/embedded-wallets/w3a-dashboard/authentication-custom-connections.png'
import Auth0Connection from '@site/static/img/embedded-wallets/w3a-dashboard/auth0-connection.png'

import JwtLoginAuth0 from '../../sdk/react/advanced/_custom-authentication-snippets/_jwt_login_auth0.mdx'
import ImplicitLoginAuth0Google from '../../sdk/react/advanced/_custom-authentication-snippets/_implicit_login_auth0_google.mdx'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ sidebar_label: AWS Cognito
description: 'AWS Cognito Login with Embedded Wallets | Embedded Wallets'
---

import CustomConnectionOptions from '@site/static/img/w3a-dashboard/authentication-custom-connections.png'
import AWSConnection from '@site/static/img/w3a-dashboard/aws-cognito-connection.png'
import CustomConnectionOptions from '@site/static/img/embedded-wallets/w3a-dashboard/authentication-custom-connections.png'
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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
title: Custom JWT Login with Embedded Wallets
sidebar_label: Custom JWT
description: 'Custom JWT Login with Embedded Wallets | Embedded Wallets'
image: 'img/docs-meta-cards/documentation-card.png'
image: 'img/metamaskog.jpg'
---

import TabItem from '@theme/TabItem'
import Tabs from '@theme/Tabs'

import CustomConnectionOptions from '@site/static/img/w3a-dashboard/authentication-custom-connections.png'
import CustomJWTConnection from '@site/static/img/w3a-dashboard/custom-connection.png'
import CustomConnectionOptions from '@site/static/img/embedded-wallets/w3a-dashboard/authentication-custom-connections.png'
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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ description: 'Firebase Login with Embedded Wallets | Embedded Wallets'

import Tiles from '@theme/Tiles'

import CustomConnectionOptions from '@site/static/img/w3a-dashboard/authentication-custom-connections.png'
import FirebaseConnection from '@site/static/img/w3a-dashboard/firebase-connection.png'
import CustomConnectionOptions from '@site/static/img/embedded-wallets/w3a-dashboard/authentication-custom-connections.png'
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.
Expand Down
8 changes: 4 additions & 4 deletions embedded-wallets/authentication/group-connections.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
title: Group Connections
sidebar_label: Group Connections
description: 'Group Connections | Embedded Wallets'
image: 'img/docs-meta-cards/documentation-card.png'
image: 'img/metamaskog.jpg'
---

import AuthenticationGroupConnectionsSelect from '@site/static/img/w3a-dashboard/authentication-group-connections-select.png'
import AuthenticationGroupConnectionsCreate from '@site/static/img/w3a-dashboard/authentication-group-connections-create.png'
import AuthenticationGroupConnectionsConfirm from '@site/static/img/w3a-dashboard/authentication-group-connections-confirm.png'
import AuthenticationGroupConnectionsSelect from '@site/static/img/embedded-wallets/w3a-dashboard/authentication-group-connections-select.png'
import AuthenticationGroupConnectionsCreate from '@site/static/img/embedded-wallets/w3a-dashboard/authentication-group-connections-create.png'
import AuthenticationGroupConnectionsConfirm from '@site/static/img/embedded-wallets/w3a-dashboard/authentication-group-connections-confirm.png'

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
Expand Down
2 changes: 1 addition & 1 deletion embedded-wallets/authentication/id-token.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Web3Auth Identity Token
sidebar_label: Web3Auth Identity Token
image: 'img/docs-meta-cards/documentation-card.png'
image: 'img/metamaskog.jpg'
description: 'Identity Token | Embedded Wallets'
---

Expand Down
Loading
Loading