In MetaMask Embedded Wallets / Wallet Services using EIP-4337 MetaMask Smart Accounts, how are ERC-20/BEP-20 tokens registered or discovered for the Wallet Services Send asset selector?
Our Smart Account on BNB Chain contains USDT and other BEP-20 tokens, and our application can read their balances directly. However, Wallet Services Send exposes only the native network asset. The same behavior occurs across networks: BSC shows BNB, Ethereum shows ETH, and Avalanche shows AVAX.
We are using @web3auth/modal 10.16.0 and @web3auth/ws-embed 5.6.0. WalletServicesConfig does not appear to expose a supported tokens, tokenList, or customTokens property.
In the MetaMask Developer dashboard, Tokens Display, Show Custom Tokens, and Send are all enabled.
What is the supported method for registering/discovering ERC-20/BEP-20 assets held by an EIP-4337 Smart Account so they appear in the Wallet Services Send selector? Is token metadata configured in the MetaMask Developer project, through another API, or should ERC-20 transfers be implemented directly by the dApp?
Hi you cannot register arbitrary ERC-20/BEP-20 tokens in WalletServicesConfig**. There is no supported tokens, tokenList, or customTokens property in your SDK version.
Dashboard Tokens Display / Show Custom Tokens / Send does not provide arbitrary token registration.
Wallet Services Send uses MetaMask’s supported/known asset catalog, so merely holding a token doesn’t make it appear.
For arbitrary ERC-20/BEP-20 tokens, discover balances and metadata yourself and implement the transfer in your dApp, calling the token’s transfer() through the EIP-4337 Smart Account.
Custom-chain configuration is a separate mechanism and is not a general ERC-20 registration API.
So for your BSC USDT case: use your own token-send UI/transaction rather than trying to add USDT to WalletServicesConfig
You cannot register an ERC-20 or BEP-20 in walletServicesConfig. That object has no token list. The dashboard toggles for Tokens Display, Show Custom Tokens, and Send only show or hide the widget. They do not add a token.
If Send does not list a token the smart account holds, send it from your app. Call the token’s transfer through the smart account.
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.