1. Make the cupcakes: Preheat oven to 350°F (175°C). Line a 12-cup muffin pan with cupcake liners. Set aside.2. In a large bowl sift flour, cocoa powder, baking soda and salt. Add sugar, stir and set aside.3. In a separate bowl whisk all wet ingredients.4. Add dry ingredients to wet ingredients and whisk just until combined. don’t overmix.5. Scoop the batter into cupcake liners. Bake for 18-20 minutes, or until a toothpick inserted in the center comes out clean. Allow to cool completely.6. Make the peanut caramel: Heat sugar in a medium saucepan over medium-high heat, stirring occasionally with a spatula or wooden spoon. Sugar will form clumps and eventually melt into a thick brown, amber-colored liquid as you continue to stir. Be careful not to burn. Once sugar is completely melted and reached a deep amber color, remove the saucepan from heat. Immediately pour heavy cream (Be careful, as the caramel will bubble up) and Whisk until all the cream has been incorporated and you have a smooth sauce. Add butter, stir until melted. Return the sauce pan to heat, add salt and cook, stirring frequently for 5 minutes.7. Remove from heat, transfer to a heatproof bowl, leave 3-4 tablespoons for later. Add crushed peanut, stir and let cool completely.8. Make the frosting: In large bowl on medium speed, cream together peanut butter, butter and cream cheese until incorporated and smooth.9. Add heavy cream, powdered sugar and whip for 2 minutes. Transfer to a piping bag.10. Assembly: Once cupcakes are cool and filling is ready, cut out a hole out of the top part of the cupcake to add the filling. Fill the hole with the caramel filling. Frost the cupcakes.11. For decoration: drizzle some melted chocolate or remaining caramel sauce and sprinkle some chopped peanuts.Notes: