Thanks — I hear you. This looks like an integration issue (request rejected by Web3Auth Lookup API because Unreal Engine’s HTTP client forces a Content-Length: 0 header on GETs). I pulled these details from your message so the support team can triage quickly:
- SDK Details: MetaMask Embedded Wallets (Web3Auth)
- Platform: Unreal Engine 5.6
- Issue summary: GET to https://lookup.web3auth.io/lookup returns HTTP 400. Unreal automatically adds header
Content-Length: 0to GET requests which appears to cause the lookup API to reject the request.
Possible workarounds and things you can try now:
-
Use the Embedded Wallets / Web3Auth provider after login to get the account directly (no lookup call). After the user logs in / connects, call the provider RPC to get accounts, e.g. provider.request({ method: ‘eth_accounts’ }) or provider.request({ method: ‘eth_requestAccounts’ }). That returns the wallet address for the active session without calling the lookup endpoint.
-
Use Web3Auth SDK client methods — e.g. getUserInfo — for user metadata (note: getUserInfo generally returns user profile fields and may not include the wallet address; the provider RPC is the most direct way to get addresses).
-
Server-side proxy: if Unreal’s HTTP client cannot remove
Content-Length: 0, call the lookup API from a small server/cloud function you control (Node/Go/etc.) which can make a clean GET without that header. Unreal calls your server and your server calls the lookup endpoint. This is the simplest way to avoid the Unreal header issue without changing your engine HTTP stack. -
Confirm with Web3Auth whether the lookup endpoint can accept requests with
Content-Length: 0or whether there’s an alternate lookup endpoint or POST variant. If this is a behavior regression on their side they may adjust the endpoint or document an allowed workaround.
Helpful links:
- Embedded wallets pregeneration doc: Wallet Pregeneration | MetaMask developer documentation
- Embedded wallets docs landing: MetaMask Embedded Wallets | MetaMask
What would help the support team investigate (please provide if you’re comfortable):
- The Embedded Wallets / Web3Auth SDK version(s) you are using (if known).
- Whether you’re calling lookup from the Unreal client or from a server.
- A minimal code snippet showing how you call the lookup endpoint (or how you initialize/login with Web3Auth in your Unreal workflow).
- The raw request headers and response body (or a browser/HTTP client screenshot / copy) showing
Content-Length: 0and the 400 response.
If you’d like, paste your init/login snippet and the failing request headers here and I’ll format them for the support team and suggest the best next step. If you prefer a quick workaround now, the server-side proxy approach will unblock you immediately.
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