Peel the onions and cut them into ½-inch thick rings. Separate the rings and place them in a bowl of ice water. This helps reduce the sharp bite and keeps them crispier. Let them soak for 15-20 minutes.
In a large bowl, whisk together flour, baking powder, salt, black pepper, paprika, garlic powder, and cayenne (if using). In a separate bowl, whisk together the buttermilk, beaten egg, and cold sparkling water or beer. Gradually add the wet mixture into the dry ingredients, whisking until smooth.
Remove the onions from the water and pat them dry with a paper towel. Dip each onion ring into the batter, making sure it’s fully coated. If using panko breadcrumbs, immediately coat the battered ring in the breadcrumbs.
Heat vegetable oil in a large skillet to 350°F (175°C). Fry the onion rings in small batches, about 2-3 minutes per side, until golden brown and crispy. Transfer to a paper towel-lined plate to drain excess oil.
In a small bowl, combine mayonnaise, ketchup, Worcestershire sauce, garlic powder, smoked paprika, and hot sauce. Stir well and season with salt and pepper to taste.