Preheat oven to 350ºF. Butter three 9-inch round cake pans, and dust with flour, tapping out excess.
Combine flour, granulated sugar, cocoa, baking soda, baking powder, and salt into the bowl of a mixer. Mix on low. Add eggs, buttermilk, 1 1/2 cups warm water, oil, and vanilla. Beat on medium speed until smooth and completely combined.
Divide batter evenly among pans. Bake until cakes are set and a toothpick inserted into the center of each comes out clean, about 35 minutes. Let cool in pans set on a wire rack for 15 minutes. Turn out cakes onto racks, and let cool completely.
For the caramel filling
Place all of the unwrapped caramels and heavy whipping cream in a small saucepan. Heat on low-medium heat, stirring frequently, until the caramels are completely melted and the mixture is smooth. Transfer to a small bowl or liquid measuring cup and let cool until warm. Stir in peanuts.
For the frosting
Add the butter and cream cheese to the bowl of stand mixer (or use a hand held mixer). Beat together until the light and fluffy, about 4 minutes on medium speed. Add the peanut butter and vanilla, beat until there are no streaks. Add the powdered sugar and beat for another 3 minutes on medium speed until smooth and fluffy.
Once your cakes are completely cooled, level each cake so that the top is flat with a long, thin knife or cake leveler. Using the same knife, cut each cake layer into two thinner layers. You should have six thin cake layers.
Place about 1 cup of frosting into a small Ziploc or piping bag, fitting with a large round tip if you have one. If not, you can just cut a 1/2 inch hole in the corner of the bag.
Place 1 layer of cake, flat side up, on a plate or cake stand. Pipe frosting in a circle around the edge of the cake layer. Pour about 1/3 heaping cup of the caramel with peanuts in the center of the cake layer, and spread to cover the caramel up to the frosting border. Place another layer on top, and using a knife or offset spatula, spread evenly with a layer of frosting. Repeat with remaining layers of cake, switching between the caramel filling and the frosting filling. You should have 3 layers filled with the peanut caramel, and 2 filled with frosting. Frost the top and sides of the cake with the remaining frosting. Don’t worry about it being too perfect as you will be covering most of it up. Place the cake in fridge to allow the frosting to set for at least 30 minutes.
After the frosting has set, make the chocolate coating. In a microwave safe bowl add the chocolate and cream. Microwave on high for 30 second intervals, stirring between each until melted and smooth.
Allow the chocolate to cool for about 3-5 minutes, and then pour the sauce onto the middle of the cake and spread to just the sides, allow the sauce to drip down the sides of the cake. Place the cake in the fridge for at least 1 1/2 hours (or overnight) until the chocolate is completely set and the frosting firm.
Once the chocolate has set, prepare the caramel topping. Place the unwrapped caramels and heavy cream in a saucepan. Heat on low-medium heat, stirring frequently, until the caramels are completely melted and the mixture is smooth. It should be thinner than the previous caramel. Transfer to a liquid measuring cup, and let cool for about 10 minutes. Stir, and then pour the caramel over the cake and allow it to fall down the sides of the cake over the chocolate ganache. Garnish with peanuts and a sprinkling of sea salt if desired.
Place in the fridge for at least 30 minutes to set before serving.