PSP-based improvements

FX Providers may also want to offer better rates to specific PSPs, for example, PSPs that already have a strong business relationship with the FXP. In Nexus this works as follows:
  • An FXP can define the PSPs to which it wishes to offer improved rates
    • For each PSP, the FXP can define how much the base rate should be improved, in basis points.
  • When a Source PSP calls the GET /quotes/ API, Nexus will check whether any FXPs have registered preferential rates for that PSP and apply the improvement to the FXP's base rate.
  • An FXP does not need to set any PSP-based improvements. If no PSP-based improvement is set for a specific PSP, the base rate will apply.

TABLE: Structure of a single PSP-based improvement

Primary key of this PSP-based improvement, unique to a specific FXP and specific PSP
Internal Nexus ID for the FXP (not external ID such as BIC or LEI, which is used in the API requests and responses)
Internal Nexus ID for the PSP (not external ID such as BIC or LEI)
An improvement, recorded in basis points, which is applied to the rates after any tier-based improvements have been calculated.
Initially blank. When the FXP issues a new Improvement for this PSP, the old one is set to expire.

TABLE: Example PSP-based improvements

PSP Id (this would be a BIC)
IMPROVEMENT in basis points (applied to the base rate in the FXP’s quote)

Generation of quotes

When a Source PSP calls the GET /quotes/ API, Nexus will:
  1. 1.
    retrieve the rates for the currency pair requested by the PSP
  2. 2.
    for each FXP providing a rate:
    • 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
    • check whether the FXP has registered a PSP-based improvement for the requesting PSP. If so, apply the PSP-based improvements to the relevant rate (after any tier-based improvements have been applied).
  3. 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. The usage of this quote ID is explained below.

How the Quote Id is used by the Source PSP

The Source PSP will:
  1. 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 also an FXP, they may select their own quote.
  2. 2.
    Potentially mark up the quote (see “Guidelines for PSPs” for a detailed explanation).
  3. 3.
    Show that quote to the Sender
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 FXP), 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:

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 (600 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 + 10 minutes), so this quote is no longer valid. The Source PSP must request an up-to-date quote and show this to the Sender.