CSM Participant

CSM Participant is a dynamic configuration used for registering the membership / participation of entities to an Agent. The dynamic configuration has a generic structure that loads the membership information provided by the Industry schemes.

The industry data is loaded into CSM Participant Dynamic Configuration through file ingestion applications provided by IPF. The ingestion implementation provides mapping of attributes from the industry source files into CSM Participant record attributes as defined by IPF.

CSM Participant records are used by CSM Reachability to confirm the participation of counterparties for given CSM Agent and hence the reachability of counterparties through the CSM Agent.

IPF supports below industry file ingestion into CSM Participants:

Sr. No. Payment Scheme Industry Data File Industry Source File Format File Type (Full / Delta)

1

RT1 SEPA INST

SCI Participant Routing Table

EBA

TXT

Full

2

RT1 SEPA INST

SCI Addressable PSP Routing Table

EBA

TXT

FULL

3

TIPS SEPA INST

TIPS Directory

EUROSYSTEM (CRDM)

XML

FULL, DELTA

4

STEP2 SEPA SCT

SCT Direct Participant Routing Table

EBA

TXT

FULL

5

STEP2 SEPA SCT

SCT Reachable BIC Routing Table

EBA

TXT

FULL

6

SIC, EuroSIC

Bank Master 3.0

SIX

JSON

FULL

It is important to note that every industry data source may follow a separate format. IPF defines the mapping of the attributes provided by the industry data into CSM Participant to ensure the participation check is performed in a consistent way across different industry schemes.

As and when more schemes are supported on IPF, the ingestion of the membership files provided by their respective providers will be implemented and details added here.

It is possible for IPF clients to request extending CSM Participant ingestion support for a specific scheme membership file that is not already on the list and this could be introduced subject to licensing agreements.

It is also possible for Client implementations to define their own custom membership ingestion for a direct account agent (not a clearing scheme) and define mapping into CSM Participant dynamic configuration. This will be a client specific implementation using IPF and will not be available as standard on IPF Core.

IPF supports FULL and DELTA file ingestions for CSM Participants where provided by respective industry sources.

CSM Participant Dynamic Configuration Structure

Below table provides information about different attributes supported on CSM Participant dynamic configuration. for more information on the format and optionality of the attributes, please refer participant schema on CSM Reachability Setting Management API

CSM Participant Directory property Description

csmAgentId

Identifier of CSM Agent.

This CSM Agent ID must be the same as the CSM Agent ID assigned on the Agent Settings under Participation Details.

csmMemberId

The Id of the member as specified by the CSM.

This can be a common member code assigned by the CSM to a member while the member can have multiple participant Identifiers under it.

csmParticipantIdentifier

The identifier of the participant entity to the CSM Agent.

This identifier can be of different types based on the CSM Agents.

The information about the identifiers used by the Agents is recorded on Agent Settings under Participation Details section.

participantName

Name of the participant entity to the CSM Agent.

participantType

Type of participant, 'DIRECT' or 'INDIRECT'.

activeFromDate

The date from which the entity will be / has been an active participant to the CSM Agent.

In some cases, an entity can have two records for on CSM Participants ( e.g. where a participant is moving from being indirect participant to direct participant). Both the records will have separate active from dates and the reachability requests will choose the record active at the time of the reachability check (or as of the time specified on reachability request)

activeToDate

The date up to which the entity will be a participant to the CSM Agent. The date is taken into account when performing reachability check to ensure entities that have past activeToDate are not deemed reachable.

directParticipantDetails

Details of the participant that holds the settlement account with the CSM.

Direct participant are details loaded only for indirect participant type records.

+csmMemberId

The member Id assigned by the CSM to the direct participant, loaded when provided by the CSM.

+participantIdentifiers

Industry identifiers of the direct participant. The identifiers can be of type BIC, NCC, LEI or custom identifiers defined by client implementations.

routingBIC

The BIC to be used for routing of the messages to the participant. This attribute has been deprecated and will be removed from the dynamic configuration in near future.

routingDetails

The identifiers that can be used for routing of the messages to the participant.

+routingPurpose

The purpose of the routing identifier specified. The purposes can be STANDARD, RETURN, REDIRECTION.

STANDARD - These are standard routing identifiers to be used for the messages. Standard routing identifiers are to be used in all cases except when identifiers of other purposes are defined.

RETURN - When specified, the RETURN identifiers should be used to route the R messages to the participant.

REDIRECTION - When specified, the REDIRECTION identifiers should be used to re-direct the messages to the participant.

+csmMemberId

The csmMemberId to be used for routing purposes, specified when provided by the CSM.

+routingIdentifiers

The routing identifiers to be used for specified routing purpose. The identifiers can be BIC, NCC, LEI or custom identifiers defined by the client implementation.

domicileAddress

Domicile address of the CSM Participant as provided by the Industry source.

participantCity

City where the participant is officially registered

postalCode

Postal code of the Participant, as provided by Industry data source.

postalAddress

Postal address of the Participant, as provided by Industry data source.

participantCountry

Country where the participant is officially registered

limits

The limits as specified by the participant to confirm the amounts they are willing to accept on individual payments from the CSM. Where specified, the limit values are taken into account to evaluate the limit criteria during reachability checks.

paymentTypeAllowedList

A list of payment types which are allowed. The payment types allowed information is not available against every CSM Agent and is loaded to CSM Participant records where provided by the Industry source. (e.g. in case of STEP2, the payment type list can include the AOS subscription of the participants).

industryFields

Industry Fields is a collection of additional fields from the industry source files that can be loaded into CSM Participant over and above standard CSM Participant definition.

The Industry fields are not loaded for every industry source and when loaded, will follow a separate schema for every source as per the mapping definitions specific to the source. (Only supported for SIC specific loads)

rMessageOnly

A flag that indicates if the participant can only receive R messages, 'true' or 'false'.

Assumed False if the flag is not populated on a record.

Setting Type

DPS v2 introduced new attribute of Setting Type. This is used for generation of all API endpoints for a particular setting. It is also used in index-config.<setting type> construct. SETTING_TYPE = "participant"

Searchable Fields

Searchable fields for CSM Participant Directory are:

  • csmAgentId

  • csmMemberId

  • csmParticipantIdentifier

  • participantName

  • participantCountry

  • participantCity

  • participantType

  • limitAmountCurrency

  • paymentTypeAllowed

Indexes

DPS v2 provides an option to configure indexes for each setting.

Previous property for indexes in Participant was dynamic-settings.default-index.participant. That property is removed and new property called ipf.dps.mongodb.index-config.participant which contains all previous indexes and can be overridden, should be used.

Default indexes for CSM Participant Directory are:

ipf.dps.mongodb.index-config.participant {
    index-1 = ["status:ASC"]
    index-2 = ["processingEntity:ASC"]
    index-3 = ["values.payload.csmAgentId:ASC"]
    index-4 = ["values.payload.csmParticipantIdentifier:ASC"]
    index-5 = ["values.payload.participantName:ASC"]
    index-6 = ["values.payload.participantCity:ASC"]
    index-7 = ["values.payload.participantCountry:ASC"]
    index-8 = ["values.payload.participantType:ASC"]
    index-9 = ["values.payload.limits.limitType:ASC"]
    index-10 = ["values.payload.limits.amount.amountValue:ASC"]
    index-11 = ["values.payload.limits.amount.currency:ASC"]
    index-12 = ["values.payload.paymentTypeAllowedList:ASC"]
    index-13 = ["payload.csmAgentId:ASC"]
    index-14 = ["payload.csmParticipantIdentifier:ASC"]
    index-15 = ["payload.participantName:ASC"]
    index-16 = ["payload.participantCity:ASC"]
    index-17 = ["payload.participantCountry:ASC"]
    index-18 = ["payload.participantType:ASC"]
    index-19 = ["payload.limits.limitType:ASC"]
    index-20 = ["payload.limits.amount.amountValue:ASC"]
    index-21 = ["payload.limits.amount.currency:ASC"]
    index-22 = ["payload.paymentTypeAllowedList:ASC"]
    index-23 = ["values.payload.csmMemberId:ASC"]
    index-24 = ["lastUpdatedAt:ASC"]
}

This can be overridden or updated. Just note that when the field is under payload, you need to provide an index like: index-x = ["values.payload.fieldX:ASC"].

Field processingEntity is added in to the setting search so for better performances is recommended that index for processingEntity is created.

Notifications

DPS v2 can provide notification after certain CRUD operation on a setting is performed. There is an option to enable notifications on setting level. Notifications are disabled by default:

ipf.csm-reachability.should-send-notification.participant-settings = false

History

There is an option to disable history on setting level. History is enabled by default:

ipf.csm-reachability.should-save-history.participant-settings = true

CSM Participant Directory Mappings

CSM Participants is a generic data structure used for recording memberships across a range of CSM Agents and corresponding industry sources. The data provided by each industry sources is mapped into the generic dynamic configuration so membership checks are performed against each CSM Agent in a consistent way.

Below pages provide the mapping definitions across industry sources supported on CSM Reachability.

The documentation does not provide the specifications of the industry data files themselves and only the properties that are loaded into CSM Participant are documented. For detailed specs of the industry data files for different sources, please refer to the documentation provided by respective industry source of the file.

When a custom CSM Participant load is needed by a client implementation, similar mapping will need to be defined by client implementation teams and implemented so the participation check can be performed by CSM Reachability service in a consistent way. Refer Creating a Custom Settings Ingester page for steps involved.