DevLearn
Back to Payments & Banking
payments

Core Banking

CBS architecture — accounts, products, GL, and integration patterns

Core Banking — Overview

CBS architecture — accounts, products, GL, and integration patterns

Core Banking Systems (CBS) manage accounts, deposits, loans, and general ledger. Modern CBS use event-sourced ledgers with API layers (REST/gRPC) for channels. Integration with payment rails via ISO 8583 adapters, SWIFT gateways, and real-time payment APIs.

// Core Banking — Account event model
public sealed interface AccountEvent {
  record Opened(String accountId, String product, Instant ts) {}
  record Credited(String accountId, Money amount, String ref) {}
  record Debited(String accountId, Money amount, String ref) {}
  record Closed(String accountId, Instant ts) {}
}

// API layer over CBS
@RestController
@RequestMapping("/api/v1/accounts")
public class AccountController {
  @PostMapping("/{id}/debit")
  public ResponseEntity<Balance> debit(@PathVariable String id,
      @RequestBody DebitRequest req) {
    return ResponseEntity.ok(cbsService.debit(id, req));
  }
}
Tip: CBS upgrades are multi-year projects — strangler fig pattern wraps legacy with modern API facade.