AO
Back
Stripe Common Problems

Ledger System

System DesignhardLast reported August 2026
By AceOffer · Updated August 2026 · Reported 10× across 220+ reports

Understanding the Problem

Design a bookkeeping/ledger service for a payments platform (e.g., Stripe). Stripe merchants sell goods/services online; every time a customer makes a purchase, money is collected on behalf of the merchant, and periodically the merchant is paid out an aggregated amount. Other teams handle the actual sending/receiving of money, credit card charging, and fraud detection. Your task is to build the Ledger service that: (1) records all financial activity (money sent or received on behalf of a merchant), and (2) supports querying the account balance for a given merchant. The system should expose at minimum two APIs: a Record Transaction API and a Get Account Balance API. Interviewers expect API-level detail (request/response schema, data modeling), database schema design, and discussion of scalability and reliability concerns — not just high-level architecture. Key deep-dive topics include: how to model money/price objects, idempotency key design to prevent duplicate transactions, and scalability of balance queries.

Functional Requirements

Structured requirements coming soon. For now, see the full problem statement above and the deep-dive prompts below.

Non-Functional Requirements

Latency, throughput, availability, consistency targets — being authored.

The Set Up

Defining the Core Entities

Core entities (Request, Batch, Worker, Cache, etc.) — being authored.

The API

POST /endpoint → describe request shape GET /endpoint → describe response shape (API spec being authored)

High-Level Design

Component diagram + walkthrough mapping each functional requirement to a system flow — being authored.

Potential Deep Dives

These are the directions the interviewer is likely to push you. Each one has multiple valid solutions at different quality tiers.

1)How would you design the idempotency key to prevent duplicate transactions? (when: Candidate completes basic API and schema design)

Bad

Naive approach with serious trade-off — being authored.

Good

Solid baseline with reasonable trade-offs — being authored.

Great

Production-grade approach with explicit trade-off rationale — being authored.

2)How should you model price/money in your transaction API and database? (when: Candidate proposes floating-point for money)

Bad

Naive approach with serious trade-off — being authored.

Good

Solid baseline with reasonable trade-offs — being authored.

Great

Production-grade approach with explicit trade-off rationale — being authored.

3)How does your design scale? (when: Candidate finishes the main design)

Bad

Naive approach with serious trade-off — being authored.

Good

Solid baseline with reasonable trade-offs — being authored.

Great

Production-grade approach with explicit trade-off rationale — being authored.

What is Expected at Each Level?

L4 / Mid-level

Cover happy path. Clarify scope. Identify the obvious bottleneck. Pick a reasonable storage and reasonable scaling approach.

L5 / SeniorTarget

All of the above plus: explicit failure handling, durability vs latency trade-offs, choose the right batching/caching strategy, articulate why.

L6 / Staff+

All of the above plus: organizational concerns (rollout, migration, on-call), quantitative analysis, multi-region considerations, what could go wrong with the proposed solution at 10x scale.

Insider Notes

Observed variants: Base: Record transaction + get balance APIs only | With idempotency key deep-dive | With money/price object modeling deep-dive (~50% of interview time)

More Stripe Questions

Free preview

Every question in the Stripe catalog gets this depth

What you just read — canonical solution, follow-up arc, what passing candidates actually did — exists for all 70 Stripe questions, refreshed monthly from new candidate reports.

$59/mo — or $50/mo with the 3-month pass · cancel anytime
Stripe · System Design · Last reported August 2026
Is this helpful?