Prep the chicken. Pat chicken pieces dry with paper towels. This helps the brine cling and prevents excess splatter later.
Make the buttermilk brine. In a large bowl, whisk buttermilk, salt, pepper, and hot sauce. Add chicken, ensuring it’s submerged.
Cover and chill at least 1 hour, up to 12 hours for deeper flavor.
Mix the coating. In a wide, shallow dish, combine flour, cornstarch, salt, paprika, garlic powder, onion powder, thyme, oregano, white pepper, ginger, celery salt, baking powder, and cayenne. Stir well so the seasoning is evenly distributed.
Set up your dredging station. Place the brined chicken on one side, the flour mixture in the middle, and a clean tray or wire rack on the other side. Let excess buttermilk drip off each piece before dredging.
First dredge. Coat each piece thoroughly in the flour mix, pressing the flour into the chicken to create a jagged surface.
Shake off excess and set on the rack for 5 minutes. This rest helps the coating adhere.
Second dredge (for extra crunch). Dip each piece lightly back into the buttermilk brine (just a quick touch), then press again into the flour mix. Return to the rack and rest another 10 minutes while you heat the oil.
Heat the oil. Pour oil into a heavy-bottomed pot or deep skillet to a depth of about 1 1/2–2 inches.
Heat to 325–340°F (165–171°C). Use a thermometer for accuracy; temperature control is key.
Fry in batches. Add chicken pieces without crowding. Maintain oil around 320–330°F (160–166°C).
Fry dark meat 12–15 minutes and white meat 10–12 minutes, turning once, until deep golden and the thickest part reaches 165°F (74°C).
Drain properly. Transfer cooked chicken to a wire rack set over a sheet pan. Avoid paper towels, which trap steam and soften the crust. Lightly sprinkle with a pinch of salt while hot, if desired.
Rest and serve. Let the chicken rest 5–8 minutes so juices settle and the crust sets.
Serve hot with slaw, biscuits, or your favorite dipping sauce.