Pat dry chicken pieces with paper towels and poke holes throughout to ensure the marinade penetrates deeply.
In a food processor, blend orange and lime zest and juice, onion, garlic, ginger, Scotch bonnets, scallions, thyme, allspice, cinnamon, nutmeg, paprika, brown sugar, soy sauce, vinegar, olive oil, salt, and pepper until smooth.
Place the chicken in a large mixing bowl or ziplock bag, pour the marinade over the chicken and coat fully. Marinate in the fridge for at least 2 hours or overnight for better flavor.
Preheat your grill to medium-high heat.
Cook the chicken for about 15 minutes, turning every 5 minutes.
Move to a cooler side and cook for additional 15-20 minutes until internal temperature reaches 165°F - 170°F.
Garnish with chopped scallions and serve with lime wedges. Alternatively, bake at 425°F on a parchment-lined baking sheet for 40-45 minutes until golden brown and cooked through.