Using a hand grater or food processor, shred potatoes, working over a large bowl of cold water or frequently transferring shredded potatoes to water. Shred onion and add to bowl (if using green onion, reserve). Let stand for 30 minutes.
Drain potato mixture; wipe bowl clean. With your hands, squeeze excess water from a large handful of the potato mixture, then pile it on a clean kitchen towel. Enclose potatoes tightly in towel and twist it to wring out remaining moisture. Repeat to dry all potatoes, using fresh towels if need. Return potatoes to bowl.
Add eggs, potato starch, salt, and pepper (and green onions, if using) to bowl and mix well.
Pour 1/2 inch oil into a 10- to 12-inch frying pan (with sides at least 2 in. tall) over medium-high heat. When surface of oil ripples slightly, scoop 1/3 cup of the potato mixture into one hand, then turn it onto a wide spatula. Flatten mixture into a pancake about 1/2 inch thick. Gently slide each cake from spatula into hot oil, 3 to 4 pancakes per batch (do not crowd pan). Cook until edges of pancakes are crisp and well browned and undersides are golden brown (lift with spatula to check), about 3 minutes. Turn and cook until remaining sides are golden brown, about 3 minutes longer. Transfer to paper towels to drain briefly, then keep warm in a 200° oven while you cook remaining pancakes. Serve hot.