Quotes are generated in response to a specific quote request from a specific PSP. Quotes specify the rate available to the Source PSP after any tier-based or PSP-based improvements have been applied.

Generation of quotes

First the Source PSP calls the GET /quotes/ API, specifying the source and destination currencies and the value of the payment.

Nexus will then:

  1. retrieve the rates for the currency pair requested by the PSP

  2. for each FXP providing a rate:

    • Apply tier-based improvements: Nexus will check whether the transaction value is higher than any of the tiers set by FXPs for that currency. If it is, Nexus will apply the improvement to the relevant FXP's base rate

    • Apply PSP-based improvements: Nexus will check whether the FXP has registered a PSP-based improvement for the requesting PSP. If so, Nexus will apply the PSP-based improvements to the relevant rate (after any tier-based improvements have been applied).

  3. return the full list of quotes with rates that have already been improved for both tier-based and PSP-improvements.

Every quote includes a quote ID which is unique to the PSP's quote request. The usage of this quote ID is explained below.

How quotes are used by the Source PSP

The Source PSP will:

  1. Select their preferred quote from the list of quotes provided by Nexus. They may simply choose the best rate in the market or may choose a preferred FXP. (If the PSP is themselves an FXP, they may select their own quote.)

  2. Potentially mark up the quote

If the Sender approves the payment at that rate:

  • The PSP will call the GET /intermediaryAgents/ API to retrieve the relevant account numbers or bank identifiers of the FXP's SAPs. These will be used to fill the IntermediaryAgent blocks of the pacs.008 payment instruction that the Source PSP will send to their local IPS

  • The quote ID will also be included in the pacs.008, allowing Nexus to convert the amounts at the correct exchange rate.

Automatic expiry of a quote

A Sender of a payment would normally be shown the final FX rate (selected by the PSP, and possibly marked up by the PSP), before entering the details of the Recipient. To ensure a good user experience, we want the Sender to be able to complete the payment setup process without being asked to agree to a new, revised FX rate.

For this reason, FX Providers are obliged to honour a quote for exactly ten minutes (600 seconds) after it is provided to a Source PSP even if the FXP has since provided new rates.

Within the Nexus FX Service, every quote has an expiry time that is automatically set to 10 minutes after the quote is generated and returned to the Source PSP.

This 10-minute limit is intentionally set to be long enough for most Senders to be able to complete the payment setup process without having to refresh the agreed rate. The 10-minute limit is standard across all FXPs for Nexus.

FX Providers could be asked to honour quotes for a longer period of time, but this would result in them offering worse rates to allow for the greater risk of market FX rates changing before the sender completes the payment. Ten minutes is considered to be a fair trade-off between user experience for the Sender, and FX risk for the FXP.

WORKED EXAMPLE: Quote expiry

For simplicity, in the following example there is only one FXP and two Senders.




Nexus receives and saves Rate 1 from FXP-A.


Nexus receives a quote request on behalf of Sender A. It generates a new Quote 1A.


Nexus receives a quote request on behalf of Sender B. It generates and replies with Quote 1B.


Nexus receives and saves a new Rate 2, from FXP-A. This overwrites Rate 1.


Nexus receives a quote request on behalf of Sender C. It generates and replies with Quote 2C


Nexus receives a payment instruction from Sender A referencing Quote 1A.

Nexus checks the expiry time for Quote 1A. Since Quote 1A only expires at 11:01 (601 seconds after the quote was generated), this quote is still valid and can be honoured.


Nexus receives another payment instruction, this time from Sender B referencing Quote 1B.

Quote 1B expired at 12:01 (02:00 + 601 seconds), so this quote is no longer valid. The Source PSP must request an up-to-date quote and show this to the Sender.

Last updated