Hi,
We recently upgraded from Web3Auth v9 to v10 (@web3auth/modal ^10.15.0) and have two related questions we can’t find definitive answers to in the docs.
Setup
- SDK: @web3auth/modal v10.15.0
- Auth method: email_passwordless via connectTo(WALLET_CONNECTORS.AUTH, { authConnection: ‘email_passwordless’ })
- Network: Sapphire Mainnet
- Plan: Base
- Framework: Next.js 14 (Pages Router)
Question 1 — Which plan is required for uxMode: ‘redirect’?
We’re trying to fix a Safari popup blocking issue. Safari blocks the Web3Auth popup because connectTo() is called after an async operation, losing the
user gesture context. The natural fix is uxMode: ‘redirect’.
However, when we set uxMode: ‘redirect’ on the Base plan, we get:
code: 1003 — “wallet service not available on base plan”
We’ve also seen a community post where someone on the Growth plan received the same error:
▎ “The current subscription plan is growth and requesting features (wallet service) are not available on growth plan.”
This suggests redirect mode might require the Scale plan ($399/month), not just Growth ($69/month). Could you confirm:
- Which plan is the minimum to use uxMode: ‘redirect’?
- Is it tied to “Wallet Services” (the product feature on the pricing page), or is it a separate internal feature flag?
Question 2 — Does the wallet service 1003 error fire during connectTo() (not just init())?
We can see the 1003 wallet service error in our network tab on every login attempt, even on the Base plan without uxMode: ‘redirect’ set. Login works fine
on Chrome and Firefox, but fails on Safari.
We understand the error fires during init() at page load. But we suspect it may also fire inside connectTo() — and if Web3Auth internally retries or
recovers from the 1003 asynchronously before opening window.open(), that async gap would cause Safari to block the popup.
Could you confirm:
- Does the wallet service 1003 error also occur inside connectTo()?
- If yes, does this async recovery inside connectTo() affect the user gesture context for Safari popup opening?
- Is there any config option to disable wallet service initialization entirely on Base plan, to avoid this internal async gap?
Why this matters
If the 1003 inside connectTo() is causing Safari to block the popup, the fix isn’t just restructuring our code — it requires either a plan upgrade or a
way to opt out of wallet service checks. Knowing which plan actually fixes uxMode: ‘redirect’ will help us decide whether the plan cost is justified or
whether there’s a code-level workaround.
Thanks in advance.