In a blender, mix together the ingredients for the marinade. Add your whole chicken to a food safe bowl or plastic bag. Pour out a little of the marinade into a bowl for basting later. Pour the rest of the marinade onto the chicken and mix thoroughly. Let marinate for at least 4 hours but ideally overnight. Place reserve marinade in the fridge as well.
Preheat your fire the next day for an indirect rotisserie setup (2 zone or 3 zone depending on what you have). Heat should be around 325-350F for cooking.
Pull out your chicken and discard the excess marinade. Skewer chicken and truss with string if needed.
Add the chicken to your rotisserie and cook for 3-4 hours until the breast is 165F and the dark meat is 170-175F internal. Make sure to maintain temperature the whole time. Move the chicken away from the heat as needed to prevent burning.
About 30 minutes before the chicken is done, heat up your reserve marinade. Begin basting the chicken every few minutes with the marinade to add additional crust and flavor to the meat. Once the chicken is done, pull it off and let it rest for 7-8 minutes.
As the chicken rests, add the cilantro, garlic cloves, serrano pepper and white wine vinegar to a food processor and blend until smooth. Add the mixture to a bowl with the mayonnaise and buttermilk. Mix together until smooth.
Slice up your chicken, top with the Spicy Cilantro Mayo and garnish with chopped cilantro. Serve and enjoy!