**Last updated**: 05 June 2025 | [**Change log**](/products/fx/changelog/) # Foreign Exchange (FX) Our FX API allows you to: * retrieve an FX rate pairing * create an FX quote * retrieve an FX quote * add a markup to an FX rate * lock future FX rates ## Capabilities Account Payout customers #### FX rates Retrieve an FX rate for a particular payment method. In one call, our [FX Rates API] allows you to retrieve: - a single currency pairing (e.g GBP to EUR) - one currency against all currencies you are entitled to (e.g. GBP to EUR, GBP to USD, GBP to CAD, etc.) - all currencies against all other currencies you are entitled to #### FX quotes - lock the FX rate by [creating an FX quote](/products/fx/openapi/other/postfxquote) - [retrieve an existing FX quote](/products/fx/openapi/other/getfxquote) #### Forward FX rates - [lock a forward FX rate](/products/fx/openapi/other/postcontract) for a future date up to 30 days - **coming soon** Multi-Currency Pricing customers #### FX rates - [retrieve an FX rate](/products/fx/openapi/other/getfxrates) for a particular payment method. In one call, our [FX Rates API](/products/fx/openapi/other/getfxrates) allows you to retrieve: - a single currency pairing (e.g GBP to EUR) - one currency against all currencies you are entitled to (e.g. GBP to EUR, GBP to USD, GBP to CAD, etc.) - all currencies against all other currencies you are entitled to #### Markup FX API - [add a markup](/products/fx/openapi/other/addmarkup) percentage to your FX rate ## Set your headers Setting your headers is an important part of an API request. The headers represent the meta-data associated with your API request. ``` Authorization: {your_credentials} Accept: application/vnd.worldpay.foreignexchange-v1+json Content-Type: application/vnd.worldpay.foreignexchange-v1+json ``` | Header | Description | | --- | --- | | `Authorization` | We use the `Authorization` header to identify and authenticate you within Access Worldpay. You **must** use the `Authorization` header for any request you send. | | `Content-Type` | We require the `Content-Type` header if the request you're sending includes a request body, and if the HTTP method is a `POST` or a `PUT`. | | `Accept` | We use the `Accept` header to identify which version of the resource you are using. You **must** use the `Accept` header if the HTTP method is a `GET`. | If you're using both the `Content-Type` and `Accept` headers, they must match. Note Replace `{your_credentials}` with your base64-encoded Basic Auth username and password. To get your Access Worldpay credentials contact your Implementation Manager. ## DNS whitelisting Whitelist the following URLs: * `https://try.access.worldpay-bsh.securedataplatform.com/` * `https://access.worldpay-bsh.securedataplatform.com/` Please ensure you use DNS whitelisting not explicit IP whitelisting. ### Link caching Note When you make a request within Access Worldpay, you should always cache the response returned. **Next steps** ### Account Payout customers: * [Get FX rates](/products/fx/fxrate) * [Create FX quote](/products/fx/create-fxquote) * [Make a Payout using an FX quote](/products/account-payouts/) * [Retrieve FX quote](/products/fx/retrieve-fxquote) * [Lock a forward FX rate](/products/fx/forward-fxrates) - **coming soon** ### Multi-Currency Pricing customers: * [Get FX rates](/products/fx/openapi/other/getfxrates) * [Add a markup on an FX rate](/products/fx/openapi/other/addmarkup)