Keep US Dollars on you as this is the most universally accepted currency. In general you will get better value paying in the local currency. However, in some cases, you can save money if you pay in USD. For example, in Chile, you have to pay tax if you pay for accommodation in Chilean Pesos whereas if you pay in USD, you are exempt from the tax. This is probably because if you are a foreigner paying in a foreign currency you are not liable to pay tax. I’m guessing that Hotels/Hostels follow this law but in the most limited capacity possible i.e. only in cash and only in USD.