Design CRED's Rewards and Cashback Redemption Engine

Problem

Design the rewards and cashback engine for CRED where users earn coins for bill payments and redeem them for offers from brand partners.

Requirements

Functional:

  • Earn coins on every credit card bill payment (variable rate)
  • Redeem coins for cashback, vouchers, or exclusive experiences
  • Coin expiry (earned coins expire in 12 months)
  • Partner offer catalogue with inventory management

Non-functional:

  • 10M users, 500K daily redemptions
  • Coin balance must be strongly consistent (no double-spend)
  • Offer inventory: eventually consistent is acceptable

Key discussion points

  1. Ledger design for coin earn/burn (append-only event log)
  2. Preventing double-spend under concurrent redemption
  3. Expiry computation — lazy vs scheduled
  4. Partner offer integration (webhook on redemption)
  5. Fraud signals: sudden large redemption bursts
added …
LeaderboardSalaryAccount