
If a user has multiple embedded wallets (e.g. on different blockchains, or multiple HD addresses),
enrolling in MFA will require MFA for signatures and transactions from any of them.
- SMS, where users verify with a 6-digit MFA code sent to their phone number
- Time-based one-time password (TOTP), where users verify with a 6-digit MFA code from an authentication app, like Authy or Google Authenticator
- Passkeys, where users verify with a previously registered passkey, generally through biometric authentication on their device
Granular MFA with Policies
By default, once a user enrolls in MFA, all wallet actions require MFA verification. However, you can implement granular MFA to require MFA only for specific actions while allowing routine transactions to proceed without additional verification. For example, you can:- Require MFA only for transactions above a certain amount (e.g., transfers over 1000 USDC)
- Require MFA for withdrawals while allowing deposits without MFA
- Apply MFA requirements based on specific tokens, contracts, or actions
Learn how to implement granular MFA in our Granular MFA recipe.

