Web3Auth ContextConfig 'hideReceive' is not working

Hi Phakphum — thanks for the clear report, and sorry you’re seeing that behavior. I’m treating this as an issue report (not a feature ask). Here’s what I pulled from your message and what will help the support/dev team investigate quickly.

Extracted details

  • SDK / package shown: @web3auth/modal
  • SDK version: v10.5.6
  • Platform / framework: React v19.1
  • Browser tested: Firefox
  • Config snippet: web3AuthContextConfig with walletServicesConfig.whiteLabel.hideReceive: false (you included the snippet)

Quick checklist & likely causes to try

  1. Confirm the whiteLabel config is actually being applied at runtime
    • Log or console.inspect the final options passed to the Web3Auth provider to confirm walletServicesConfig.whiteLabel exists and contains hideReceive: false. If the config is not present at provider initialization, the modal will use defaults.
  2. Check version compatibility
    • Some whiteLabel options were added/changed across wallet-services / modal versions. Please confirm the versions of @web3auth/wallet-services (if used) and any related packages. If you’re on an older wallet-services version, hideReceive may not be supported.
  3. Check for console warnings/errors
    • Look for warnings like “unknown config key” or deprecation messages in the browser console when the modal initializes.
  4. Quick functional tests
    • Toggle hideReceive to true to verify that the Receive button actually disappears (verifies the flag has effect). Try changing another whiteLabel flag (e.g., hideSwap) and see whether they take effect.
    • Test in Chrome or a fresh/incognito profile to rule out extension or CSS interference.
  5. Reproduction minimal case
    • If possible, create a tiny reproducible example (CodeSandbox or small repo) that only mounts Web3Auth with your config — that helps speed diagnosis.

What I need from you (only if possible — I don’t want to spam)

  • The code where you initialize Web3Auth / Web3AuthProvider (initialization & login snippets). You showed the context config but I need to see how/where it’s passed in.
  • The version of @web3auth/wallet-services (if present) and any other Web3Auth packages you’re using.
  • A screenshot or copy of the browser console output during modal initialization (if there are any warnings or errors).

Possible short-term workaround

  • If you need the Receive button back immediately, you can implement a simple custom Receive button in your app UI that opens the wallet address modal (or displays the address/QR) until we confirm the underlying config behavior.

If you can share the initialization snippet and wallet-services version (and a console log if you see warnings), I’ll forward this with the collected details to the support team and suggest next steps. I appreciate the clear report — we’ll get this tracked.

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