Files
dbis_core/docs/flows/ssu-atomic-settlement-flow.md
defiQUG 849e6a8357
Some checks failed
CI / test (push) Has been cancelled
CI / security (push) Has been cancelled
CI / build (push) Has been cancelled
Initial commit
2025-12-12 15:02:56 -08:00

2.8 KiB

SSU Atomic Settlement Flow

Overview

SSU atomic settlement uses Synthetic Settlement Units for cross-border settlement with atomic execution guarantees. This flow documents the complete SSU-based settlement process.

Prerequisites

  • SSU exists and is active
  • Sufficient SSU balance
  • Source and destination banks registered
  • Atomic settlement service operational

Visual Flow Diagram

┌─────────────┐
│ SSU         │
│ Settlement  │
│  Request    │
└──────┬──────┘
       │
       │ 1. Verify SSU
       ▼
┌─────────────────────────┐
│ Verify SSU & Balance   │
│  - SSU lookup           │
│  - Balance check        │
└──────┬──────────────────┘
       │
       │ 2. Create Transaction
       ▼
┌─────────────────────────┐
│ Create SSU Transaction  │
│  - Transaction ID       │
│  - Settlement type      │
└──────┬──────────────────┘
       │
       │ 3. Execute Atomic Swap
       ▼
┌─────────────────────────┐
│ Execute Atomic Swap     │
│  - Verify commitments   │
│  - Execute on both sides│
└──────┬──────────────────┘
       │
       │ 4. Complete
       ▼
┌─────────────┐
│ Settlement  │
│  Complete   │
└─────────────┘

Step-by-Step Process

Step 1: Verify SSU

  1. Lookup SSU by ID
  2. Verify SSU is active
  3. Check SSU balance
  4. Verify sufficient balance

Code Reference: src/core/settlement/ssu/ssu-service.ts:99-126

Step 2: Create Transaction

  1. Create SSU transaction record
  2. Set transaction type: settle
  3. Link to source and destination banks
  4. Store transaction ID

Code Reference: src/core/settlement/ssu/ssu-transaction.service.ts

Step 3: Execute Atomic Swap

  1. Create commitments for both sides
  2. Verify commitments match
  3. Execute swap atomically
  4. Verify execution success

Code Reference: src/core/settlement/isn/atomic-settlement.service.ts

Error Handling

  • SSU not found: Return error
  • Insufficient balance: Return error
  • Atomic swap failure: Rollback, mark failed

Integration Points

  • SSU Service: src/core/settlement/ssu/ssu-service.ts
  • Atomic Settlement Service: src/core/settlement/isn/atomic-settlement.service.ts

Performance Metrics

  • Total End-to-End: < 150ms target
  • Throughput: 5,000+ settlements/second

Related Flows: