Nothing but problems since Web3Auth was acquired by ConsenSys (MetaMask)

My project has been using Web3Auth for years. It used to work flawlessly until W3A was acquired by ConsenSys. I understand business operations change and there is always a need for big companies to monetize absolutely everything, but very basic features which were available pre-acquisition no longer work.

There has been a major disregard for projects that have spent time and money fundamentally implementing legacy Web3Auth. Projects with an active userbase now have to pay to maintain the very same features that were once free or available on a lower tier plan.

I cannot even initialize a new implementation of Web3Auth (with zero config settings besides the clientId and W3A network) without the API telling me I need to upgrade. Something has gone wrong since the acquisition. Maybe our legacy accounts are not configured properly on the dashboard? Who knows. No one cares.

Thanks — I’m sorry you’ve been hit with this friction. I can help get this to the right team and point you to next steps.

This looks like an initialization/error report (not a feature request). I’ve compiled the details you already gave and listed what we still need to investigate further.

Summary for support team (what you’ve already said)

  • SDK Details: MetaMask Embedded Wallets (Web3Auth)
  • SDK Version Number: Not provided
  • Platform: Not provided (web / mobile / other)
  • Issue: Previously-working Web3Auth integration began failing after acquisition by ConsenSys. New initializations (minimal config: clientId + network) return an upgrade/prompt-to-upgrade message. User suspects legacy account/dashboard migration or plan-change is blocking usage. Feels legacy projects were not preserved.

What I need from you (please provide any that apply)

  • SDK Version Number you’re using (package name + version). If you’ve switched to Embedded Wallets SDK, include that version.
  • Platform: web (browser + versions), mobile (iOS/Android), or server.
  • The exact initialization code snippet you’re using (the minimal code that triggers the upgrade prompt). If you can paste the snippet, that helps reproduce quickly.
  • Exact error text shown by the API or console. If possible, a browser console screenshot or network response screenshot showing the upgrade prompt or HTTP error.
  • Confirmation that the clientId you’re using is from the new MetaMask Embedded Wallets dashboard (or whether it’s a legacy Web3Auth clientId).

Immediate troubleshooting steps you can try right now

  1. Dashboard & clientId: Log into the MetaMask developer dashboard and confirm your project/clientId is listed and active. Ensure its plan covers the features you expect. Dashboard: https://dashboard.metamask.io/
  2. Migration guide: Follow the Embedded Wallets migration docs to confirm your project was migrated and no deprecated endpoints are used: https://docs.metamask.io/embedded-wallets/migration/
  3. SDK Quickstart / Initialization: Ensure you’re using the current Embedded Wallets SDK and initialization pattern in the quickstart: https://docs.metamask.io/embedded-wallets/sdk/quickstart/
  4. Pricing/feature gating: Check whether the feature you used pre-acquisition is now gated behind a paid tier: https://docs.metamask.io/embedded-wallets/pricing/
  5. Deprecated endpoints: If you still call legacy Web3Auth endpoints or libraries, switch to the Embedded Wallets equivalents — those old endpoints may return upgrade/errors.
  6. Reproduce with minimal app: Try the SDK quickstart sample with only your clientId. If that prompts upgrade, capture the network response (status code + body) and console logs for support.

If you’ve done the above and it still fails

  • Share the items requested above (SDK version, platform, init snippet, and console/network screenshot). I’ll summarize and escalate to the MetaMask support/engineering team on your behalf.

If you prefer to contact MetaMask support directly for account-specific or billing classification issues (legacy migration, plan entitlement) use: https://support.metamask.io/ — they can look up your account and dashboard state.

Links again for quick reference

You’re not alone here — if you share the SDK version, platform, and the init snippet or console screenshot, I’ll take the next step to package it for the support team and recommend the most likely fix.

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 biweekly Office Hours to get this resolved even faster. MetaMask Developer Office Hours

SDK Version Number: “@web3auth/modal”: “^10.12.0”

Platform: Web (Chrome 144.0.7559.61)

Initialization Snippet:

        const initWeb3Auth = async () => {
            const web3auth = new Web3Auth({
                clientId: import.meta.env.VITE_WEB3AUTH_CLIENT_ID,
                web3AuthNetwork: WEB3AUTH_NETWORK.MAINNET,
            });

            try {
                await web3auth.init();
                console.log("Web3Auth initialized");
            } catch (error) {
                console.error("Web3Auth initialization error:", error);
            }
        };

        initWeb3Auth();

Error Text: GET https://api.web3auth.io/signer-service/api/feature-access?client_id=<MY_CLIENT_ID>&network=mainnet&is_wallet_service=true&enable_gating=true 403 (Forbidden)

For some reason it is trying to use wallet service features. That is all the code I have in this test project. I have a legacy Web3Auth clientId, so I am guessing something has gone wrong your end.

Hi are you still having an error?