Preheat your oven to 350°F (175°C) and line a muffin tin with cupcake liners.
In a mixing bowl, cream together the butter and sugar until light and fluffy.
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
In a separate bowl, whisk together the flour, baking powder, baking soda, and salt.
Gradually add the dry ingredients to the wet mixture, alternating with the buttermilk, beginning and ending with the dry ingredients. Mix until just combined.
Gently fold in the toffee bits and chopped nuts if using.
Divide the batter evenly among the cupcake liners, filling each about 2/3 full.
Bake for 18-20 minutes, or until a toothpick inserted in the center comes out clean.
Allow cupcakes to cool completely.
For the frosting, beat together the softened butter and powdered sugar until smooth. Add heavy cream and vanilla extract, beating until fluffy.
Frost the cooled cupcakes and sprinkle additional toffee bits on top. Serve and enjoy!