Place the cashews in a bowl, cover with filtered water and soak for 4-6 hours. Drain and rinse well.
Add the cashews and all of the other ball ingredients to a food processor. Blend together until very smooth, regularly scraping down the sides. Be patient, this may take a few minutes. If necessary add 1-2 more tbsp of coconut or almond milk but the mixture should not be too wet.
Roll into small balls, stick in toothpicks or small skewers and place on a tray covered in baking paper. Refrigerate for 1 hour.
To make the chocolate dip whisk all of the ingredients together until smooth and thick.
Dip each ball in the chocolate, drain off the excess and place back on the baking paper. You can dip each ball twice if you like. Place them back the fridge to set for at least 1-2 hours. Store in the refrigerator.