Preheat the oven to 350°F. Line a muffin pan with paper cupcake liners.
Whisk the flour, cocoa powder, baking powder, and salt together in a large bowl until thoroughly combined. Set Aside
In a medium bowl, whisk the eggs, granulated sugar, oil, and vanilla together until combined.
Pour half of the wet ingredients into the dry ingredients, then add half of the buttermilk. Gently whisk for a few seconds. Repeat with the remaining wet ingredients and buttermilk. Stir until just combined; do not overmix. The batter should be thin.
Melt the choclate in a microwave safe bowl in 20 second increments, stirring each time, until it is smooth. Then stir it into the mixture.
Pour or spoon the batter into the liners. Fill only halfway to avoid spilling over the sides or sinking. Bake for 18-20 minutes, or until a toothpick inserted in the center comes out clean. Allow to cool completely before frosting. (Removing the cupcakes from the pan will allow them to cool faster.)
In a bowl mix together all of the ingredients for the icing until smooth. Refrigerate until ready to use.
Once the cupcakes are cooled, apply the icing using a rubber spatula or pipe the icing on with a pastry bag. Garnish with chocolate chips.