Zanzibar currency is the Tanzanian Shilling TSH, which is exchanged at a rate of around 1EUR = TSH1800. On the beaches, US dollars and TSH are accepted. However, $1 = TSH 1500, which is much less than the official exchange rate. Best would be to trade some of your dollars or euros for TSH, and use that to buy food.If you buy curios with dollars and euros you will get a better deal, since the hawkers are more prone to bargaining when buying with foreign currency. Remember! You get a better exchange rate on large US dollar notes eg $50 and $100 than on smaller bills/notes eg $20, $10. There are four ATMs on the island, all in Stone Town. A store that accepts credit card payment is a rarity. Don't rely totally on your bank card. Take extra cash or traveller's cheques.
Stone Town is a one-stop-souvenir-shopping for the traveller. You can find beautiful textiles, handmade jewellery, intricate wood or stone carvings, spices, knick-knacks, and the list goes on and on . . .
Buy a cookbook and spices. Take the trip home with you! Beware that many of the vendors sell fake saffron appears waxy like a shredded red crayon.