Preheat oven to 350°F and prepare your cupcake pan with liners.
In a medium size bowl, combine cocoa powders and boiling water. Set aside.
In a large bowl whisk together flour, sugar, baking soda and salt. Set aside.
In another large bowl, whisk together milk, oil, egg and vanilla. Add in the cocoa powder mixture.
Add the wet ingredients to the dry and stir until combined.
Fill cupcake liners about 3/4 full.
Bake for 15-17 minutes or until done. Allow to cool completely before filling and frosting.
Caramel
Make caramel while the cupcakes are baking so that it has time too cool.
Add sugar to a large pot and cook over medium heat. Stir often, at least every minute. After about 8-10 minutes the sugar will start to clump and then melt into a golden colour.
Once the sugar is all melted into a liquid, remove from heat and add butter. The sugar is going to bubble rapidly so be careful. Keep stirring until the butter has melted.
When butter has melted into the sugar, add the cream. Again, this will boil rapidly but keep stirring until combined.
Add salt and stir.
Transfer caramel to a bowl to cool until ready to use.
Frosting
Beat butter with an electric hand mixer or stand mixer for 5 minutes minimum.
Mix in vanilla and salt.
Add in icing sugar 1 cup at a time, scrapping the bowl down in between.
Beat in caramel and mix until fully combined.
Assembly
Cut a circle about an inch wide/deep out of the centre of the cupcake.
Fill with caramel.
Pipe frosting onto the top of the cupcake. My go to tip is 1M.
Drizzle any extra caramel over top and lightly sprinkle with ground sea salt.