I noticed that the ‘receive’ button on my Wallet UI modal is removed even I specified hideReceive in the Web3AuthContextConfig configuration as false as shown below
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.
Config snippet: web3AuthContextConfig with walletServicesConfig.whiteLabel.hideReceive: false (you included the snippet)
Quick checklist & likely causes to try
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.
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.
Check for console warnings/errors
Look for warnings like “unknown config key” or deprecation messages in the browser console when the modal initializes.
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.
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
I confirmed that the whiteLabel config is actually being applied at runtime by log or console.inspect the final options passed to the web3auth provider.
I don’t use @web3auth/wallet-services at this point.
I don’t have any warnings or errors related to web3auth or “unknown config key”
I tested other whiteLabel flags such as hideSwap and it works normally.
I passed the context config to the react component as shown below