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
- Ledger design for coin earn/burn (append-only event log)
- Preventing double-spend under concurrent redemption
- Expiry computation — lazy vs scheduled
- Partner offer integration (webhook on redemption)
- Fraud signals: sudden large redemption bursts
added …