Preheat the oven to 350 ºF. Place the nuts on a large rimmed sheet pan.
If using nut butters or seed butters like tahini, you can skip this step and go to the next. If you are using whole nuts: Place the sheet pan in the oven, and toast the nuts for about 10 minutes, being sure to open the oven door to shake the pan up to ensure they will toast evenly. When toasted, remove the pan from the heat and immediately pour out the nuts to cool. In the bowl of a food processor, pulverize the toasted nuts for several minutes. They should be as fine as you can get them. Scrape down the bowl as needed.
In a small bowl, whisk together the cocoa, sugar, and salt. Set aside.
Add the dry ingredients, and the vanilla to the food processor. Continue blending until you obtain a spread (this could take at least 5 minutes if you started with whole nuts). The more you blend, the more the oils of the nuts will be released, rendering the spread glossier. For a liquidier spread, add a little oil (up to 45 mL or 3 tablespoons) and blend. Continue to do this until you obtain the desired consistency.
The spread can be stored in the fridge. Just bring it to room temperature before using it (or it may be difficult to spread).