Marinate the Chicken: In a large bowl, combine buttermilk, egg, salt, and pepper. Add chicken pieces, making sure they are fully submerged. Cover and refrigerate for at least 4 hours, or overnight for best results.
Prepare the Coating: In another large bowl, whisk together flour, paprika, garlic powder, onion powder, cayenne pepper, salt, and black pepper.
Heat the Oil: Pour about 3 inches of vegetable oil into your fryer or skillet and heat to 350°F (175°C).
Dredge the Chicken: Remove chicken from the buttermilk, allowing excess to drip off. Dredge in the flour mixture, shaking off any excess.
Fry the Chicken: Fry chicken in batches, without crowding the pan, until golden brown and internal temperature reaches 165°F (74°C), about 8 to 10 minutes per side. Place cooked chicken on a wire rack over paper towels to drain.
Rest Before Serving: Let the chicken rest for a few minutes before serving to maintain its juiciness and crispness.