2026_04_01
Setting2026_04_01 as your minimum version enables two security features:
Step-up authentication
Step-up authentication requires users to re-verify their identity before performing sensitive actions. Credential linking/unlinking and wallet export always require step-up verification. Wallet sign is optional and configurable.Device registration
Device registration protects accounts from takeover by verifying users when they sign in from an unrecognized device. They receive an email verification link before being granted access. New users are registered automatically during signup with no extra friction.Migrating from action-based MFA to step-up authentication
If you previously used action-based MFA to protect sensitive wallet operations, step-up authentication replaces and extends that functionality. The core concept is the same — require users to re-verify before sensitive actions — but step-up auth adds scoped elevated access tokens, re-authentication methods for non-MFA users, and automatic token handling by the SDK.What changed
| Action-based MFA (before) | Step-up authentication (after) | |
|---|---|---|
| Hook | useMfa / useAuthenticatePasskeyMFA | useStepUpAuthentication |
| Token type | Unscoped MFA token (createMfaToken) | Scoped elevated access token (requestedScopes) |
| Token handling | SDK-managed MFA token | SDK-managed elevated access token (scoped JWT) |
| Who can verify | Only users with MFA methods (TOTP/Passkey) | All users — MFA methods, email OTP, SMS OTP, wallet signature, or social OAuth |
| Scope | None — token accepted for any action | Bound to specific scopes (wallet:export, wallet:sign, credential:link, credential:unlink) |
| Expiration | Single-use, no time limit | Time-limited (5 min single-use, 10 min multi-use) |
Dashboard changes
No dashboard changes are required for the migration itself. Your existing action-based MFA event configuration (Waas Export, Waas Refresh, WaaS Sign, WaaS Reshare) carries over. The key dashboard action is accepting the minimum API version at Dashboard > Developers > API & SDK Keys. Once set to2026_04_01, the backend enforces step-up authentication on all sensitive operations. Make sure your code is updated before accepting the minimum version.
Code migration: before and after
Using Dynamic’s built-in UI
- React
- React Native
- Flutter
Before — After —
usePromptMfaAuth with createMfaToken:useStepUpAuthentication with requestedScopes:Headless TOTP
- React
- JavaScript
- React Native
- Flutter
Before — After —
useMfa with authenticateDevice and createMfaToken:useStepUpAuthentication with verifyTotpMfa:Headless Passkey
- React
- JavaScript
- React Native
- Flutter
Before — After —
useAuthenticatePasskeyMFA with createMfaToken:useStepUpAuthentication with verifyPasskeyMfa:Migration checklist
- React
- JavaScript
- React Native
- Flutter
- Upgrade to React SDK
4.76.0or later - Replace
useMfa/useAuthenticatePasskeyMFA/usePromptMfaAuthwithuseStepUpAuthentication - Replace
createMfaTokenwithrequestedScopesusing the appropriateTokenScope - Replace
useIsMfaRequiredForActionwithisStepUpRequired - Test the step-up flow end-to-end for each protected action
- Accept the minimum API version
2026_04_01in your dashboard
Action required
You must implement both features in your app before setting the minimum API version. Once enabled, the backend enforces these requirements immediately — users will see errors if your app doesn’t handle them. If you use Dynamic’s built-in widget UI (The Dynamic Widget with the React SDK, for example) you are all set, just upgrade to the latest version. If you have a headless integration, you need to build the verification UI yourself — start with the feature overviews, then check minimum SDK versions and per-SDK guides.Feature overviews
- Step-up authentication — how it works, verification methods, scopes, and SDK implementation guides
- Device registration — how it works and SDK implementation guides
Minimum SDK versions
These minimum versions include support for step-up authentication and device registration. Implement both flows before raising your minimum API version.| SDK | Minimum version |
|---|---|
| React | 4.76.0 |
| React Native | 4.76.0 |
| JavaScript | 0.24.1 |
| Flutter | 1.2.10 |
| Kotlin | 1.0.8 |
| Swift | 1.0.11 |