Rates
FX Providers are responsible for informing Nexus of the rates at which they are willing to swap one currency for another.
- The FXP sends rates to the
POST /rates/
API - A rate in Nexus describes the ‘going rate’ at which an FXP is willing to swap one currency for another.
- The rate is not specific to a single transaction. FXPs are not asked to quote or bid on individual transactions. This means that when an FXP provides a rate to Nexus, they are effectively saying “Until further notice, for any Nexus payment, I’m willing to exchange Currency A for Currency B at exchange rate X”. “Further notice” is given when the FXP sends a revised rate.
- The rate provided is the rate that the FX Provider charges to the Source PSP. The Source PSP could choose to mark up this rate before displaying it to the Sender.
- A rate provided by an FXP continues to apply until the FXP sends a new rate to the
POST /rates/
API. - A new rate causes older rates to immediately expire. Source PSPs who call the
GET /quotes/
API are only shown the most recent rates. - Rates can be updated as frequently or infrequently as the FX Provider wishes. Updates could be on a regular or irregular schedule. For example an FXP may choose to update their rates every minute, every half hour, every day or only when market conditions change significantly.
To manage load on the Nexus network, Nexus may apply an upper limit to how frequently rates can be updated. For example, given the lower values of Nexus payments compared to wholesale FX markets, there is little need to update rates multiple times a second (as happens in some wholesale FX markets), as any changes would made a negligible difference to the ultimate cost to the Sender. On the other hand, very frequent updates, multiplied across multiple corridors and multiple FXPs, could have a detrimental impact on the performance of the Nexus FX Service with very little end-user benefit.
Within the Nexus FX service, each rate contains the following information.
ELEMENT | USAGE | EXAMPLES |
Id | Autogenerated Id for this rate (a specific rate for a specific currency pair issued by a specific FXP at a specific time) | 302293 |
FXP Id | Internal Nexus ID for the FXP (not external ID such as BIC or LEI, which is used in the API requests and responses) | 1301 |
UnitCcy | ISO 20022 term for Source Currency | EUR |
QtdCcy | ISO 20022 term for Destination Currency | SGD |
Threshold | Minimum transaction size IN SOURCE CURRENCY at which the improvement applies. If the FXP has defined tiers for this Source Currency, the POST /rates/ API will generate additional improved rates based on those tiers. | 10,000 |
Rate | Exchange rate, where UnitCcy Amount * Rate = QtyCcy Amount | 1.5019 |
Source UPS | The Source Instant Payment System in which the FXP can receive the Source Currency. | EURTIPS |
Destination UPS | The Destination Instant Payment System in which the FXP can receive the Destination Currency. | SGDFAST |
DateTimeIssued | DateTime at which the Nexus Gateway accepts the quote and publishes it to the rest of the network | 2022-09-11 15:52:23 |
DateTimeExpired | Initially blank. Will be set if an FXP withdraws their rates. | 2022-09-11 16:52:23 |
A rate is unique to:
- A specific FXP, AND
- A specific Source Instant Payment System (IPS), AND
- A specific Destination IPS
Note that each rate is:
- one-directional: a rate describes the rate of exchange for payments flowing in one direction only (eg from currency A>B).
- independent & non-reciprocal: for a specific FXP, given currencies A & B, the rate for payments from B>A is set independently of the rate for payments from A>B. The rate for B>A is not simply the reciprocal of the rate for payments from A>B (eg 1 / (B>A)).
WORKED EXAMPLE: Asymmetric rates
FXP-A may wish to reduce their holdings of SGD and increase their holding of EUR. FXP-A provides two independent rates to Nexus:
EUR->SGD = 1.5000 (EUR 1 = SGD 1.50)
SGD->EUR = 0.6500 (SGD 1 = EUR 0.65, equivalent to SGD1 = EUR)
Note that the SGD>EUR rate is not simply 1 divided by the EUR>SGD rate, which would be SGD 0.6667.
The rates above may be attractive rate for anyone sending payments from the Eurozone to Singapore, but unattractive for anyone sending payments from Singapore to the Eurozone. This means the FXP is likely to be selected for payments from the Eurozone to Singapore, but unlikely to be selected for payments from Singapore to the Eurozone. Consequently, they are likely to accumulate EUR and run down their holdings of SGD.
In some cases, an FXP may need to ‘withdraw’ a specific rate. One example would be where the FXP needs to do maintenance on their own systems, making it impossible for them to manage liquidity for Nexus payments. In this case, an FXP could withdraw a rate using the
DELETE /rates/
API. “Deleting” a rate would set this rate to expire so that it is no longer shown to PSPs.This functionality has not been built as part of the PoC and would need to be added to a production version.
IPSs allow payments to be made 24 hours per day, seven days per week. In contrast, FX markets, where financial institutions buy and sell currencies from each other, are only open during business hours from Monday-Friday. Because of the global nature of FX markets, it is usually possible to trade major currencies for 24 hours a day from Monday to Friday, but not over the weekend. This means that there is no “live” market to define FX rates on Saturday and Sunday.
To enable Nexus payments at weekends, FX Providers must continue to provide FX over the weekend. There are two ways they could do this:
- An FXP can update their rates when the FX markets close on Friday, and leave those rates fixed throughout the weekend, since the market rates will not change. In this case, they would “price in” the risk that the rates in the wider FX market on Monday morning may jump relative to the rates when the market closed on Friday evening. This means that the rates charged over the weekend are likely to be less competitive than those during the week, to cover this risk.
- Alternatively, the FXP could continue to update its rates through the weekend. Although the market rates would not change, an FXP may wish to do this to manage their liquidity in the different currencies. For example, they can make their rates better or worse, compared to the market, in order to attract more or less of certain currencies.