Posture
DocumentedDynamic
Login and wallet infrastructure. A Fireblocks company, in their docs.
MetaMask Embedded
MetaMask’s embedded SDK. Consensys. The SDK still carries the Web3Auth name.
Two non-custodial embedded wallets with email and social login. The brand, and what the free plan lets you restyle, are the public differences.
01Connect entry
Dynamic lab entry. The host control opens the vendor’s default UI.
02Method picker
Dynamic default UI on the email method. No code has been sent.
03Credential check
Dynamic one-time code screen. The code was not submitted.
No screenshot
04Information capture
If the app requires an email, alias, or username, Dynamic says the user is prompted before the session is complete. Many apps skip this.
Dynamic sandbox logins use an email with +dynamic_test before the @. The code screen is captured. The static code was not printed in the widget, and DYNAMIC_TEST_OTP was unset, so the steps after the code stay pending. No real inbox was read.
No screenshot
05Embedded wallet creation
Docs are explicit that wallet creation follows authentication. A passkey prompt may appear here when passkeys protect the key.
No screenshot
06MFA or access gate
MFA and allowlists can stop the session after the first credential. This screen is conditional.
01Host app calls connect
MetaMask Embedded lab entry. The host control opens the vendor’s default UI.
02Login modal
MetaMask Embedded opened its default UI. An email field was not found, so the code screen is still pending.
No screenshot
03Provider or code
OAuth leaves the modal. Email stays for a code. An external MetaMask login asks for a signature instead.
The default modal opens and offers Continue with Email/Phone, but that control does not advance on http://localhost:3000. The console reports hCaptcha rejecting localhost. Re-run with BASE_URL=https://www.kycflows.com after www.kycflows.com and kycflows.com are allowed origins on this client. A dashboard test account under Project Settings → Advanced is still required to pass the code, and email passwordless has to stay enabled. This run does not read a real inbox.
No screenshot
04Wallet provisioning
The embedded key is created or restored via MPC. We have not seen whether this is a visible step or a spinner.
No screenshot
05Return to the app
The SDK exposes a provider. Any “wallet home” UI beyond that is plan-gated and not yet captured.
Dynamic and MetaMask Embedded Wallets both offer email, SMS, social login, and external wallets, then a non-custodial embedded key. Dynamic describes MPC wallets created after authentication, and a connector catalog that includes extensions, WalletConnect, QR codes, and deep links. MetaMask Embedded, formerly Web3Auth, describes MPC with threshold signatures and Shamir sharing, and a dashboard where you turn methods on.
MetaMask’s pricing page gates the look of the product. The free Base plan includes the default modal. Whitelabel login and passkeys start at Growth, $69 a month. The docs say the embedded wallet UI starts at Scale, $399. Dynamic also gates smart wallets, extra MFA, and white-label toward paid rows, and those rows are not identical across Dynamic’s own pricing views.
Brand is the other difference you can state without a screenshot. MetaMask is a name end users already have a feeling about. Dynamic is easier to hide behind the app, if your plan allows it. Which modal asks for fewer taps is pending first capture. We will use MetaMask’s devnet, where the gated UI is available to test.
Pending rows are the ones a capture will fill. They match on purpose.
Dynamic
Login and wallet infrastructure. A Fireblocks company, in their docs.
MetaMask Embedded
MetaMask’s embedded SDK. Consensys. The SDK still carries the Web3Auth name.
Dynamic
Email, SMS, social, passkey, a large external-wallet set, external JWT.
MetaMask Embedded
Email, SMS, a very wide social list, external wallets including MetaMask. Passkeys from Growth.
Dynamic
Customization is advertised. White-label sits on the enterprise side of at least one public matrix.
MetaMask Embedded
Default modal on Base. Whitelabel login on Growth. Embedded wallet UI on Scale.
Dynamic
A free sandbox, and possibly a free Launch plan up to 1,000 MAU. The pages disagree.
MetaMask Embedded
1,000 monthly active wallets, then $0.05. Paid plans start at $69.
Dynamic
Pending first capture
MetaMask Embedded
Pending first capture
Dynamic
Pending first capture
MetaMask Embedded
Pending first capture
Dynamic
Pending first capture
MetaMask Embedded
Pending first capture
Dynamic
Oct 20, 2026 · 3 of 6 frames
MetaMask Embedded
Oct 20, 2026 · 2 of 5 frames
MetaMask counts a monthly active wallet as a user with a login or a session in a calendar month. Dynamic’s MAU definition includes pregenerated wallets. The units are close and not identical.
Neither column is a recommendation. Sponsors do not reorder this page. If a sentence is wrong, send a correction with the source.