Skip to content

Dynamic vs MetaMask Embedded

Two non-custodial embedded wallets with email and social login. The brand, and what the free plan lets you restyle, are the public differences.

The flows

Dynamic logoDynamic

  1. 01Connect entry

    Dynamic lab entry. The host control opens the vendor’s default UI.

  2. 02Method picker

    Dynamic default UI on the email method. No code has been sent.

  3. 03Credential check

    Dynamic one-time code screen. The code was not submitted.

  4. 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.

  5. No screenshot

    05Embedded wallet creation

    Docs are explicit that wallet creation follows authentication. A passkey prompt may appear here when passkeys protect the key.

  6. No screenshot

    06MFA or access gate

    MFA and allowlists can stop the session after the first credential. This screen is conditional.

MetaMask Embedded logoMetaMask Embedded

  1. 01Host app calls connect

    MetaMask Embedded lab entry. The host control opens the vendor’s default UI.

  2. 02Login modal

    MetaMask Embedded opened its default UI. An email field was not found, so the code screen is still pending.

  3. 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.

  4. 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.

  5. 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.

The table

Pending rows are the ones a capture will fill. They match on purpose.

Posture

Documented

Dynamic logoDynamic

Login and wallet infrastructure. A Fireblocks company, in their docs.

MetaMask Embedded logoMetaMask Embedded

MetaMask’s embedded SDK. Consensys. The SDK still carries the Web3Auth name.

Sign-in, as documented

Documented

Dynamic logoDynamic

Email, SMS, social, passkey, a large external-wallet set, external JWT.

MetaMask Embedded logoMetaMask Embedded

Email, SMS, a very wide social list, external wallets including MetaMask. Passkeys from Growth.

Restyling

Documented

Dynamic logoDynamic

Customization is advertised. White-label sits on the enterprise side of at least one public matrix.

MetaMask Embedded logoMetaMask Embedded

Default modal on Base. Whitelabel login on Growth. Embedded wallet UI on Scale.

Free tier shape

Documented

Dynamic logoDynamic

A free sandbox, and possibly a free Launch plan up to 1,000 MAU. The pages disagree.

MetaMask Embedded logoMetaMask Embedded

1,000 monthly active wallets, then $0.05. Paid plans start at $69.

Steps to a wallet

Pending

Dynamic logoDynamic

Pending first capture

MetaMask Embedded logoMetaMask Embedded

Pending first capture

Fields the user fills

Pending

Dynamic logoDynamic

Pending first capture

MetaMask Embedded logoMetaMask Embedded

Pending first capture

Time to first wallet

Pending

Dynamic logoDynamic

Pending first capture

MetaMask Embedded logoMetaMask Embedded

Pending first capture

Last captured

Documented

Dynamic logoDynamic

Oct 20, 2026 · 3 of 6 frames

MetaMask Embedded logoMetaMask 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.