Place chicken pieces in a bowl and pour over buttermilk and hot sauce. Mix well, cover, and let marinate for at least 30 minutes (or up to overnight in the fridge).
In a shallow dish, combine flour, salt, black pepper, paprika, garlic powder, onion powder, and cayenne pepper.
Heat about 1 inch of oil in a deep skillet or cast-iron pan over medium-high heat until it reaches 350°F (175°C).
Remove chicken from the buttermilk marinade, allowing excess to drip off.
Dredge each piece in the seasoned flour mixture, pressing lightly to adhere.
Carefully place chicken pieces in the hot oil, frying in batches to avoid overcrowding.
Fry each piece for 4-5 minutes per side, or until golden brown and fully cooked (internal temperature should reach 165°F/75°C).
Transfer fried chicken to a wire rack or paper towels to drain excess oil.
Serve hot with mashed potatoes, gravy, or your favorite sides.