In a large bowl, combine the buttermilk and hot sauce (if using). Add the chicken pieces, ensuring they are fully submerged. Cover and refrigerate for at least 4 hours or overnight for best flavor.
In a separate bowl, whisk together the flour, paprika, garlic powder, onion powder, salt, black pepper, and cayenne pepper.
Remove the chicken from the buttermilk, allowing excess to drip off. Dredge each piece in the flour mixture, pressing lightly to adhere. Shake off any excess flour.
In a large skillet or deep fryer, heat about 2 inches of vegetable oil to 350°F. Carefully add the chicken pieces in batches, making sure not to overcrowd the pan.
Fry for 12-15 minutes, turning occasionally, until golden brown and cooked through (internal temperature should reach 165°F).
Once cooked, transfer the chicken to a wire rack or paper towels to drain excess oil. Let it rest for a few minutes before serving.