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

Series (Part 1 of 8): This series dives deep into production-grade Core Banking architecture. This article focuses on the most critical foundation: schema design for a Double-Entry Ledger and concurrency locking strategies. If you are new to Core Banking, please read the Core Banking Developer Series first. ⚠️ Note: This article is synthesized from official documentation, engineering blogs, and published benchmark papers. The latency figures and schema designs reflect the source material at the time of writing. Always verify with your team’s architect or lead engineer before applying them to a production system. ...

June 18, 2026 · 10 min · Tuan Anh

Distributed SQL ACID Latency: TiDB, CockroachDB & Spanner

Series (Part 2 of 8): This article assumes you are familiar with the Double-Entry Ledger from Part 1. We will analyze why a PostgreSQL monolith hits limitations at scale and how Distributed SQL options solve that problem. ⚠️ Note: This article is synthesized from official documentation, engineering blogs, and published benchmark papers. The latency figures and schema designs reflect the source material at the time of writing. Always verify with your team’s architect or lead engineer before applying them to a production system. ...

June 18, 2026 · 8 min · Tuan Anh

Event Sourcing & CQRS: Immutable Ledger for Microservices

Series (Part 3 of 8): This article builds upon the ACID transactions foundation from Part 2. We will design a ledger using Event Sourcing — the exact solution that Monzo, Starling Bank, and many large neo-banks use to scale. What are Event Sourcing & CQRS in Fintech? Fintech microservice systems utilize Event Sourcing and CQRS patterns to maintain distributed data consistency without distributed locks. To avoid dual-write failures, the Transactional Outbox pattern is applied in combination with CDC tools like Debezium. Pre-calculated CQRS balance lookups achieve <1ms latency, whereas on-the-fly SUM() aggregates degrade from 2ms to 200ms at $O(N)$ with account history length. ...

June 18, 2026 · 8 min · Tuan Anh

Saga Pattern: Distributed Transactions Without 2PC

Series (Part 4 of 8): This article builds upon Event Sourcing from Part 3. The Saga Pattern solves the problem: “How do we ensure consistency when a transaction must coordinate across multiple microservices without using distributed locks or 2PC?” What is the Saga Pattern in Fintech? A Saga is a sequence of local transactions. Each local transaction updates the database of its respective service and publishes an event or message to trigger the next local transaction. If any step fails, the Saga executes compensating transactions to undo the preceding steps — ensuring eventual consistency without the need for distributed locks. ...

June 18, 2026 · 8 min · Tuan Anh

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

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. What is ISO 20022 XML Parsing Performance? ISO 20022 pacs.008 XML payloads typically range from 5-15KB and take about 3-15ms to parse, whereas the equivalent JSON format is 10-30 times faster. Payment gateways must handle this translation latency while strictly enforcing webhook idempotency to prevent duplicate charges. ...

June 18, 2026 · 8 min · Tuan Anh

FAPI 2.0: DPoP, mTLS & Sender-Constrained Tokens

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. What is FAPI 2.0 DPoP Implementation? The Financial-grade API (FAPI) 2.0 standard mandates the use of sender-constrained tokens via DPoP or mTLS to prevent token theft. Deploying mTLS in Kubernetes adds 1-3ms of latency for the initial handshake, but this drops to <0.1ms with connection pooling and HTTP Keep-Alive. ...

June 18, 2026 · 9 min · Tuan Anh

Streaming Fraud Detection: Flink CEP, RocksDB & ML

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. What is a Flink Fraud Detection Architecture? Real-time fraud detection systems rely on stream processing frameworks like Apache Flink and state backends like RocksDB to meet processing SLAs of 50-100ms. By combining Complex Event Processing (CEP) and async ML inference, these systems can reduce false positives by up to 80% compared to legacy static rule engines, which often exhibit false positive rates of 85-99%. When a fraud trigger blocks an account, it should integrate with the Saga Pattern to orchestrate the compensation flow and FAPI 2.0 API Security to protect the fraud scoring API endpoint. ...

June 18, 2026 · 8 min · Tuan Anh

QA & SDET Handbook: Testing Distributed Core Banking

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. Why Does Core Banking Need a Dedicated SDET? Testing distributed financial systems requires specialized skills beyond standard unit tests. The most critical bugs usually only appear under high concurrency, network failures, clock drift, or partial system failures — conditions that cannot be reproduced using simple integration tests. ...

June 18, 2026 · 10 min · Tuan Anh