I noticed in written contracts there are various ways to state which currency is to be used for money. What is the difference between 'legal tender' and 'lawful money'? Is it more clear just to say 'US Dollars' or 'Canadian Dollars'. I guess some countries don't use the word dollar for example Swiss franc or British sterling. Is there a particularly clear way to say 'all references to money are references to the official money of country X'?
You just say "all payments are in Swiss France" or "all payments are in Thai Baht" or "all payments are in Euro" (they are all interchangeable) or "all payments are in Australian Dollars". You wouldn't say "Dollars" because that doesn't make clear which currency you mean if different countries are involved.
"Legal tender" means the particular banknotes that one needs to accept for payment of a debt. For example, a 50 US dollar note is not legal tender in the UK. A German 100,000 Mark note from 1923 is not legal tender anywhere today (but some guy managed to convince people at a US bank to exchange one for dollars). More than one pound in pennies is not legal tender in the UK.
I would have no idea what is meant by "lawful money".
Summary: Specify exactly the currency that you are talking about.