Watch & discover assets
While interacting with apps, dapps, protocols and your wallet alike, you will often be interacting with the same assets. Wallets tend to list the different tokens a user holds, and apps allow you to do something with them.
Asset Discovery
An optionally implemented but highly recommended feature is the wallet_getAssets method as defined in ERC-7811.
This method lets an app query the wallet for the assets a user already watches.
This means an app can request the assets you already have, and prioritize them in selection UIs, in addition to using them to provide a balance overview.
RPC: wallet_getAssets({ account, chainFilter?, assetTypeFilter?, assetFilter? })
Wallets that support wallet_getAssets will include this in the wallet_getPermissions response.
EIP-747 — watch asset
EIP-747 (wallet_watchAsset) lets a dapp ask the wallet to display a token the user may not have imported yet.
RPC: wallet_watchAsset({ type: 'ERC20', options: { address, symbol, decimals, image } })