Foreign Exchange - Currency Conversion
The Mojaloop currency conversion functionality enables foreign exchange (FX) transactions, supporting multiple approaches for currency conversion within the ecosystem. Currently, the system implements Payer DFSP currency conversion, where the Payer DFSP (Digital Financial Services Provider) coordinates with a foreign exchange provider (FXP) to obtain liquidity in another currency to facilitate a transfer.
Future enhancements to the currency conversion design include:
Payee DFSP conversion The Payee DFSP arranges for foreign exchange conversion.
Reference currency conversion Both the Payer and Payee DFSPs engage with FXPs to convert funds via a reference currency.
Bulk conversion DFSPs can procure currency liquidity from an FXP in bulk.
Role of the Foreign Exchange Provider (FXP)
A core feature of Mojaloop's currency conversion capability is its support for a competitive FX marketplace, where multiple FXPs can provide real-time exchange rate quotes. This design fosters an open and dynamic environment for foreign exchange transactions.
The currency conversion process follows a three-step workflow:
Quote Request The Payer DFSP requests a quote from an FXP. For example, a Zambian DFSP can obtain a conversion quote for a specific transfer.
Quote Agreement The Payer DFSP reviews the exchange rate and terms provided by the FXP. Once accepted, the FXP locks in the rate.
Transfer Finalization Upon notification from the Mojaloop scheme that the dependent transfer has been completed, the conversion process is finalized.
This streamlined approach ensures transparency and competitiveness in FX transactions, benefiting both DFSPs and end users.
Impact of Amount Type on Currency Conversion
The Payer DFSP conversion implementation supports two distinct scenarios based on the amount type specified in the transaction:
Sending funds in the source (local) currency
Making a payment in target (a foreign) currency
Sending Funds to an Account in Another Currency
In this use case, the Payer DFSP initiates a transfer using the amount type SEND, specifying the transfer amount in the payer's local currency (source currency). This method is commonly used for P2P remittance transfers, where the sender transfers funds in their local currency, and the recipient receives the equivalent amount in their respective currency after conversion.
Currency Conversion Transfer (source currency)
Below is a simplified sequence diagram showing the flows between the Participant organizations, the foreign exchange providers and the Mojaloop switch for a currency conversion transfer specified in source currency.
The flow is divided up into:
Discovery Phase
The Payer DFSP identifies the Payee DFSP organization and confirms the account validity and currency.
Agreement Phase - Currency Conversion
Agreement Phase
Payer DFSP presents terms to Payer
Transfer Phase
Mojaloop Connector Integration for Currency Conversion
Below is a detailed sequence diagram that shows the complete flow, and includes the Mojaloop Connector and integration APIs for all participant organizations. (This is a useful view if you are building integrations as a participant organization.)
Discovery phase - Mojaloop Connector
Agreement Phase Currency Conversion - Mojaloop Connector
Agreement Phase - Mojaloop Connector
Sender Confirmation
Transfer Phase
Currency Conversion Transfer (target currency)
For this use case, the Payer DFSP will specify the transfer with amount type RECEIVE and define the transfer amount in the Payee's local currency (the target currency). An secondary use case example for this is a cross boarder Merchant Payment.
Below is a detailed sequence diagram that shows the complete flow, and includes the Mojaloop connector and integration APIs for all participant organizations.
Discovery
Agreement
Sender Confirmation
Transfer
Abort flows
This sequence diagram show how the design implements abort messages during the currency conversion transfer phase.
Open API References
These Open API references are designed to be readable for both software an review person. The show the detailed requirements and implementations of the API design.
Last updated
Was this helpful?