case study

Ledger and digital banking re-architecture

Listed payments company

Re-architecting the digital banking and ledger stack of a publicly listed payments business

Ledger and core banking·Fractional AI CTO·Fintech / Payments Technology·March 2024

Client identity and commercially sensitive detail are withheld under the confidentiality terms of this engagement.

Challenge

Challenge Our client is a publicly listed payments technology business operating a global platform across multiple markets and currencies. Its product suite spans prepaid card programs, digital banking, open banking, earned wage access, disbursements, and incentives, serving enterprise clients across several regions. The challenge was one of architectural scale and strategic clarity. The digital banking and ledger stack had been assembled over multiple acquisition cycles, and each acquired business had brought its own processing platform, data model, and mobile experience. The result was a fragmented architecture: several ledger implementations running in parallel, inconsistent API contracts across product lines, and iOS and Android applications built on hybrid frameworks that could not support the native device integrations the roadmap required. The leadership team needed a technology partner able to operate at the architectural decision-making level - not a delivery team, but a strategic engineering voice that understood both the technical debt they were carrying and the regulatory environment of a listed payments business under prudential oversight and PCI DSS obligations. They engaged us at the Fractional CTO level to own the re-architecture program.

Approach

Approach We began with a technical audit - mapping every service boundary in the existing platform, cataloguing the ledger implementations, documenting API contracts across product lines, and reviewing the mobile codebase on both platforms. The picture it produced was clear: the core ledger logic had grown organically into a monolith that made isolated deployment impossible. A change to the disbursements module required a full regression cycle across unrelated systems that happened to share infrastructure. The re-architecture decision was to move to a domain-driven microservices model with a single canonical ledger service as the source of truth for all financial state, and every other product domain consuming ledger events over an async message bus rather than coupling directly at the database. That was the change that made isolated deployment, independent scaling, and clean regulatory audit trails possible. On mobile we made the call to move from hybrid to fully native - Swift for iOS, Kotlin for Android. The decision drivers were specific: push notification reliability at scale, where the hybrid layer introduced delivery latency unacceptable for time-sensitive payment confirmations; biometric authentication, which the hybrid layer could not implement cleanly without significant workarounds; and offline transaction capability with deterministic sync behaviour on reconnect. Every architectural decision was captured as an Architecture Decision Record - a requirement for a listed company where engineering decisions can carry disclosure implications and must be auditable after the fact.

Solution

Solution We delivered across three parallel workstreams: The canonical ledger service - a new, domain-isolated service responsible for all financial state transitions. Event-sourced, with an immutable audit log of every entry. All product domains write ledger intents and read ledger state through a versioned API, and the old pattern of direct database coupling between domains was eliminated entirely. Regulatory reporting queries that previously required cross-schema joins now run against a purpose-built reporting model derived from the event log. The API gateway and contract layer - a unified gateway replacing the inconsistent contract surface accumulated across acquired businesses. REST APIs with OpenAPI specifications published as the authoritative contract, explicitly versioned, with breaking changes requiring a new major version. Internal teams and external partners consume the same documented contracts. Native iOS and Android apps - complete rewrites in Swift and Kotlin. Biometric authentication through native platform APIs. Push notification architecture rebuilt on APNs and FCM with server-side delivery receipts. Offline capability for core payment flows, with a deterministic sync queue that resolves on reconnect without duplicate transaction risk. The apps share no business logic layer - each is idiomatic to its platform rather than a port of the other. Throughout the engagement we attended board-level technology briefings, prepared technical sections of investor communications, and worked directly with the compliance function so every architectural change was documented to prudential and PCI DSS standards.

Results

Results The canonical ledger re-architecture eliminated cross-domain regression risk: product teams can deploy changes to one domain without touching unrelated processing pipelines, and release cadence increased accordingly. The API gateway cut integration time for new enterprise clients who had previously had to navigate inconsistent contract surfaces across product lines. The native apps delivered the biometric and push notification reliability the roadmap required - capabilities simply not achievable on the previous hybrid stack. The audit log architecture satisfied regulatory reporting requirements cleanly, removing the manual reconciliation overhead the old cross-schema model had demanded. What this engagement demonstrates: we can hold the technology seat in a listed, regulated business - auditing a stack assembled through acquisitions, choosing the architecture that unwinds it, and standing behind those decisions at board level.

Technologies

Swift(Mobile)Kotlin(Mobile)Node.js(Backend)Apache Kafka(Backend)PostgreSQL(Backend)REST / OpenAPI(Backend)AWS(Infrastructure)APNs(Mobile)FCM(Mobile)

Ready to reach escape velocity?

Let's talk about your product.

Contact us