Question: Until now, I've only seen credit card charges displayed on the POS terminal under a country's own currency.

However, in Peru, many terminals display both the local soles and my card's usual currency, Canadian Dollars *and the vendor asks me which currency I would prefer to pay in*, which I can pick.

Now, until this trip, I had come to expect that credit card companies will profit handsomely at my expense by extra charges and perhaps a less than ideal exchange rate. I assume this is still the case.

My question in this case is, will those charges, and the final cost to me, be less if I pay in local soles or if I pay in CAD $? Are the displayed CAD/Soles amount, and therefore an implicit exchange rate, telling me the whole story? Assume, if you're not sure about CAD $ specifics, that the choice is between USD $ or soles. Also fine if you have experience with a similar system of currency payment choices in a country other than Peru, I assume credit cards operate relatively similarly across countries. But I am really looking for people who went through it and did the math upon their return.

In other words - better to pay in soles / better to pay in dollars / about the same?

Note: the vendor is not the one offering me a choice between say 70 soles or 25 CAD and therefore setting the exchange rate, at that point they don't even know where I come from. Its the VISA terminal itself that recognizes my card. So, whatever the merits or not of paying in local currency, that is NOT driven by the vendor's choice of exchange rate (which, yes, I would assume would be worse than VISA's).

Answer: 
The general consensus on this site is that it's probably in your favor to pay in local currency and allow your card issuer to do the conversion, rather than allow the local vendor or their payment network to do it for you - their only relationship with you is for this single transaction, whereas your card has some incentive to give you a more favorable rate to keep you as a customer. (Clearly, some issuers will give better rates than others, so it's worth it to make sure that yours is at least in a fair range).

I always use my US credit card and pay in GBP when given the choice vs USD while traveling in the UK, and checking the exchange rates when I get home I have always found that my issuer (Capital One, if it matters) has given me a rate very close to the even middle exchange rate.

Related:

[Paying by credit card while overseas cheaper in US dollars or in the local currency?](https://travel.stackexchange.com/q/9012/46574)
I've never, ever seen a payment terminal that gave you a better exchange rate than your home bank. Worst I've seen in a bank is a 3.0% spread compared to the central bank's rate, while the terminals will give you 5% on a good day. So **always** decline paying in your home currency and pay in the local currency instead. 

[Dynamic currency conversion](https://en.wikipedia.org/wiki/Dynamic_currency_conversion) (DCC) is a massive worldwide scam that's just waiting to be banned or regulated by the financial authorities. Avoid it like the plague.