I’m testing the Web3Auth Wallet Service UI (modal) with a custom EVM network added via the dashboard.
The connection works fine — I can switch to the custom chain and interact with smart contracts through the Web3Auth provider.
However, in the Wallet Service UI modal, the “Tokens” (ERC20) and “NFTs” (ERC721) tabs are empty when connected to our custom chain.
Could you please clarify:
Is it currently possible for the Wallet Service UI modal to show ERC20 and ERC721 tokens for a custom EVM network?
If yes, what additional configurations or metadata (e.g., token list, RPC or explorer settings, indexing requirements) are required on the dashboard?
If not, are there any plans or workarounds to support displaying token/NFT assets on custom chains?
Hi 조성혁 — thanks for the clear report. I can help escalate this to the support team and give some immediate troubleshooting guidance.
Quick tone check: you’re reporting an issue (tokens/NFTs not visible in the Wallet Service UI modal for a custom EVM chain). I extracted the following from your message:
SDK: MetaMask Embedded Wallets (Web3Auth)
SDK version: (not provided) — please share if available
Platform: (not provided — web/mobile?)
Short answers to your three questions
Can the Wallet Service UI show ERC20/ERC721 for a custom EVM network?
It can, but only if the Wallet Service can obtain asset metadata for that chain. By default the UI shows tokens/NFTs for chains that the asset-indexing/token-metadata backend supports. If you’ve only added an RPC/custom chain entry (no indexer/tokenlist/explorer configured), the Tokens/NFTs tabs will often be empty.
If yes, what configuration/metadata is required?
Make sure the custom chain record in the dashboard includes the full chain metadata: chainId, RPC URL(s), network name, native currency.
Provide a block explorer API or indexer endpoint (or an API key) that the Wallet Service can use to read token transfer logs and token metadata. The backend needs an explorer/indexer to discover token balances and NFT ownership.
Provide a token list (Uniswap-style tokenlist JSON) or a token-metadata feed for ERC20 tokens on that chain if the dashboard supports it. Token lists are the easiest deterministic way for the UI to surface ERC20s.
For NFTs (ERC721/1155): ensure tokenURI endpoints are accessible (CORS) and that the indexer can read Transfer events for the chain so ownership can be determined.
If the Wallet Service has an “asset indexing” toggle or separate asset service in the dashboard, enable/configure it so your custom chain is indexed.
If not supported, any plans/workarounds?
If the Wallet Service does not support indexing your custom chain out-of-the-box, common workarounds are:
Provide a tokenlist/token-metadata feed to the dashboard so ERC20s appear.
Run or point to a third-party indexer (The Graph, Blockscout, Covalent/Moralis-like service that supports your chain) and configure the dashboard to use that endpoint.
As a fallback, fetch balances and token/NFT metadata in your app (via provider calls + tokenURI metadata lookups) and show them in a custom UI instead of relying on the modal.
For roadmap/plans: I don’t have product-roadmap visibility here. If you’d like, I can escalate this to the support/product team to ask about planned support for custom-chain asset indexing.
Helpful checks & info for the support team (please provide these if convenient)
SDK version and platform (web vs mobile) — this helps route the issue.
Chain details: chainId, RPC URL, block explorer URL (and whether you provided an API key), and whether the chain is public.
Confirmation you added the chain in the Web3Auth/Wallet Service dashboard (screenshot of the chain settings helps).
Whether you supplied a tokenlist or enabled any asset/indexing option in the dashboard.
Quick validation you can run: using the Web3Auth provider (or any JSON-RPC client) call balanceOf (ERC20) or ownerOf (ERC721) for known token contracts on that chain to confirm the RPC returns data.
Browser console logs or screenshots from the Wallet Service UI modal (only if there are obvious network/API errors shown).
If you want, share the chainId + a screenshot of your dashboard chain settings and one browser console screenshot, and I’ll escalate with everything the support team needs. If you prefer to try a quick test first: add a small Uniswap-style tokenlist URL for your chain (hosted JSON) containing one ERC20 token and re-open the modal — if it appears, that confirms the tokenlist path works.
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