Combine warm water with sugar, stir until sugar is almost dissolved. Add yeast, stirring until incorporated. Set aside in a warm place for 10 minutes, or until foamy.
In a large bowl, combine flours, protein powder, starches, xanthan gum, salt, and baking powder.
Add oil and egg, stirring until well distributed. Pour in yeast mixture, stirring until well combined - it will be VERY wet.
Use pan spray to generously grease a large, clean metal or glass bowl. Add dough to the bowl, loosely cover with plastic wrap, set aside in a warm spot to rise for an hour or so, until doubled in size.
Once the dough has doubled in size:
Line baking sheet with parchment paper, spray generously with pan spray, set aside.
Stir remaining potato starch into the dough. Stir until no longer *super* sticky - it'll still be a little sticky. Use a little more potato starch if needed. Spray hands with pan spray, divide the mixture into 6 equal sized balls.
Roll one section of dough into a ball. Flatten it out slightly, before poking a finger though the middle. Place on prepared baking sheet. Repeat with remaining sections of dough.
With wet hands, smooth the outside of each bagel, and stretch the inner hole a bit.
Cover loosely with plastic wrap, allow to rise in a warm place for another hour.
Preheat oven to 350 F (180 C), Line a separate baking sheet with parchment paper, spray generously with pan spray, set aside
Bring a large pot of water to a gentle simmer, stir in baking soda.
Carefully cut the parchment paper between the bagels, to separate them - you don’t want to jostle them too much, or even really touch them.
One at a time, carefully transfer the bagels to the pot of water. Lift one by the parchment paper, and gently turn it over into the water, removing the parchment paper as you go. It should easily release). Depending on the size of your pot, you can boil 2-3 bagels at a time.
Boil bagels for 1-2 minutes on each side - a longer boil will result in a chewier bagel. Gently stir as they boil, to ensure that the entire surface of each is in contact with the water at some point.
Use a slotted spoon to carefully transfer each bagel to prepared baking sheet.
Whisk egg together with 1 tablespoon of water, brush over the tops and sides of each bagel.
Sprinkle bagels with any toppings you would like to use (optional).
Bake for 35-40 minutes, until golden brown.
Serve hot, or allow to fully cool before transferring to an airtight container or baggies.
Use within 2-3 days for best results.