Unreal Engine Lookup API Request Fails with 400 Due to Content-Length: 0

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: 0 to GET requests which appears to cause the lookup API to reject the request.

Possible workarounds and things you can try now:

  1. 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.

  2. 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).

  3. 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.

  4. Confirm with Web3Auth whether the lookup endpoint can accept requests with Content-Length: 0 or 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:

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: 0 and 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