Skip to content

Commit 917d22c

Browse files
bgravenorstyashovardhanalexandratran
authored
Update EW introduction content (#2790)
* Add svg. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> * Update EW introduction content. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> * Add rebrand admonition. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> * Remove MPC. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> * Add svg. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> * Update EW introduction content. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> * Add rebrand admonition. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> * Remove MPC. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> * Apply suggestions from code review Co-authored-by: Alexandra Carrillo <12214231+alexandratran@users.noreply.github.com> * Address feedback. Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> --------- Signed-off-by: bgravenorst <byron.gravenorst@consensys.net> Co-authored-by: Yashovardhan Agrawal <yashovardhan.agrawal@gmail.com> Co-authored-by: Alexandra Carrillo <12214231+alexandratran@users.noreply.github.com>
1 parent 63f6667 commit 917d22c

5 files changed

Lines changed: 251 additions & 69 deletions

File tree

.cursor/rules/editorial-voice.mdc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ The rules below are the most actionable subset for AI-assisted editing.
3434
Windows").
3535
- Do not start sentences with "So," "Basically," or "Actually."
3636

37+
## Lists
38+
39+
- Include at least two items but, if possible, no more than seven.
40+
- Keep items short enough that the reader can see two or three at a glance. A couple of short
41+
paragraphs per item is acceptable, but don't exceed that length often.
42+
- Make all items consistent in structure (for example, each item is a noun or a phrase that starts
43+
with a verb).
44+
3745
## Punctuation and formatting
3846

3947
- Do not use em dashes or en dashes. Use commas, parentheses, semicolons, or rephrase the sentence.

embedded-wallets/README.mdx

Lines changed: 47 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ description: 'What are MetaMask Embedded Wallets? Pluggable wallet infrastructur
66
---
77

88
import Head from '@docusaurus/Head'
9-
import BrowserOnly from '@docusaurus/BrowserOnly'
10-
import PnPCoreKitFlowLight from '@site/static/img/embedded-wallets/flow-diagrams/pnp-core-kit-flow-light.png'
11-
import PnPCoreKitFlowDark from '@site/static/img/embedded-wallets/flow-diagrams/pnp-core-kit-flow-dark.png'
129

1310
<Head>
1411
<meta
@@ -32,85 +29,73 @@ import PnPCoreKitFlowDark from '@site/static/img/embedded-wallets/flow-diagrams/
3229
<meta name="author" content="MetaMask" />
3330
</Head>
3431

35-
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.
32+
MetaMask Embedded Wallets (formerly Web3Auth) provides a pluggable embedded wallet infrastructure to
33+
simplify Web3 wallet integration and user onboarding. It supports OAuth-based logins and multiple
34+
platforms, allowing your users to access Web3 applications through familiar authentication methods.
3635

37-
Users enjoy seamless onboarding while maintaining full control of their non-custodial wallets, ensuring both convenience and security.
36+
MetaMask Embedded Wallets reduces traditional wallet management overhead by removing the need
37+
to manage private keys and seed phrases directly.
3838

39-
## Key features
39+
<p style={{ margin: '1.25rem 0' }}>
40+
<img
41+
src="/img/embedded-wallets/wallet-user-flow-comparison.svg"
42+
alt="End-user steps: traditional standalone wallet versus Embedded Wallets"
43+
style={{
44+
display: 'block',
45+
width: '100%',
46+
maxWidth: 794,
47+
height: 'auto',
48+
marginLeft: 'auto',
49+
marginRight: 'auto',
50+
}}
51+
/>
52+
</p>
4053

41-
<BrowserOnly>
42-
{() => {
43-
const ModalAnim = require('@site/src/components/ModalAnim').default
44-
return <ModalAnim />
45-
}}
46-
</BrowserOnly>
54+
Users get a smoother onboarding experience while retaining control of non-custodial wallets.
55+
56+
## Key features
4757

48-
### 🔐 Authentication made simple
58+
### Authentication
4959

50-
Get your users started in seconds with familiar login methods they already use:
60+
Help users get started quickly with sign-in methods they already use:
5161

52-
- Sign in with Google, Twitter, GitHub and other popular social accounts
53-
- Passwordless login via email, SMS and authenticator apps.
54-
- Bring your own auth system while leveraging our secure wallet infrastructure
62+
- Sign in with Google, Twitter, GitHub, and other popular social accounts.
63+
- Sign in with email, SMS, and authenticator apps without passwords.
64+
- Bring your own auth system while using MetaMask Embedded Wallets infrastructure.
5565

56-
### 🛡️ Bank-grade security
66+
### Security
5767

5868
Enterprise-level protection for your users' digital assets:
5969

60-
- Advanced MPC technology splits keys across multiple parties
61-
- Users maintain 100% control of their non-custodial wallets
62-
- Distributed architecture prevents single points of failure
63-
- Multiple backup options for worry-free recovery
70+
- Users maintain 100% control of their non-custodial wallets.
71+
- A distributed architecture prevents single points of failure.
72+
- Multiple recovery options support account recovery flows.
6473

65-
### 💻 Built for developers
74+
### Developer experience
6675

67-
Integrate MetaMask Embedded Wallets into your app with minimal effort:
76+
Integrate MetaMask Embedded Wallets into your app with minimal setup:
6877

69-
- Drop-in solution works with your existing auth system
70-
- No complex migrations or infrastructure changes needed
71-
- Full control to customize the look and feel
72-
- Support for web, mobile, and gaming platforms
78+
- Use a drop-in solution that works with your existing auth system.
79+
- Avoid complex migrations or infrastructure changes.
80+
- Customize the look and feel.
81+
- Integrate on web, mobile, and gaming platforms.
7382

74-
### 👥 Designed for users
83+
### User experience
7584

76-
The smoothest path to Web3 for your users:
85+
Provide a low-friction path to Web3:
7786

78-
- Get started in under 60 seconds
79-
- No crypto knowledge needed
80-
- Users own and control their wallets
81-
- Simple, reliable account recovery
87+
- Help users get started quickly.
88+
- Avoid requiring users to understand blockchain concepts up front.
89+
- Let users own and control their wallets.
90+
- Support account recovery flows.
8291

83-
MetaMask Embedded Wallets (formerly Web3Auth) operate as wallet infrastructure, providing enhanced flexibility and security for decentralized applications (dapps) and blockchain wallets. Throughout this documentation, we'll explore the functionality of MetaMask Embedded Wallets, showcasing how it produces unique cryptographic key providers for each user and application.
92+
MetaMask Embedded Wallets provides wallet infrastructure for dapps and blockchain wallets. This
93+
documentation explains how it works, including how it generates cryptographic key providers for
94+
each user and application.
8495

8596
## How do Embedded Wallets work?
8697

87-
### High-level architecture
88-
89-
The Embedded Wallet SDKs live solely on the user/application's frontend client and handle the interactions between OAuth providers and the Embedded Wallet network.
90-
91-
The diagram below describes the relationship between the SDKs and integrating applications. It also depicts the difference between the products that power the infrastructure for a developer-friendly integration.
92-
93-
<picture>
94-
<source srcset={PnPCoreKitFlowLight} media="(prefers-color-scheme: light)" />
95-
<source srcset={PnPCoreKitFlowDark} media="(prefers-color-scheme: dark)" />
96-
<img
97-
src={PnPCoreKitFlowLight}
98-
style={{ display: 'block', maxHeight: '600px', margin: '20px auto' }}
99-
alt="This diagram describes the relationship between the Embedded Wallet SDK and integrating application"
100-
/>
101-
</picture>
102-
103-
### Wallet management infrastructure
104-
105-
The [wallet management infrastructure](./infrastructure/README.mdx) enhances security by distributing a user's wallet across various key shares, thereby avoiding direct exposure of seed phrases. These key shares form a 'web of trust' and enable wallet management akin to multi-factor account handling. Users employ OAuth logins, trusted devices, and other factors to manage their cryptographic key pairs. Importantly, the complete private keys are not stored anywhere within the wallet infrastructure system, including our databases or any participating nodes.
106-
107-
To create a social login share, users interact with the Embedded Wallets network, where key generation operates via a 5/9 consensus system. This setup guarantees that wallets remain non-custodial, ensuring that neither MetaMask, social login providers, nor any other party holding a key share can claim full ownership.
108-
109-
:::tip managing wallets
110-
111-
For managing wallets, our infrastructure uses various cryptographic techniques such as [Shamir's Secret Sharing](./infrastructure/sss-architecture.mdx), threshold cryptography, and [Multi Party Computation (MPC)](./infrastructure/mpc-architecture.mdx). To learn more about how we manage wallets, please refer to our [Wallet Management and Security of our Infrastructure](./infrastructure/README.mdx).
112-
113-
:::
98+
See **[Architecture](./architecture.mdx)** for the high-level system design, SDK and integration diagram, and wallet management infrastructure.
11499

115100
## Is MetaMask Embedded Wallets a wallet?
116101

@@ -124,15 +109,8 @@ The MetaMask Embedded Wallets infrastructure is built to handle millions of user
124109

125110
- Global availability across multiple regions with consistent low-latency performance worldwide
126111
- Automatic horizontal scaling that adjusts capacity based on demand, eliminating bottlenecks and ensuring uninterrupted service
127-
- Enhanced security and reliability through distributed MPC architecture, maintaining a track record of zero downtime over three years of operation
128112
- Enterprise-grade infrastructure running on Kubernetes orchestration for maximum reliability and performance
129113

130-
:::note[Rebrand]
131-
132-
The SDKs are now branded as MetaMask Embedded Wallet SDKs (formerly Web3Auth Plug and Play SDKs). Package names and APIs remain Web3Auth (for example, Web3Auth React SDK), and code snippets may reference `web3auth` identifiers.
133-
134-
:::
135-
136114
:::tip[Start]
137115

138116
[Get started with Embedded Wallets](./get-started.mdx).

embedded-wallets/architecture.mdx

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
title: Architecture
3+
sidebar_label: Architecture
4+
description: "How MetaMask Embedded Wallets fit together: SDK layout, integrations, and wallet management infrastructure."
5+
---
6+
7+
import PnPCoreKitFlowLight from '@site/static/img/embedded-wallets/flow-diagrams/pnp-core-kit-flow-light.png'
8+
import PnPCoreKitFlowDark from '@site/static/img/embedded-wallets/flow-diagrams/pnp-core-kit-flow-dark.png'
9+
10+
MetaMask Embedded Wallets includes front-end SDKs that run in your app and coordinate OAuth sign-in
11+
with the Embedded Wallets network. You use these SDKs to authenticate a user, retrieve the key
12+
material required for that user, and create a client that can sign requests on the user's behalf.
13+
14+
:::note[Rebrand]
15+
16+
The SDKs are now branded as MetaMask Embedded Wallet SDKs (formerly Web3Auth Plug and Play SDKs).
17+
Package names and APIs remain Web3Auth (for example, Web3Auth React SDK), and code snippets may reference `web3auth` identifiers.
18+
19+
:::
20+
21+
At a high level, the flow includes:
22+
23+
1. **Your app**: Starts OAuth sign-in with the selected login provider.
24+
1. **Login providers**: Authenticates the user and returns an ID token.
25+
1. **Embedded Wallet SDK**: Submits the ID token for validation and requests the user's OAuth key share.
26+
1. **Core kit (tKey)**: Combines key shares to recreate the user's signing key.
27+
1. **Embedded Wallets network**: Validates tokens and returns the required key share.
28+
1. **Your app**: uses the SDK-provided client to create a wallet provider and sign requests on the
29+
user's behalf.
30+
31+
The following diagram summarizes the login flow and shows how the SDK components interact with the
32+
integrating app and the Embedded Wallets network.
33+
34+
<picture>
35+
<source srcset={PnPCoreKitFlowLight} media="(prefers-color-scheme: light)" />
36+
<source srcset={PnPCoreKitFlowDark} media="(prefers-color-scheme: dark)" />
37+
<img
38+
src={PnPCoreKitFlowLight}
39+
style={{ display: 'block', maxHeight: '600px', margin: '20px auto' }}
40+
alt="This diagram describes the relationship between the Embedded Wallet SDK and integrating application"
41+
/>
42+
</picture>
43+
44+
### Wallet management infrastructure
45+
46+
The [wallet management infrastructure](./infrastructure/README.mdx) improves security by splitting a
47+
user's wallet into multiple key shares, which avoids direct exposure of seed phrases. Users combine
48+
OAuth sign-in, trusted devices, and other recovery factors to access and manage their cryptographic
49+
keys. The infrastructure is designed so that no single party holds the full private key.
50+
51+
To create an OAuth login share, users interact with the Embedded Wallets network. Key generation
52+
uses a threshold process that requires multiple participants to contribute shares. This helps keep
53+
wallets non-custodial, because no single party (including MetaMask or the login provider) can use a
54+
single share to control the wallet.
55+
56+
:::tip managing wallets
57+
58+
The infrastructure uses [Shamir's Secret Sharing](./infrastructure/sss-architecture.mdx) to split and
59+
recover wallet keys.
60+
For more details, see [Wallet management infrastructure](./infrastructure/README.mdx).
61+
62+
:::

ew-sidebar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ const sidebar = {
128128
overview: [
129129
{ type: "doc", id: "README", label: "About" },
130130
{ type: "doc", id: "get-started", label: "Get Started" },
131+
{ type: "doc", id: "architecture", label: "Architecture" },
131132
"build-with-ai",
132133
{
133134
type: "category",
Lines changed: 133 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)