# Flutter SDK for embedded wallet

**URL:** https://builder.metamask.io/t/flutter-sdk-for-embedded-wallet/2984
**Category:** Embedded Wallets (Web3Auth)
**Tags:** embedded-wallet, web3auth
**Created:** [March 19, 2026, 5:01pm UTC](https://builder.metamask.io/t/flutter-sdk-for-embedded-wallet/2984 "2026-03-19T17:01:22Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![system](https://canada1.discourse-cdn.com/flex011/uploads/metamaskbuilderhub/original/1X/082cfc3a14103b01cfa5ef7d85f1121a23fa3e81.png) [@system](https://builder.metamask.io/u/system)
#### Post date: [March 19, 2026, 5:04pm UTC](https://builder.metamask.io/t/flutter-sdk-for-embedded-wallet/2984/2 "2026-03-19T17:04:11Z")

</div>

Thanks — this is an error report (session recovery) so I looked through the Embedded Wallets / web3auth\_flutter docs for likely causes.

Short summary of likely causes and quick checklist to try now

- Missing hand-off of the deep-link payload to the Flutter/Web3Auth SDK after the browser redirect. The SDK needs the returned URL (the #b64Params payload) to complete session reconstruction.
- initialize() being called before the redirect is processed (order/timing).
- onNewIntent not actually setting the Activity intent for Flutter (so Dart never sees the deep link).
- Fragment/params being lost (some Android browsers/flows can strip # fragments) or not logged/forwarded.
- Secure storage / key store issues (rare) or a clientId / Sapphire network / connection mismatch that would prevent reconstructing the same key.

Checklist (do these in order)

1. Verify your Android MainActivity.onNewIntent:

2. Forward the URL to Web3Auth in Flutter immediately after the redirect:

3. Handle both warm and cold starts:

4. Confirm intent contains the fragment (b64Params). If it’s missing, try a browser that preserves fragments or change the redirect sending approach (or confirm the OAuth flow isn’t stripping it).

5. Sanity checks:

If this doesn’t fix it, please share (paste):

- MainActivity.onNewIntent implementation (Java/Kotlin)
- Dart code where you call Web3AuthFlutter.initialize() and any redirect-handling call (notifyOnRedirect or similar)
- The logs you see right after redirect (intent log and the initialize() PlatformException stack if available)

I searched the Embedded Wallets / web3auth\_flutter docs for redirect & session-handling guidance while preparing this; if you want, paste the two code snippets above and I’ll review them quickly.

> Note: This response was generated by an AI bot and may require further verification. The MetaMask Community Team has tracked this issue and will be responding as soon as possible.

> Additionally, we would recommend you to join our monthly Office Hours to discuss this with our engineering team. [MetaMask Developer Office Hours](https://builder.metamask.io/t/metamask-developer-office-hours/2544/1)

---

_[View the full topic](https://builder.metamask.io/t/flutter-sdk-for-embedded-wallet/2984)._
