The dirham is a closed currency
You cannot buy dirhams before you leave Canada or the US, and you are not supposed to take them out of the country. Arrive with a card and some dollars or euros, withdraw or change money on arrival, and change any leftover dirhams back at the airport before you fly (keep your exchange or ATM receipts). Amounts of foreign currency worth 100,000 MAD or more must be declared on arrival and departure (UK FCDO).
ATMs
ATMs are easy to find in cities and at airports, and much scarcer in mountain and desert villages — withdraw before you head south. Use machines inside banks or hotels: the Government of Canada notes that card fraud and ATM theft do happen. Your bank will charge a foreign-withdrawal fee, so take out larger amounts less often.
Cards
Visa and Mastercard are accepted in good hotels, upscale restaurants and larger shops in the cities; American Express less widely. Souks, cafés, taxis, small restaurants and tips are cash. If a card machine offers to charge you in dollars, choose dirhams — the conversion is almost always better.
How much cash to carry
On a private tour where hotels, transport, guides and listed entrance fees are already paid, most couples find 400–800 MAD (roughly US$45–85) a day comfortably covers lunches, drinks, tips and small purchases. Shopping for carpets, leather or ceramics is extra — larger shops take cards.