EVMSolana
Overview
Multi-Factor Authentication (MFA) adds an extra layer of security to Embedded Wallets by requiring users to verify their identity through a secondary authentication method.TOTP
Time-based codes from authenticator apps like Google Authenticator, Authy, or 1Password
SMS
Verification codes sent via text message to the user’s phone
How it works
Enrollment
- Authenticator app: User scans a QR code and registers the app in their authenticator app
- Text message: User provides their phone number in E.164 format (e.g.,
+14155552671)
Verification
- Authenticator app: User confirms by entering a 6-digit code
- Text message: User confirms by entering a 6-digit code sent via SMS
Users must be authenticated (signed in) before they can enroll in MFA. Users can enroll in both TOTP and SMS for maximum flexibility.
MFA-protected operations
The following actions automatically trigger MFA verification when the user is enrolled:EVM
EVM
signEvmHashsignEvmTypedDatasignEvmMessagesignEvmTransactionsendEvmTransactionsendUserOperationcreateEvmKeyExportIframe
Solana
Solana
signSolanaMessagesignSolanaTransactionsendSolanaTransactioncreateSolanaKeyExportIframe
Supported authenticator apps
Any TOTP-compatible authenticator app works. These are commonly used:Quickstart
If you’re using@coinbase/cdp-react, use the pre-built enrollment component to let users enable MFA:
- Detecting when MFA verification is needed
- Showing the verification modal
- Completing the operation after successful verification