Files
dbis_core/docs/flows/ssu-atomic-settlement-flow.md

103 lines
2.8 KiB
Markdown
Raw Normal View History

2025-12-12 15:02:56 -08:00
# 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**:
- [SSU Mint Burn Flow](./ssu-mint-burn-flow.md)
- [Atomic Settlement Flow](./atomic-settlement-flow.md)