Answer-first: This series presents a comprehensive technical blueprint for designing and building a mission-critical core banking system, addressing double-entry ledger schemas, distributed transaction consistency, CQRS event sourcing, ISO 20022 messaging, FAPI security, and real-time streaming fraud detection.

Modern Core Banking Architecture

This series is designed for Software Architects, Senior Backend Engineers, and SDETs who want to dive deep into the technical foundations of production-grade financial systems. We won’t stop at theory — each article includes real-world database schemas, specific latency benchmarks (in ms), executable code samples, and specialized testing strategies (QA/SDET) for every topic.

References include: TigerBeetle Docs, Mambu GL API, PingCAP Blog, Monzo Engineering, OpenID FAPI 2.0 Spec, Apache Flink Docs, Martin Kleppmann’s Blog, and Google Spanner Docs.


Series Content

  1. Part 1 — Double-Entry Ledger: Schema, Immutability & Locking
  2. Part 2 — Distributed SQL & ACID Latency: TiDB vs CockroachDB vs Spanner
  3. Part 3 — Event Sourcing & CQRS: Immutable Ledger Design for Microservices
  4. Part 4 — Saga Pattern: Distributed Transactions Without 2PC
  5. Part 5 — ISO 20022 & Payment Gateways: Parsing pacs.008, Idempotency, and Gateway Latency
  6. Part 6 — FAPI 2.0 & API Security: DPoP, mTLS, and Sender-Constrained Tokens
  7. Part 7 — Streaming Fraud Detection: Apache Flink CEP, RocksDB & ML Inference
  8. Part 8 — QA & SDET Handbook: Testing Distributed Financial Systems

Who Should Read This Series?

RoleWhere to Start
Backend Engineers entering the Fintech spacePart 1 → Part 3
Database Engineers / DBAs interested in Distributed SQLPart 2
Architects designing Event-Driven systemsPart 3 → Part 4
Security Engineers working on API AuthPart 6
Data Engineers building Fraud DetectionPart 7
QA / SDETs needing testing strategies for FintechPart 8

Double-Entry Ledger: Immutable Schema & Concurrency

Executive Summary & Quick Answer: Ultra-high-throughput ledger systems require specialized schema layouts like TigerBeetle’s 128-byte fixed structures or PostgreSQL partition tables decoupling balance accumulation from transaction insertion. Isolating transaction logging from balance state eliminates hot-row lock contention, enabling 10,000+ TPS. Answer-first: High-throughput double-entry ledgers require immutable transaction logs and separate balances tables. By decoupling transaction insertion from balance updates, databases avoid contention on hot account rows, achieving horizontal scalability and consistent ledger state across high-frequency transaction volumes. ...

June 18, 2026 · 12 min · Lê Tuấn Anh

Distributed SQL ACID Latency: TiDB, CockroachDB & Spanner

Executive Summary & Quick Answer: Distributed SQL engines (TiDB Percolator, CockroachDB HLC, Google Spanner TrueTime) balance multi-region ACID compliance with low-latency commitments. Understanding clock drift bounds (TrueTime 2-7ms wait) vs TSO central allocator overhead is critical for tuning financial transaction latency under cross-region replication. Answer-first: Distributed SQL databases reconcile ACID compliance with low-latency reads by using Spanner-like clock synchronization (TrueTime/HLC) and Raft-based multi-group consensus. This architecture guarantees strict serializability and localized transaction routing without relying on a single bottleneck coordinator. ...

June 18, 2026 · 9 min · Lê Tuấn Anh

Event Sourcing & CQRS: Immutable Ledger for Microservices

Executive Summary & Quick Answer: Building an immutable ledger with Event Sourcing and CQRS decouples high-throughput command processing from complex query analytics. By projecting domain event streams asynchronously into optimized read models, banking platforms serve customer balance dashboards with zero command-side database locks. Answer-first: Event sourcing and CQRS separate write-heavy transaction streams from read-heavy queries. By appending immutable events to a journal and projecting them asynchronously to specialized read databases, core banking systems achieve millisecond-level response times and complete audit trails. ...

June 18, 2026 · 13 min · Lê Tuấn Anh

Saga Pattern: Distributed Transactions Without 2PC

Executive Summary & Quick Answer: Executing distributed financial transactions across independent microservices requires the Saga Pattern to replace blocking two-phase commits (2PC). Using orchestrator-led state machines with persistent state logs ensures compensating transactions execute automatically whenever downstream steps fail. Answer-first: Distributed transactions across microservices are coordinated using the Saga pattern. Rather than locking databases across services (2PC), a Saga coordinator sequences independent local transactions and executes compensating transactions to roll back state if any step fails. ...

June 18, 2026 · 11 min · Lê Tuấn Anh

ISO 20022 pacs.008: Parse, Idempotency & Gateway Latency

Executive Summary & Quick Answer: Processing ISO 20022 pacs.008 messages in real-time payment gateways demands strict XML schema validation, strict request idempotency headers, and optimized streaming parsers to meet sub-50ms SLA targets. Answer-first: ISO 20022 standardization introduces structured XML/JSON financial messaging schemas. To prevent validation latency bottlenecks, payment gateways deploy high-throughput streaming schema validation pipelines and map legacy formats using optimized translation layers. Series (Part 5 of 8): After designing Saga patterns in Part 4, this article dives into the international integration layer — where the Core Banking system communicates with the external financial world via the ISO 20022 standard. ...

June 18, 2026 · 11 min · Lê Tuấn Anh

FAPI 2.0: DPoP, mTLS & Sender-Constrained Tokens

Answer-first: Financial-grade API (FAPI) 2.0 enforces cryptographic API security using Mutual TLS (mTLS), pushed authorization requests (PAR), and signed request objects (JAR/JARM). This prevents credential hijacking, session sniffing, and token forgery in open banking networks. Series (Part 6 of 8): After mastering the payment data flow in Part 5, this article focuses on the API security layer — where a single design flaw can lead to token theft and unauthorized fund transfers. ...

June 18, 2026 · 13 min · Lê Tuấn Anh

Streaming Fraud Detection: Flink CEP, RocksDB & ML

Answer-first: Real-time transaction fraud detection requires streaming processing engines (Flink/Spark) to run multi-variable rule scoring under 50ms. By maintaining stateful windows of customer activity, these systems identify anomalies and block fraudulent transfers before they settle. Series (Part 7 of 8): The final technical article before the QA handbook. We will build a real-time fraud detection pipeline with an SLA of <100ms per score — where your latency budget is shared between CEP pattern matching, state lookups, and ML model inference. ...

June 18, 2026 · 12 min · Lê Tuấn Anh

QA & SDET Handbook: Testing Distributed Core Banking

Answer-first: Core banking testing requires systematic chaos injection, load generation, and consumer-driven contract verification. SDET teams isolate service dependencies using contract mocks and inject network/database faults to verify the system remains resilient and zero-data-loss under stress. Series (Part 8 of 8): This concluding article compiles a comprehensive testing strategy specifically tailored for each layer of the Core Banking Architecture covered in previous parts — from ledger consistency to distributed SQL, Sagas, ISO 20022, API Security, and Streaming Fraud Detection. ...

June 18, 2026 · 13 min · Lê Tuấn Anh