BitPay has relationships with many digital currency exchanges around the world. When calculating our exchange rates for BitPay invoices, we only incorporate rates of digital currency exchanges which meet our regulatory, operational, and market depth requirements.
To calculate the exchange rate for US Dollars (USD), we typically pull the market depth from exchanges with adequate liquidity and reliable withdrawal capabilities in the USA and Eurozone. We factor "slippage" into our exchange rates, which means that the larger the value of the invoice, the lower the exchange rate. Slippage is usually only noticeable on very large invoices.
We set exchange rates for non-USD currencies indirectly using the Open Exchange Rates API. In the future, as digital currency markets in non-USD currencies mature, BitPay will use those markets directly.