We are currently integrating MPC Core Kit to build an embedded wallet in the browser using Chromium WebUI. While testing, we encountered an issue where signMessage and signTransaction work properly in your demo repo, but in our WebUI environment, the signing call hangs indefinitely — no result, no error, and no network requests.
After comparing behaviors:
In your demo repo, we can see that socket.io connections and subsequent signing-related requests are triggered in the network tab.
In our WebUI repo, nothing is called in the network tab when invoking the same sign method.
We suspect this might be related to the Chromium WebUI restrictions:
This restriction includes fetch, XMLHttpRequest, and even WebSocket requests.
Since socket.io relies on HTTP/WebSocket transports, it appears unsupported within Chromium WebUI.
Question:
Is there a known limitation with using Web3Auth MPC Core Kit inside Chromium WebUI?
Does signing internally depend on socket.io/WebSocket connections, and if so, is there a workaround for WebUI environments where such networking APIs are blocked?
Do you recommend an alternative integration approach for WebUI-based embedded wallets?
Thank you for the detailed context and environment description! Here’s a summary of your issue and the relevant details for the support team:
Issue Summary
Problem:signMessage and signTransaction methods in Web3Auth MPC Core Kit (v3.4.3) hang indefinitely in a Chromium WebUI context. No result, error, or network requests are observed.
Expected Behavior: Works correctly in the Web3Auth demo repo (regular browser), where socket.io connections and signing requests are visible in the network tab.
Observed Behavior: In Chromium WebUI, no network activity is triggered by the signing call.
Suspected Cause: Chromium WebUI restricts HTTP/HTTPS fetch, XMLHttpRequest, and WebSocket (including socket.io), which may block the networking required for signing operations.
Technical Details
SDK: Web3Auth MPC Core Kit JS SDK
SDK Version: 3.4.3
Platform: Chromium 138, WebUI (React)
Key Restriction: WebUI blocks all HTTP/HTTPS and WebSocket requests, including those from socket.io.
Works in: Standard browser (outside of WebUI)
Questions for Support
Is there a known limitation with using Web3Auth MPC Core Kit inside Chromium WebUI?
Does signing depend on socket.io/WebSocket connections, and is there a workaround for environments where these are blocked?
Are there alternative integration approaches for embedded wallets in environments with such networking restrictions?
Additional Information
No code snippets or screenshots provided, but the issue is clearly tied to network restrictions in Chromium WebUI.
No custom authentication/JWT details involved.
Possible Solution/Reference
Based on Web3Auth Documentation, the MPC Core Kit does use network communication (including WebSockets via socket.io) for signing operations. If Chromium WebUI blocks these, the SDK’s core functionality may not be supported in this environment.
Potential Workaround:
If you have control over the Chromium WebUI environment, see if you can enable WebSocket/network permissions for your embedded wallet. Otherwise, consider using a different integration approach, such as running the wallet logic in a separate process or iframe that is not subject to these restrictions, and communicating via postMessage or another IPC method.
Support Team:
Please advise if there are official workarounds or alternative recommendations for environments that block all network requests, or confirm if this is a known limitation.
Let us know if you need further details or if you have specific logs/code snippets to share!
Note: This response was generated by an AI bot and may require further verification. The Web3Auth support 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. Web3Auth Developer Office Hours