Connections between Components

In normal operation, the payer's MMO would connect directly to Mojaloop to arrange a funds transfer to the payee's MMO. In testing, however, we must inspect every message to validate that they are correctly formed. To achieve this, the ITP acts as a transparent proxy between all components. By configuring endpoint URLs within component A to point at the ITP instead of directly to component B, the ITP can store all messages and forward them onto component B.


Component IDs

In order to recognise the sender and intended recipient of each message received by the test platform, this information must be embedded within the message. Specifically, the test platform expects that the base URL for each request will contain a UUID corresponding to both the sender and intended recipients of the message. Normally, the test platform will insert these UUIDs transparently so that it is not necessary to know which component corresponds to which UUID, but it can be helpful for debugging to know which UUID is which:

  • SP: 114511be-74e9-49d5-b93e-b4a461e01626
  • MMO1: e5f5e817-94d6-4a43-a7ec-f7274b6d85c2
  • Mojaloop: b2a85076-b748-4d93-8df1-2b39844e6d4b
  • MMO2: e602a859-a25f-4d37-9abe-0ac09fb734af


Within a SUT, the base URL of each component should be configured according to the following scheme:


The session_uuid corresponds to a unique ID for each testing session, and helps the test platform to validate incoming messages to ensure that the expected test-cases are being correctly matched. itp_url is the base URL of the test platform (e.g. my_uuid is the UUID of the component which is being tested, and recipient_uuid is the UUID of the component to which the request will be made.

Thus, the URL that an MMO1 test subject should use to send messages to Mojaloop (through the test platform) would be:

Simulator URLs

Since the simulators are within the control of the test platform, we can slightly simplify the request URLs compared to SUTs. In particular, the simulators use a traceparent header in place of the session_uuid from above. For this reason base URLs used by each simulator have a simpler structure without the session_uuid.


Thus, the URL that an MMO1 simulator should use to send messages to Mojaloop (through the test platform) would be: