Diagram — State — Transaction Lifecycle
One user message → one ledger transfer → one path through this state machine. Soft voiding (compensating transfer) is terminal: the original row stays as-is with
voided_by_transfer_idset; balances are restored by the compensating row’s own entries.
Diagram
Section titled “Diagram”Related artifacts
Section titled “Related artifacts”- SRS section: SRS — Telegram Finance Bot §⚙️ Technical Behavior (Стани та переходи), §FR-PFIN-06
- ADRs: ADR-0008 (DB-level invariants), ADR-0014 (ledger schema), ADR-0016 (void via compensating entries)