The settlement transaction process is similar for all types of transaction. Depending on the technical configuration of the settlement (cross-chain, mono-chain or hybrid, see chapter 2.3.4), the mechanisms involved can differ:
- Use of Hash Time Locked Contracts (HTLC) for cross-chain or mono-chain configurations;
- Use of DvP Smart Contracts for mono-chain configurations;
- Use of traditional payment systems for hybrid configurations. For reasons of simplification, the diagrams below describe a DvP (Delivery-versus-Payment) transaction (e.g. trade or subscription) with a settlement mechanism based on conditional transfers (once initiated, transfers must be validated to be executed).
For a PFoD (Payment Free of Delivery) transaction (e.g. coupon payment), the diagram remains the same, apart from the tasks related to the transfer of Security Tokens.
- After receiving and matching the settlement instructions, the Registrar records the corresponding settlement transaction in the Settlement Transaction Repository (STR, see chapter 8.3);
- The Registrar initiates the on-chain registration of the settlement transaction and the Security Tokens transfer;
- The settlement transaction is registered on-chain (see settlement management chapter 8.2), the Security Tokens are locked or reserved for the receiving party (they still belong to the delivering party), and an event is generated;
- The receiving party (buyer or subscriber) captures the generated event (through its Oracle, see chapter 8.4), obtains the payment details (by querying the STR through its Oracle), and initiates the fund or Digital Asset transfer;
- The funds or Digital Assets are locked or reserved for the delivering party (they still belong to the receiving party or are put in an escrow account managed by the Settlement Agent), and an event is generated;
- The Settlement Agent captures the generated event (through its Oracle) and obtains payment details (by querying the STR through its Oracle). On confirmation that the payment is related to an existing transaction and the amount transferred is correct, the Settlement Agent confirms (or performs) payment termination;
- On payment termination confirmation, the funds or Digital Assets are unlocked, transferred to the delivering party, and an event is generated;
- The Settlement Agent captures the generated event (through its Oracle) and confirms payment execution/termination on the delivery chain;
- On payment execution/termination confirmation, the Security Tokens are unlocked, transferred to the receiving party, and an event is generated.