The RPC for wallet_addEthereumChain specifies an array of iconUrls when adding a new chain. It’s currently commented as “Currently Ignored”. I can’t post links here, but refer to “MetaMask Docs” under “API Reference” → “RPC API” → “Other RPC Methods” → " wallet_addEthereumChain"
Please consider implementing iconUrls and display the icon in appropriate places. Ethereum, BSC, and Matic all have their icons hard coded into Metamask, but the same places that these icons are shown, iconUrls could be shown if available. (example: The icon just above the network’s main coin total)
This is related to MetaMask pull request 12010 which was closed with the comment of “For the time being, we plan on supporting a very limited number of custom network UI.” Implementing this feature request would remove the need for the pull, as well as any other requests from other chains to add their network icon to metamask.
Many coins seem to be implementing EVM compatibility and using MetaMask as their main interface. Each one of these communities will eventually be badgering MetaMask devs for their icon, so think of this feature request as saving you from having to reply ‘no’ to all of them.