I found a very large, like 400k+ english words list, and curated it to not include any bad words. That process took a few days. I use it in word games and have them sorted in various ways. For this game, I simply have a dictionary of all of the words, and reference that. If the word is a key in this dictionary, it is a valid word, and then it’s easy to compare that to length and starting or ending character.
I can share that list with you, if you’d like.