Preheat oven to 350 degrees F. Line a muffin pan with liners.
In a medium bowl, whisk together the flours, baking powder, baking soda, and salt.
In a small saucepan, bring the water and the sugar to a boil. Stir until the sugar dissolves, and transfer to a large bowl. Add the chocolate and butter pieces, along with the vanilla, and let it sit until everything melts and cools slightly.
Beat the eggs into the chocolate mixture at medium speed until well combined. Slowly beat in the dry ingredients until smooth.
Fill up the cupcake liners ⅔ of the way with batter. Bake until no longer jiggly in the center and a toothpick comes out clean, about 17 to 20 minutes.
For the Chocolate Frosting
Melt the butter in a small saucepan over low heat. Whisk in the cocoa until smooth and then scrape into a medium bowl.
Beat in the milk, vanilla, and powdered sugar until you've reached the desired consistency. Once cupcakes have cooled, use a spatula to spread on top, garnish with any other desired toppings, and serve.