Demo — invented data, read-only. Nothing here is anyone’s real spending.
RewardsMaxx
CITI PREMIERMILES WORLD MASTER
•••• 3836
+ Add screenshot
Last upload 12 Aug · statementLast transaction 24 Jul
Citi Miles
0
Earned this cycle
Balance 522 Citi Miles

This cycle

24
24 days left
8 Aug7 Sepstatement · monthly · by posting date
Spend
S$0.00
Qualifying
S$0.00
Earned
0 mi
Transactions
0
Earned
0 mi

Every cycle so far

Earned (Citi Miles)
930
Worth (miles)
930
Blended rate
1.19 mpd
Spend
S$783.86
Cycles
12
Lost to rounding
S$8.86
Blended rate divides by every dollar spent, including the S$8.86 that fell inside part-used S$1.00 blocks and earned nothing. That is what makes it the figure to compare cards on: it is what this card returned on everything you put through it.
S$8.86 of spend fell inside partial S$1.00 blocks and earned nothing — 11 miles at the rate each remainder actually lost. Rounding happens per transaction here, so paying in fewer, larger amounts loses less.
Average S$66.20 over 11 cycles, excluding the cycle still running
  • Local spend · 1.20 mpd100%
CycleSpendStatement · Citi MilesTotal rewards · milesHighest tierRateWasted
8 Jul7 AugS$55.6166660%1.19 mpdS$55.61
8 Jun7 JulS$347.574164160%1.20 mpdS$347.57
8 Apr7 MayS$0.0000
8 Mar7 AprS$195.092322320%1.19 mpdS$195.09
8 Feb7 MarS$0.0000
8 Dec7 JanS$26.3431310%1.18 mpdS$26.34
8 Oct7 NovS$0.0000
8 Sep7 OctS$0.000 *0
8 Aug7 SepS$86.70102 *1020%1.18 mpdS$86.70
8 Jul7 AugS$0.0000
8 Jun7 JulS$16.4219 *190%1.16 mpdS$16.42
8 May7 JunS$56.1364640%1.14 mpdS$56.13
Rate is total rewards over every dollar spent, so it moves with the “earned on” column rather than because the card changed. A figure marked * has no statement yet and is what we compute.

Where this cycle went

No spend in this cycle yet.

Spend, last six months

Average S$119.65 over 5 months, excluding the month still running

Transactions

MCC marked ≈ is inferred from the merchant name rather than supplied by the bank. “≈ unused” means the inference was not confident enough to unlock a bonus, and “✓ yours” is one you recorded.
Record an MCC for a merchantIf your bank's app shows the real MCC, put it here. It outranks any inference but never the code the bank printed on the statement.
33 of 33 rows
  • GIRO PAYMENT - THANK YOU+S$257.98
    1 Augotherearlier · 8 Julnot_a_purchase
    0 Citi Miles
  • SEORAE JIB MALLS$55.61
    24 Juldining5812earlier · 8 Jul
    66 Citi Miles1.19/$base
  • RED POINT AUDIO ELECTRONICSS$347.57
    22 Junstreaming5732onlineearlier · 8 Jun
    416 Citi Miles1.20/$base
  • GIRO PAYMENT - THANK YOU+S$191.32
    2 Mayotherearlier · 8 Aprnot_a_purchase
    0 Citi Miles
  • FEB26PMILESRETENTIONSPD$150GET$125+S$133.64
    24 Aprotherearlier · 8 Aprnot_a_purchase
    0 Citi Miles
  • ALP HUAWEIS$8.29
    29 Mardining5814earlier · 8 Mar
    10 Citi Miles1.16/$base
  • EAMARTS$91.50
    29 Margroceries5411earlier · 8 Mar
    109 Citi Miles1.19/$base
  • TEST STORES$9.06
    29 Margroceries5411earlier · 8 Mar
    11 Citi Miles1.19/$base
  • TEST STORES$56.40
    29 Margroceries5411earlier · 8 Mar
    67 Citi Miles1.19/$base
  • TEST STORES$8.38
    29 Margroceries5411earlier · 8 Mar
    10 Citi Miles1.15/$base
  • CS FRESH EUNOSS$21.46
    25 Margroceries5411earlier · 8 Mar
    25 Citi Miles1.17/$base
  • GIRO PAYMENT - THANK YOU+S$4.36
    5 Marotherearlier · 8 Febnot_a_purchase
    0 Citi Miles
  • REDEEMED WITH POINTS+S$0.95
    10 Febotherearlier · 8 Febnot_a_purchase
    0 Citi Miles
  • SHOPFRONT ASIAS$26.34
    6 Janonline_shopping5262earlier · 8 Dec
    31 Citi Miles1.18/$base
  • MILES TRANSFER FEES$19.85
    29 Decotherearlier · 8 Decnot_a_purchase
    0 Citi Miles
  • GST ON MILES TRANSFER FEES$1.63
    29 Decotherearlier · 8 Decnot_a_purchase
    0 Citi Miles
  • MA2025 A&G $50 CASH REBATE+S$36.26
    11 Decotherearlier · 8 Decnot_a_purchase
    0 Citi Miles
  • GIRO PAYMENT - THANK YOU+S$20.32
    1 Novotherearlier · 8 Octnot_a_purchase
    0 Citi Miles
  • GIRO PAYMENT - THANK YOU+S$66.62
    2 Octotherearlier · 8 Sepnot_a_purchase
    0 Citi Miles
  • RIDEWAYS$16.97
    7 Septransport_ride_hail4121onlineearlier · 8 Aug
    19 Citi Miles1.13/$base

Card facts

Counted byPosting date — the day it reached the bank, not the day you paidCycleStatement month, monthly
Income Req.S$30,000 p.a.Points ValidityNo expiry
Annual FeeS$196.20 (first year free)Min. Transfer10,000 Citi Miles
Miles with Annual Fee10,000 Citi MilesTransfer Partners11
FCY Fee3.25%Transfer FeeS$27.25 per transfer
Local Earn1.2 mpdPoints Pool?No
FCY Earn2.2 mpdLounge Access?2 Priority Pass visits a year
Special Earn10 mpd on Kaligo, 7.2 mpd on AgodaAirport Limo?No
* No cap and no minimum spend, but transit, education, insurance, government and all bill payments earn nothing.

How this card earns

TierRateCap
Overseas spend2.20 mpduncapped
Local spend1.20 mpduncapped
Citi Milesmiles · 10,000 minimum transfer · S$27.25 fee
Rule notes and caveats
HOW IT EARNS
- 1.2 mpd local, 2.2 mpd overseas. No cap, no minimum, no bonus category.
- Earned per whole S$1; rounding happens ONCE on the period total, not per
  row.

WATCH OUT
- Long exclusion list: transit (every MRT and bus fare), education,
  insurance, government, all bill payments.
- The statement header says 2 Citi Miles per foreign S$1 while clause 3.1,
  the promotion T&C and MileLion all say 2.2. Modelled as 2.2; no foreign row
  has landed here to settle it.
- Clause 3.2 says miles are "rounded down"; the statements contradict it
  (31.2 printed 31, 418.8 printed 419). Period-total rounding is what fits.

NOT MODELLED
- 10 mpd Kaligo and 7.2 mpd Agoda promotions, which have their own end dates.
- The 10,000-mile annual-fee credit (clause 3.4) — not spend-driven.

EVIDENCE
- All three earning cycles tie: 31, 204, 419. April's six rows give exactly
  204.0 at whole dollars, which is what pins the S$1 block down.
- Statements were uploaded from page 4, so no statement date was parsed; the
  cycle is inferred from payment due dates, 25 days after close.

Product

Approved oni

Not printed on a statement. Yours first appears on the statement to 8 Jun, so it was approved on or before then.
Leave it blank if you are not sure. A wrong date is worse than none — an expiry predicted from a guess would read as fact.

Usually paid by

Neither statements nor most app screens print how a payment was made, so most rows arrive with no channel at all. Nothing is assumed unless you say so here — assuming online by default made this card pay 4 mpd on restaurant dinners and six statements read up to 54% above what the bank actually paid. Set it only where it is true of the card. A channel you set on a single transaction always wins, and so does one worked backwards from a statement's printed reward total — that is arithmetic on what the bank actually paid, and this is a habit.“Only rows no statement has claimed” keeps the assumption to the cycle nothing else can speak for — app screenshots of spend the statement has not reached yet. When that statement arrives it supersedes those rows and the assumption is taken back off them, leaving the printed reward total to settle the channel. Use it on a card that prints one; use “every row” on a card where the habit is simply true of how you pay.

Cycle

Read off your statement where one has been imported. Only used by cards billed on a statement cycle rather than a calendar month.

Add from a screenshot

The current cycle has no statement yet, so nothing else can tell you how close you are to a minimum or a cap. Screenshot the transaction list in your banking app and upload it here — several consecutive scrolls are fine, in order.A points balance or expiry schedule works too — the yuu app's home and Expiring Points screens are read as readily as a transaction list. Reading them takes about half a minute per image: they go through the local model one at a time, so the page will sit still for a while. It is working.
Read on this machine by the local model — the images are never uploaded anywhere else. Rows land marked as coming from a screenshot, and the statement replaces them when it arrives rather than adding to them.

Statements

  • 2026-08-07
    eStatement_Aug2026 Citi premiermiles .pdf
    coordinatenot kept
  • 2026-07-07
    eStatement_Jul2026 Citi premier .pdf
    coordinatenot kept
  • 2026-06-07
    eStatement_Jun2026 Citi premier .pdf
    coordinatenot kept
  • 2026-05-07
    eStatement_May2026 Citi premier .pdf
    coordinatenot kept
  • 2026-04-07
    eStatement_Apr2026 Citi premier .pdf
    coordinatenot kept
  • 2026-03-08
    eStatement_Mar2026 Citi premier.pdf
    coordinatenot kept
  • 2026-02-08
    eStatement_Feb2026 Citi premier .pdf
    coordinatenot kept
  • 2026-01-07
    eStatement_Jan2026 Citi premier .pdf
    coordinatenot kept
  • 2025-12-07
    eStatement_Dec2025 Citi premier .pdf
    coordinatenot kept
  • 2025-11-07
    eStatement_Nov2025 Citi premier .pdf
    coordinatenot kept
  • 2025-10-07
    eStatement_Oct2025 Citi premier.pdf
    coordinatenot kept
  • 2025-09-07
    eStatement_Sep2025 Citi premier .pdf
    coordinatenot kept
  • 2025-08-07
    eStatement_Aug2025 Citi premier.pdf
    coordinatenot kept
  • 2025-07-07
    eStatement_Jul2025 Citi premier .pdf
    coordinatenot kept
  • 2025-06-08
    eStatement_Jun2025 Citi premier .pdf
    coordinatenot kept
The original PDFs, kept so you can check any figure here against the document it came from.

Terms and conditions

The documents this card's rules were written from, kept as downloaded. A T&C is revised in place — the page a rate was read off in March may say something else today and nothing here would change — so what is linked is OUR copy, with the date the issuer printed on it.Commentary is linked but deliberately not archived — it is someone else's writing, and a local copy of it is neither ours to keep nor evidence of anything. Refresh with npx tsx scripts/fetch-terms.ts --all.
RewardsMaxx