PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Coinbase

Design a bank account ledger

Last updated: Apr 22, 2026

Quick Overview

This question evaluates understanding of distributed systems, transactional databases, double-entry ledger accounting, idempotency, concurrency control, reconciliation with external payment rails, and operational concerns for financial systems.

  • hard
  • Coinbase
  • System Design
  • Software Engineer

Design a bank account ledger

Company: Coinbase

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Take-home Project

Design a bank account ledger service supporting deposits, withdrawals, transfers, balance queries, and transaction history. Define APIs, data model, and how to ensure ACID semantics for single-account updates and atomic multi-account transfers. Use a double-entry ledger for auditability, include idempotency and exactly-once processing, and explain concurrency control, reconciliation with external payment rails, fraud checks, limits, and dispute handling. Describe sharding, indexing, read replicas, and recovery strategies to scale and maintain consistency.

Quick Answer: This question evaluates understanding of distributed systems, transactional databases, double-entry ledger accounting, idempotency, concurrency control, reconciliation with external payment rails, and operational concerns for financial systems.

Related Interview Questions

  • Design Crypto Order Routing - Coinbase (hard)
  • Design a crypto trading web frontend - Coinbase (hard)
  • Design query pagination for large datasets - Coinbase (medium)
  • Design a food delivery system - Coinbase (medium)
  • Design real-time crypto prices homepage - Coinbase (hard)
Coinbase logo
Coinbase
Sep 6, 2025, 12:00 AM
Software Engineer
Take-home Project
System Design
35
0

Design a Bank Account Ledger Service

Context

You are building the core ledger service for a fintech wallet/banking platform. The service must support customer account balances with full auditability and correctness under concurrency and failures.

Functional Requirements

  • Deposits, withdrawals, and intra-ledger transfers
  • Balance queries (posted vs available)
  • Transaction history with pagination and filters

Non-Functional and Architectural Requirements

  • ACID semantics for single-account updates
  • Atomicity for multi-account transfers
  • Double-entry bookkeeping for auditability and reconciliation
  • Idempotency and exactly-once effect for API requests and async processing
  • Concurrency control under high throughput
  • Integration and reconciliation with external payment rails (e.g., ACH, cards)
  • Fraud checks, spending limits, and dispute/chargeback handling
  • Scalability: sharding/partitioning, indexing strategy, read replicas, caching
  • Recovery strategies: backups, point-in-time recovery, invariants validation

Deliverables

Describe:

  1. Public APIs (endpoints, request/response shape, idempotency usage)
  2. Data model (entities, relationships, constraints) using a double-entry ledger
  3. How to ensure ACID semantics and atomic multi-account transfers
  4. Idempotency and exactly-once processing design
  5. Concurrency control approach
  6. Reconciliation with external rails, fraud checks, limits, and dispute flows
  7. Sharding, indexing, read replicas, and recovery strategies for scale and consistency

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Coinbase•More Software Engineer•Coinbase Software Engineer•Coinbase System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.