Marinate the chicken: In a large bowl, whisk buttermilk with 1 teaspoon salt, 1/2 teaspoon black pepper, and 1/2 teaspoon paprika (optional). Add chicken pieces and coat well. Cover and refrigerate at least 4 hours, preferably overnight.
Prepare the dredge: In a shallow dish, mix flour, cornstarch, 1 teaspoon salt, garlic powder, onion powder, paprika, black pepper, and cayenne (if using). Whisk thoroughly for even seasoning.
Set up a station: Place the marinated chicken on one side, the seasoned flour on another, and a wire rack set over a sheet pan nearby for resting the coated pieces.
Dredge the chicken: Let excess marinade drip off each piece. Press into the seasoned flour to coat. For extra crunch, dip back into the buttermilk briefly, then press again into the flour. Set coated pieces on the rack to rest 5–10 minutes so the crust adheres.
Heat the oil: Pour 3–4 cups neutral oil into a Dutch oven or deep skillet to a depth of 1 1/2–2 inches. Heat to 350°F (175°C). Use an instant-read thermometer for accuracy.
Fry in batches: Add a few pieces without crowding. Fry 12–15 minutes, turning occasionally, maintaining 325–350°F. Cook until deep golden brown and the thickest part registers 165°F (74°C).
Drain and hold: Transfer to a clean wire rack to drain. Lightly season with a pinch of salt while hot. Keep finished pieces warm in a 200°F oven while you fry the rest.
Serve: Rest 5 minutes, then serve hot with lemon wedges and hot sauce. Enjoy with slaw, biscuits, or your favorite sides.