Place the chicken pieces in a large bowl and pour the buttermilk over them. Add the hot sauce if using, toss to coat, cover, and refrigerate for at least 1 hour or up to overnight.
In a shallow dish, whisk together the flour, salt, black pepper, paprika, garlic powder, and onion powder until evenly combined.
Remove the chicken from the buttermilk, letting excess drip off. Dredge each piece thoroughly in the seasoned flour, pressing the flour onto the surface to form an even coating. Shake off excess.
Heat 1½–2 inches of vegetable oil in a heavy skillet or Dutch oven over medium-high heat until it reaches about 350°F (175°C). If you don't have a thermometer, a pinch of flour should sizzle on contact.
Fry the chicken in batches without overcrowding the pan, turning occasionally, until golden brown and the internal temperature reaches 165°F (74°C), about 12–15 minutes per batch depending on piece size.
Transfer cooked chicken to a rack set over a baking sheet or paper towels to drain and rest for 5 minutes before serving.