In a saucepan add the fish slices, water, turmeric powder, 1/2 teaspoon of red chili powder, 3/4 teaspoon each of ginger, garlic and cumin pastes and salt. Cook the fish until the water dries to form a thick gravy and the meat becomes tender and pink. Set aside to cool.
Pick out the fish bones. Grind the fish meat using a mortar-pestle or sheel pata.
Mix the rest of the ginger, garlic and cumin pastes and red chili powder in a bowl. Heat a non-stick frying pan. Add the butter and fry the pasted ingredients and red chili powder for just a bit.
Add the fish meat and fry until the spices are mixed well. Set the fried mixture to cool.
Mix the fish mixture with 1 cup of onion slices, 1 tablespoon of chopped green chilies, 1 teaspoon of black pepper powder, lemon juice and 1 cup of toast biscuit crumbs.
Now take a small portion of the mixture in your palm and make a ball. Repeat to make more balls with the rest of the mixture.
Dip each ball in the beaten egg mixture and roll the ball on the tray with the biscuit crumbs. Repeat for the rest of the balls. Refrigerate for 30-45 minutes.
Heat a frying pan with soybean oil. Add the rest of the onion slices, green chilies and black pepper powder. Also add the tomato puree, soy, fish and oyster sauces, vinegar and sugar. Stir and cook until a thick gravy forms.
Add the refrigerated fish balls and fry them until they turn golden brown.