diff --git a/components/brave_wallet_ui/common/async/handlers.ts b/components/brave_wallet_ui/common/async/handlers.ts index 997da385ed4a..085bc387cfb3 100644 --- a/components/brave_wallet_ui/common/async/handlers.ts +++ b/components/brave_wallet_ui/common/async/handlers.ts @@ -315,6 +315,11 @@ handler.on(WalletActions.addUserAsset.getType(), async (store: Store, payload: B } const result = await braveWalletService.addUserAsset(payload) + + // Refresh balances here for adding ERC721 tokens if result is successful + if (payload.isErc721 && result.success) { + refreshBalancesPricesAndHistory(store) + } store.dispatch(WalletActions.addUserAssetError(!result.success)) }) diff --git a/components/brave_wallet_ui/common/hooks/assets-management.ts b/components/brave_wallet_ui/common/hooks/assets-management.ts index 36756c2040ed..01c0c46508e5 100644 --- a/components/brave_wallet_ui/common/hooks/assets-management.ts +++ b/components/brave_wallet_ui/common/hooks/assets-management.ts @@ -36,7 +36,11 @@ export default function useAssetManagement () { const onAddCustomAsset = (token: BraveWallet.BlockchainToken) => { onAddUserAsset(token) - dispatch(WalletActions.refreshBalancesAndPriceHistory()) + + // We handle refreshing balances for ERC721 tokens in the addUserAsset handler. + if (!token.isErc721) { + dispatch(WalletActions.refreshBalancesAndPriceHistory()) + } } const findVisibleTokenInfo = React.useCallback((token: BraveWallet.BlockchainToken) =>