Prep the pan. Line an 8x8-inch pan with parchment, letting the paper hang over the edges for easy lifting. Set aside.
Make the peanut layer. In a small saucepan over low heat, combine the peanut butter, 4 tablespoons butter, 1 tablespoon coconut oil, half the sweetener, 1 teaspoon vanilla, and a pinch of salt.
Stir until smooth and glossy. Taste and adjust sweetness and salt.
Thicken if needed. If you prefer a firmer fudge, whisk in the almond flour until fully blended. Keep heat low to avoid scorching.
Pour the base layer. Spread about 2/3 of the peanut mixture into the lined pan.
Smooth the top with a spatula.
Make the vanilla layer. In a clean saucepan over low heat, melt the remaining 2 tablespoons butter with the remaining 1 tablespoon coconut oil. Whisk in heavy cream, the remaining sweetener, and 1 teaspoon vanilla. Stir until the sweetener dissolves and the mixture is silky.
Layer and swirl. Pour the vanilla mixture evenly over the peanut layer.
Spoon the remaining peanut mixture on top in small dollops. Use a butter knife or skewer to gently swirl the two layers together. Don’t overmix—aim for ribbons.
Chill to set. Refrigerate for 2–3 hours, or until firm enough to slice.
For a faster set, freeze for about 45 minutes, then move to the fridge.
Add finishing touches. Sprinkle with flaky salt before the fudge fully sets if you like a sweet-salty pop.
Slice and serve. Lift the fudge out using the parchment. Cut into 25–36 small squares. Store as directed below.