Design a Rewards Points System with Earning, Balances and Redemption

Read the full interview experience this question came from →

Quick Overview

A system design interview prompt: design a rewards system in which customers earn points from their purchases and redeem them. It tests ledger-based balances, idempotent processing of purchase events, reversals after refunds, earn-rule and campaign management, and safe redemption under concurrent requests.

Design a Rewards Points System with Earning, Balances and Redemption

Company: Brex

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a rewards system. The report gives only this one-line prompt, so settle the scope with the interviewer first. In its usual form, customers earn reward points on the purchases they make, see their points balance and history, and redeem points for value. ```hint Points behave like money Decide what the source of truth for a points balance is, so that any balance can be explained and recomputed, and what happens to points when the purchase that earned them is refunded. ``` ```hint Purchase events arrive more than once The stream of purchases that drives earning can deliver the same event twice, late or out of order. Decide what makes awarding points safe to repeat. ``` ### Constraints and Clarifications - Not given: what earns points and at what rate, how points are redeemed, whether they expire, purchase volume, and how quickly earned points must appear. Ask, or state your assumptions. ### Clarifying Questions - What earns points: every card purchase at a flat rate, rates that vary by merchant category, time-limited promotions, or also actions such as referrals? - When are points awarded: when a purchase is authorized, when it settles, or after a holding period? What happens on refunds, reversals and chargebacks? - How are points redeemed: statement credit, cash, gift cards, travel or other partners? Can a redemption fail after the points have been taken? - Do points belong to one person or to a business account shared by many cardholders, and who may redeem them? - Do points expire, and are there tiers or earning caps? - How many accounts and purchases per second, and how fresh must the balance shown to users be? ### What a Strong Answer Covers - Settles what earns points, when they post, how they are redeemed and what a refund does, before designing - An append-only points ledger as the source of truth, with a derived balance and an explainable history - Idempotent, per-account ordered processing of purchase events, with reversals for refunds and chargebacks - Versioned earn rules and campaigns, including how a retroactive change is applied - Redemption that cannot overspend under concurrent requests and that handles partner failures and timeouts - Reconciliation, failure handling, scaling and monitoring ### Follow-up Questions - A purchase is refunded after the points it earned were already redeemed. What happens to the balance? - A campaign announces triple points in one merchant category for the past week. How do you apply it? - Points must now expire a fixed time after they are earned. What changes in the data model and in redemption? - The purchase event feed is down for an hour and then replays everything. How does your system behave?

Overview: A system design interview prompt: design a rewards system in which customers earn points from their purchases and redeem them. It tests ledger-based balances, idempotent processing of purchase events, reversals after refunds, earn-rule and campaign management, and safe redemption under concurrent requests.

Read the full Brex Software Engineer interview experience this question came from

Brex logo
Brex
Aug 1, 2026
mediumSoftware EngineerOnsiteSystem Design
4
0

Design a rewards system. The report gives only this one-line prompt, so settle the scope with the interviewer first. In its usual form, customers earn reward points on the purchases they make, see their points balance and history, and redeem points for value.

Constraints and Clarifications

  • Not given: what earns points and at what rate, how points are redeemed, whether they expire, purchase volume, and how quickly earned points must appear. Ask, or state your assumptions.

Clarifying Questions Guidance

  • What earns points: every card purchase at a flat rate, rates that vary by merchant category, time-limited promotions, or also actions such as referrals?
  • When are points awarded: when a purchase is authorized, when it settles, or after a holding period? What happens on refunds, reversals and chargebacks?
  • How are points redeemed: statement credit, cash, gift cards, travel or other partners? Can a redemption fail after the points have been taken?
  • Do points belong to one person or to a business account shared by many cardholders, and who may redeem them?
  • Do points expire, and are there tiers or earning caps?
  • How many accounts and purchases per second, and how fresh must the balance shown to users be?

What a Strong Answer Covers Guidance

  • Settles what earns points, when they post, how they are redeemed and what a refund does, before designing
  • An append-only points ledger as the source of truth, with a derived balance and an explainable history
  • Idempotent, per-account ordered processing of purchase events, with reversals for refunds and chargebacks
  • Versioned earn rules and campaigns, including how a retroactive change is applied
  • Redemption that cannot overspend under concurrent requests and that handles partner failures and timeouts
  • Reconciliation, failure handling, scaling and monitoring

Follow-up Questions Guidance

  • A purchase is refunded after the points it earned were already redeemed. What happens to the balance?
  • A campaign announces triple points in one merchant category for the past week. How do you apply it?
  • Points must now expire a fixed time after they are earned. What changes in the data model and in redemption?
  • The purchase event feed is down for an hour and then replays everything. How does your system behave?