earnrate 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +14 -11
  2. package/data/CHANGELOG.md +40 -0
  3. package/data/VERSION +1 -1
  4. package/data/cards/amex-blue-business-plus.yaml +14 -6
  5. package/data/cards/amex-blue-cash-everyday.yaml +12 -3
  6. package/data/cards/amex-blue-cash-preferred.yaml +17 -3
  7. package/data/cards/amex-gold.yaml +19 -3
  8. package/data/cards/amex-platinum.yaml +19 -3
  9. package/data/cards/bank-of-america-atmos-rewards-ascent.yaml +10 -2
  10. package/data/cards/bank-of-america-atmos-rewards-business.yaml +14 -3
  11. package/data/cards/bank-of-america-atmos-rewards-summit.yaml +4 -1
  12. package/data/cards/bank-of-america-customized-cash-rewards.yaml +10 -4
  13. package/data/cards/bilt-obsidian.yaml +4 -3
  14. package/data/cards/capital-one-kohls-card.yaml +11 -2
  15. package/data/cards/capital-one-kohls-rewards-visa.yaml +8 -2
  16. package/data/cards/capital-one-savor.yaml +32 -10
  17. package/data/cards/capital-one-venture-x.yaml +19 -4
  18. package/data/cards/capital-one-venture.yaml +19 -5
  19. package/data/cards/chase-aeroplan.yaml +15 -3
  20. package/data/cards/chase-freedom-flex.yaml +50 -10
  21. package/data/cards/chase-freedom-unlimited.yaml +6 -2
  22. package/data/cards/chase-ihg-one-rewards-business.yaml +18 -2
  23. package/data/cards/chase-ihg-one-rewards-premier-select.yaml +14 -2
  24. package/data/cards/chase-ihg-one-rewards-premier.yaml +15 -2
  25. package/data/cards/chase-ihg-one-rewards.yaml +8 -2
  26. package/data/cards/chase-ink-business-cash.yaml +7 -3
  27. package/data/cards/chase-ink-business-preferred.yaml +9 -2
  28. package/data/cards/chase-prime-visa.yaml +24 -5
  29. package/data/cards/chase-sapphire-preferred.yaml +59 -6
  30. package/data/cards/chase-sapphire-reserve.yaml +12 -2
  31. package/data/cards/chase-southwest-performance-business.yaml +22 -4
  32. package/data/cards/chase-southwest-plus.yaml +13 -3
  33. package/data/cards/chase-southwest-premier-business.yaml +22 -5
  34. package/data/cards/chase-southwest-premier.yaml +13 -3
  35. package/data/cards/chase-southwest-priority.yaml +18 -2
  36. package/data/cards/chase-united-business.yaml +5 -2
  37. package/data/cards/chase-united-club-business.yaml +2 -2
  38. package/data/cards/chase-united-club.yaml +16 -3
  39. package/data/cards/chase-united-explorer.yaml +5 -2
  40. package/data/cards/chase-united-gateway.yaml +2 -2
  41. package/data/cards/chase-united-quest.yaml +12 -3
  42. package/data/cards/citi-aadvantage-business.yaml +10 -4
  43. package/data/cards/citi-aadvantage-executive.yaml +8 -8
  44. package/data/cards/citi-aadvantage-mileup.yaml +7 -4
  45. package/data/cards/citi-aadvantage-platinum-select.yaml +1 -1
  46. package/data/cards/citi-costco-anywhere-visa-business.yaml +5 -2
  47. package/data/cards/citi-costco-anywhere-visa.yaml +6 -3
  48. package/data/cards/citi-custom-cash.yaml +43 -12
  49. package/data/cards/citi-double-cash.yaml +9 -3
  50. package/data/cards/citi-my-best-buy-visa.yaml +6 -3
  51. package/data/cards/citi-strata-elite.yaml +12 -2
  52. package/data/cards/citi-strata-premier.yaml +24 -2
  53. package/data/cards/sofi-unlimited-2.yaml +17 -3
  54. package/data/cards/td-bank-nordstrom-credit-card.yaml +12 -3
  55. package/data/cards/td-bank-nordstrom-visa.yaml +19 -3
  56. package/data/cards/td-bank-target-circle-card.yaml +13 -4
  57. package/data/cards/usbank-cash-plus.yaml +29 -7
  58. package/data/cards/wells-fargo-active-cash.yaml +9 -2
  59. package/data/cards/wells-fargo-autograph.yaml +31 -7
  60. package/data/issuers.yaml +32 -0
  61. package/data/merchants/seed.yaml +7 -0
  62. package/dist/cli/bin.js +10 -1
  63. package/dist/cli/cheatsheet.js +10 -5
  64. package/dist/cli/explore.js +6 -13
  65. package/dist/cli/import.js +2 -2
  66. package/dist/cli/offers.js +17 -7
  67. package/dist/cli/run.js +14 -17
  68. package/dist/cli/wallet.js +8 -5
  69. package/dist/data/file-store.js +6 -7
  70. package/dist/data/integrity.js +4 -0
  71. package/dist/data/load.js +4 -1
  72. package/dist/data/store.js +6 -22
  73. package/dist/data/wallet-edit.js +38 -13
  74. package/dist/engine/cheat-sheet.js +4 -5
  75. package/dist/engine/compare.js +2 -0
  76. package/dist/engine/evaluate.js +2 -4
  77. package/dist/engine/explore.js +4 -36
  78. package/dist/engine/memberships.js +1 -1
  79. package/dist/engine/offers.js +2 -1
  80. package/dist/engine/periods.js +18 -0
  81. package/dist/engine/recommend.js +14 -15
  82. package/dist/engine/setup.js +14 -24
  83. package/dist/engine/simulate.js +7 -6
  84. package/dist/engine/text.js +13 -1
  85. package/dist/engine/wallet-change.js +10 -12
  86. package/dist/engine/wallet-summary.js +64 -28
  87. package/dist/format/card-text.js +7 -20
  88. package/dist/format/explore.js +2 -2
  89. package/dist/format/offers.js +2 -2
  90. package/dist/format/recommendation.js +2 -2
  91. package/dist/format/wallet.js +1 -1
  92. package/dist/import/analyze.js +2 -1
  93. package/dist/mcp/context.js +30 -9
  94. package/dist/mcp/inputs.js +1 -1
  95. package/dist/mcp/schemas.js +1 -0
  96. package/dist/mcp/server.js +7 -1
  97. package/dist/mcp/tools/account.js +44 -16
  98. package/dist/mcp/tools/answers.js +58 -19
  99. package/dist/mcp/tools/wallet.js +58 -24
  100. package/dist/merchants/cache.js +0 -10
  101. package/dist/merchants/resolve.js +81 -4
  102. package/dist/schema/card.js +4 -1
  103. package/dist/schema/issuer.js +8 -0
  104. package/dist/schema/wallet.js +1 -1
  105. package/package.json +1 -1
@@ -3,8 +3,8 @@ name: United Quest Card
3
3
  issuer: chase
4
4
  network: visa
5
5
  currency: united-miles
6
- last_verified: 2026-10-26
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://creditcards.chase.com/travel-credit-cards/united/united-quest
10
10
  - https://www.chase.com/personal/credit-cards/rewards-category-faq
@@ -27,7 +27,7 @@ rules:
27
27
  - id: travel
28
28
  match: { categories: [travel] }
29
29
  rate: 2
30
- note: Includes airfare, trains, cruise lines, hotels, car rentals and resorts.
30
+ note: Includes airfare, trains, cruise lines, hotels, car rentals and resorts. Chase's travel category leaves out in-flight and on-board cruise purchases, sightseeing and attractions, merchants inside hotels and airports, and sellers of gift cards, points or miles.
31
31
  - id: transit-as-travel
32
32
  match: { categories: [transit] }
33
33
  rate: 2
@@ -83,3 +83,12 @@ evidence:
83
83
  - rule: streaming
84
84
  url: https://www.chase.com/personal/credit-cards/rewards-category-faq
85
85
  quote: 'Only subscriptions paid for, or purchases made with the following select merchants will qualify for this category'
86
+ - rule: travel
87
+ url: https://www.chase.com/personal/credit-cards/rewards-category-faq
88
+ quote: 'Purchases from gift card merchants or merchants that sell points or miles will not qualify in the travel category'
89
+ - rule: travel
90
+ url: https://www.chase.com/personal/credit-cards/rewards-category-faq
91
+ quote: 'in-flight goods and services, on-board cruise line goods and services, sightseeing activities, excursions, tourist attractions'
92
+ - rule: dining
93
+ url: https://www.chase.com/personal/credit-cards/rewards-category-faq
94
+ quote: 'Delivery and takeout services will be included if they classify as a restaurant merchant'
@@ -3,7 +3,7 @@ name: Citi / AAdvantage Business World Elite Mastercard
3
3
  issuer: citi
4
4
  network: mastercard
5
5
  currency: aadvantage-miles
6
- last_verified: 2026-10-31
6
+ last_verified: 2026-11-01
7
7
  verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
@@ -17,16 +17,16 @@ welcome_offer:
17
17
  points: 75000
18
18
  spend: 5000
19
19
  months: 5
20
- note: "Miles post to the business's AAdvantage Business account. Not available if you received a new account bonus for a Citi / AAdvantage Business account in the past 48 months, or converted another Citi card on which you earned a new account bonus in the last 48 months into one."
20
+ note: "Miles post to the business's AAdvantage Business account. Not available if you received a new account bonus for a Citi / AAdvantage Business account in the past 48 months, or converted another Citi card on which you earned a new account bonus in the last 48 months into one. Citi's terms also exclude anyone who got a new account bonus for a CitiBusiness / AAdvantage Platinum Select account in the past 48 months."
21
21
  rules:
22
22
  - id: american-airlines
23
23
  match: { merchants: [american-airlines] }
24
24
  rate: 2
25
- note: Items billed by American Airlines as the merchant of record. Car rentals, hotel reservations, status boosts or renewals, and AA Cargo don't count.
25
+ note: Items billed by American Airlines as the merchant of record. Car rentals booked on aadvantagecars.com and hotels booked on aadvantagehotels.com don't count.
26
26
  - id: car-rentals
27
27
  match: { categories: [travel.car_rental] }
28
28
  rate: 2
29
- note: Car and truck rental merchants. Not RV or motor home rentals, nor rentals bought through travel agencies, tour operators or third-party travel sites.
29
+ note: Car, truck and van rental merchants. Not RV or motor home rentals, nor rentals bought through travel agencies, tour operators or third-party travel sites, nor car rental redemptions through Rocketmiles.
30
30
  - id: gas-stations
31
31
  match: { categories: [gas] }
32
32
  exclude: { categories: [gas.superstore] }
@@ -49,6 +49,9 @@ evidence:
49
49
  - rule: american-airlines
50
50
  url: https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
51
51
  quote: 'Eligible American Airlines purchases are items billed by American Airlines as the merchant of record.'
52
+ - rule: american-airlines
53
+ url: https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
54
+ quote: 'Products or services that do not qualify are car rentals booked through aadvantagecars.com'
52
55
  - rule: car-rentals
53
56
  url: https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
54
57
  quote: 'Earn 2 AAdvantage® miles for your business on every $1 spent at car rental merchants and gas stations'
@@ -64,6 +67,9 @@ evidence:
64
67
  - rule: telecom-cable-satellite
65
68
  url: https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
66
69
  quote: 'Earn 2 AAdvantage® miles for your business on every $1 spent at telecommunications merchants and cable and satellite providers'
70
+ - rule: telecom-cable-satellite
71
+ url: https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
72
+ quote: 'Cable and satellite providers are classified as merchants that provide the connection and ongoing delivery of television'
67
73
  - rule: annual_fee
68
74
  url: https://www.citi.com/credit-cards/citi-aadvantage-business-credit-card
69
75
  quote: 'The annual fee is $99. However, this fee is waived for the first 12 months.'
@@ -3,17 +3,17 @@ name: Citi / AAdvantage Executive World Legend Mastercard
3
3
  issuer: citi
4
4
  network: mastercard
5
5
  currency: aadvantage-miles
6
- last_verified: 2026-10-26
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
10
10
  base_rate: 1
11
11
  annual_fee: 695
12
12
  welcome_offer:
13
- points: 125000
14
- spend: 15000
15
- months: 5
16
- note: 'Citi labels it a limited time offer but states no end date. Not available if you received a new account bonus for a Citi / AAdvantage Executive account in the past 48 months, or converted another Citi card on which you earned a new account bonus in the last 48 months into one.'
13
+ points: 80000
14
+ spend: 8000
15
+ months: 3
16
+ note: 'Not available if you received a new account bonus for a Citi / AAdvantage Executive account in the past 48 months, or converted another Citi card on which you earned a new account bonus in the last 48 months into one.'
17
17
  rules:
18
18
  - id: aadvantage-hotels
19
19
  match: { merchants: [aadvantage-hotels] }
@@ -22,7 +22,7 @@ rules:
22
22
  - id: aadvantage-cars
23
23
  match: { merchants: [aadvantage-cars] }
24
24
  rate: 12
25
- note: Car rentals booked on aadvantagecars.com from a U.S., Canada or Mexico point of sale. Payless rentals don't count. Only the part paid with the card earns.
25
+ note: Car rentals booked on aadvantagecars.com from a U.S., Canada or Mexico point of sale. Payless rentals and rentals booked through American Airlines Vacations don't count. Only the part paid with the card earns.
26
26
  - id: american-airlines
27
27
  match: { merchants: [american-airlines] }
28
28
  rate: 4
@@ -57,7 +57,7 @@ evidence:
57
57
  quote: 'Annual fee: $695. Annual fee for Authorized Users: $175'
58
58
  - rule: welcome_offer
59
59
  url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
60
- quote: 'Earn 125,000 AAdvantage® bonus miles after $15,000 in purchases in the first 5 months'
60
+ quote: 'Earn 80,000 AAdvantage® bonus miles after $8,000 in purchases in the first 3 months'
61
61
  - rule: welcome_offer
62
62
  url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
63
63
  quote: 'new account bonus for a Citi® / AAdvantage® Executive account in the past 48 months'
@@ -1,10 +1,12 @@
1
1
  id: citi-aadvantage-mileup
2
2
  name: American Airlines AAdvantage MileUp Card
3
3
  issuer: citi
4
+ # The card page's ID Theft Protection terms have cardholders enroll "with your
5
+ # Citibank Mastercard", and its footer carries the Mastercard trademark notice.
4
6
  network: mastercard
5
7
  currency: aadvantage-miles
6
- last_verified: 2026-10-26
7
- verified_by: collin
8
+ last_verified: 2026-11-01
9
+ verified_by: claude
8
10
  source_urls:
9
11
  - https://www.citi.com/credit-cards/aadvantage-mile-up-credit-card
10
12
  base_rate: 1
@@ -25,8 +27,6 @@ rules:
25
27
  rate: 2
26
28
  note: Supermarkets, meat and dairy stores, convenience stores, markets, specialty food vendors, bakeries and grocery delivery services. Not superstores, warehouse clubs, candy stores, cafes, bars or fast food.
27
29
  # Not modeled: 25% off inflight food and drink. Miles also earn Loyalty Points toward status, which aren't card earnings.
28
- todo:
29
- - Network set to mastercard, but the card page doesn't state it. Check your card.
30
30
  evidence:
31
31
  - rule: base_rate
32
32
  url: https://www.citi.com/credit-cards/aadvantage-mile-up-credit-card
@@ -46,6 +46,9 @@ evidence:
46
46
  - rule: grocery-stores
47
47
  url: https://www.citi.com/credit-cards/aadvantage-mile-up-credit-card
48
48
  quote: 'discount superstores, wholesale'
49
+ - rule: grocery-stores
50
+ url: https://www.citi.com/credit-cards/aadvantage-mile-up-credit-card
51
+ quote: 'confectionery stores, cafes, bars, lounges, and fast food restaurants'
49
52
  - rule: annual_fee
50
53
  url: https://www.citi.com/credit-cards/aadvantage-mile-up-credit-card
51
54
  quote: 'Annual Fee - None. Fee for Foreign Purchases - 3%'
@@ -3,7 +3,7 @@ name: Citi / AAdvantage Platinum Select World Elite Mastercard
3
3
  issuer: citi
4
4
  network: mastercard
5
5
  currency: aadvantage-miles
6
- last_verified: 2026-10-31
6
+ last_verified: 2026-11-01
7
7
  verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-aadvantage-platinum-elite-credit-card
@@ -3,7 +3,7 @@ name: Costco Anywhere Visa Business Card by Citi
3
3
  issuer: citi
4
4
  network: visa
5
5
  currency: cash
6
- last_verified: 2026-10-31
6
+ last_verified: 2026-11-01
7
7
  verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/costco-anywhere-visa-business-card
@@ -32,7 +32,7 @@ rules:
32
32
  exclude: { categories: [gas.superstore, gas.grocery_store] }
33
33
  rate: 4
34
34
  cap: gas-and-ev-combined
35
- note: Other eligible gas and EV charging worldwide. Gas or EV charging at some superstores, supermarkets and warehouse clubs other than Costco, and fuel for non-automobile use, earn 1%. Citi keeps a list of excluded merchants at citi.com/Costco_Exclusions.
35
+ note: Other eligible gas and EV charging worldwide. Gas or EV charging at some superstores, supermarkets and warehouse clubs other than Costco, and fuel for non-automobile use, earn 1%. Citi keeps a list of excluded merchants at citi.com/Costco_Exclusions (a PDF naming Walmart, Sam's Club, BJ's, Target, Meijer, Kroger, Albertsons, Safeway and other grocers).
36
36
  - id: restaurants
37
37
  match: { categories: [dining] }
38
38
  rate: 3
@@ -78,6 +78,9 @@ evidence:
78
78
  - rule: costco-travel
79
79
  url: https://www.citi.com/credit-cards/costco-anywhere-visa-business-card
80
80
  quote: 'On restaurants and eligible travel, including Costco Travel'
81
+ - rule: restaurants
82
+ url: https://www.citi.com/credit-cards/costco-anywhere-visa-business-card
83
+ quote: 'for purchases made at bakeries and certain restaurants'
81
84
  - rule: costco
82
85
  url: https://www.citi.com/credit-cards/costco-anywhere-visa-business-card
83
86
  quote: '2% cash back on all other purchases from Costco and Costco.com'
@@ -3,8 +3,8 @@ name: Costco Anywhere Visa Card by Citi
3
3
  issuer: citi
4
4
  network: visa
5
5
  currency: cash
6
- last_verified: 2026-10-26
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-costco-anywhere-visa-credit-card
10
10
  - https://www.costco.com/join-costco.html
@@ -31,7 +31,7 @@ rules:
31
31
  exclude: { categories: [gas.superstore, gas.grocery_store] }
32
32
  rate: 4
33
33
  cap: gas-and-ev-combined
34
- note: Other eligible gas and EV charging worldwide. Gas or EV charging at superstores, supermarkets and warehouse clubs other than Costco, and fuel for non-automobile use, earn 1%. Citi keeps a list of excluded merchants at citi.com/Costco_Exclusions.
34
+ note: Other eligible gas and EV charging worldwide. Gas or EV charging at some superstores, supermarkets and warehouse clubs other than Costco, and fuel for non-automobile use, earn 1%. Citi keeps a list of excluded merchants at citi.com/Costco_Exclusions (a PDF naming Walmart, Sam's Club, BJ's, Target, Meijer, Kroger, Albertsons, Safeway and other grocers).
35
35
  - id: restaurants
36
36
  match: { categories: [dining] }
37
37
  rate: 3
@@ -77,6 +77,9 @@ evidence:
77
77
  - rule: costco-travel
78
78
  url: https://www.citi.com/credit-cards/citi-costco-anywhere-visa-credit-card
79
79
  quote: 'On restaurants and eligible travel, including Costco Travel'
80
+ - rule: restaurants
81
+ url: https://www.citi.com/credit-cards/citi-costco-anywhere-visa-credit-card
82
+ quote: 'for purchases made at bakeries and certain restaurants'
80
83
  - rule: costco
81
84
  url: https://www.citi.com/credit-cards/citi-costco-anywhere-visa-credit-card
82
85
  quote: '2% cash back on all other purchases from Costco and Costco.com'
@@ -3,8 +3,8 @@ name: Citi Custom Cash Card
3
3
  issuer: citi
4
4
  network: mastercard
5
5
  currency: cash
6
- last_verified: 2026-10-26
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  applications_closed: 2026-05-28
9
9
  # Existing cardmembers keep the card and its rewards. The card page no longer
10
10
  # lists the categories, so the definitions come from the card's current
@@ -61,19 +61,29 @@ choices:
61
61
  home-improvement-stores: [home_improvement]
62
62
  fitness-clubs: [fitness]
63
63
  live-entertainment: [entertainment]
64
+ caps:
65
+ # Only one category earns 5% each billing cycle, so both 5% rules share it.
66
+ - id: top-category
67
+ amount: 500
68
+ period: month
69
+ then_rate: 1
64
70
  rules:
71
+ # Restaurant exclusions only apply when restaurants are the top category:
72
+ # Dodger Stadium tickets still count as live entertainment, and the
73
+ # Bellagio's rooms as select travel.
74
+ - id: top-category-restaurants
75
+ match: { choice: top-category, categories: [dining] }
76
+ exclude: { merchants: [doordash, uber-eats, dodger-stadium, bellagio] }
77
+ rate: 5
78
+ cap: top-category
79
+ note: When restaurants are the top category. Includes cafes, bars, lounges and fast food. Excludes bakeries, caterers, restaurants inside another business (hotels, stores, stadiums, grocery stores, warehouse clubs) and third-party dining delivery services. The first $500 in the billing cycle, then 1%.
65
80
  - id: top-category
66
81
  match: { choice: top-category }
67
- # Third-party dining delivery doesn't count as restaurants; gas at
68
- # warehouse clubs and discount stores doesn't count as gas.
69
- exclude:
70
- {
71
- categories: [gas.superstore],
72
- merchants: [doordash, uber-eats, dodger-stadium, bellagio],
73
- }
82
+ # Gas at warehouse clubs and discount stores doesn't count as gas.
83
+ exclude: { categories: [dining, gas.superstore] }
74
84
  rate: 5
75
- cap: { amount: 500, period: month, then_rate: 1 }
76
- note: Citi applies 5% automatically to your highest-spend eligible category each billing cycle (its decision is final), on the first $500 spent, then 1%. Grocery includes supermarkets, meat/seafood and dairy stores, bakeries and convenience stores, but not superstores or warehouse clubs. Select travel is airlines, hotels, cruise lines and travel agencies. Select transit includes car rentals, rail, subways, taxis and car services, tolls, parking, buses and EV charging. Streaming bundled with another product or billed by a third party doesn't count.
85
+ cap: top-category
86
+ note: Citi applies 5% automatically to your highest-spend eligible category each billing cycle (its decision is final), on the first $500 spent, then 1%. Grocery includes supermarkets, meat/seafood and dairy stores, bakeries and convenience stores, but not superstores, warehouse clubs or candy stores; online grocery and grocery delivery count only if the merchant codes as a supermarket. Select travel is airlines, hotels, cruise lines and travel agencies, not timeshares or campgrounds. Select transit includes car rentals, rail, subways, taxis and car services, tolls, parking, buses and EV charging, not bike or scooter rentals. Streaming bundled with another product or billed by a third party doesn't count. Live entertainment excludes movie theaters, museums and tourist attractions.
77
87
  - id: citi-travel-hotels-cars-attractions
78
88
  match:
79
89
  {
@@ -85,7 +95,7 @@ rules:
85
95
  ],
86
96
  }
87
97
  rate: 5
88
- note: 4 extra points per $1 on top of the 1% base, for hotels, car rentals and attractions booked with Citi Travel. Citi's terms don't say whether the extra 4 also stacks on the 5% when travel or transit is the top category.
98
+ note: 4 extra points per $1 on top of the 1% base, for hotels, car rentals and attractions booked with Citi Travel. Only the part paid with the card earns, and canceled bookings don't. Citi's terms don't say whether the extra 4 also stacks on the 5% when travel or transit is the top category.
89
99
  todo:
90
100
  - Network set to mastercard, but no current Citi page states it (the card page is now a "Not Available" stub). Check your card.
91
101
  - Travel agencies (MCC 4722) count toward select travel, but a choice option can only list categories or merchants, so they aren't in the option.
@@ -114,6 +124,27 @@ evidence:
114
124
  - rule: top-category
115
125
  url: https://www.thankyou.com/ccterms
116
126
  quote: 'Citibank shall have the sole right to determine the highest spend category each billing cycle'
127
+ - rule: top-category-restaurants
128
+ url: https://www.thankyou.com/ccterms
129
+ quote: 'Includes purchases at cafes, bars, lounges and fast food restaurants.'
130
+ - rule: top-category-restaurants
131
+ url: https://www.thankyou.com/ccterms
132
+ quote: 'Excludes purchases at bakeries, caterers, restaurants located inside another business'
133
+ - rule: top-category-restaurants
134
+ url: https://www.thankyou.com/ccterms
135
+ quote: 'and third party dining delivery services'
136
+ - rule: top-category
137
+ url: https://www.thankyou.com/ccterms
138
+ quote: 'Excludes gasoline purchases at warehouse clubs, discount stores, convenience stores'
139
+ - rule: top-category
140
+ url: https://www.thankyou.com/ccterms
141
+ quote: 'Excludes purchases at general merchandise/discount superstores; wholesale/warehouse clubs'
142
+ - rule: top-category
143
+ url: https://www.thankyou.com/ccterms
144
+ quote: 'if the charge is bundled with another product, membership, or service'
145
+ - rule: citi-travel-hotels-cars-attractions
146
+ url: https://www.thankyou.com/ccterms
147
+ quote: 'only the portion paid with your card will earn points'
117
148
  - rule: citi-travel-hotels-cars-attractions
118
149
  url: https://www.citi.com/credit-cards/citi-custom-cash-credit-card
119
150
  quote: 'additional 4% cash back on hotels, car rentals, and attractions booked with Citi Travel'
@@ -3,8 +3,8 @@ name: Citi Double Cash Card
3
3
  issuer: citi
4
4
  network: mastercard
5
5
  currency: cash
6
- last_verified: 2026-10-26
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-double-cash-credit-card
10
10
  - https://www.thankyou.com/dcterms
@@ -36,7 +36,7 @@ rules:
36
36
  ],
37
37
  }
38
38
  rate: 5
39
- note: 3 extra points per $1 on top of the 1 on purchase and 1 on payment, for hotels, car rentals and attractions booked with Citi Travel. Flights booked through Citi Travel earn the base 2%.
39
+ note: 3 extra points per $1 on top of the 1 on purchase and 1 on payment, for hotels, car rentals and attractions booked with Citi Travel. Flights booked through Citi Travel earn the base 2%. Only the part paid with the card earns, and canceled bookings don't.
40
40
  # Issuer text backing each rule; `yarn check-sources` checks it weekly.
41
41
  evidence:
42
42
  - rule: base_rate
@@ -54,6 +54,12 @@ evidence:
54
54
  - rule: citi-travel-hotels-cars-attractions
55
55
  url: https://www.citi.com/credit-cards/citi-double-cash-credit-card
56
56
  quote: 'this totals 5 ThankYou Points per dollar'
57
+ - rule: citi-travel-hotels-cars-attractions
58
+ url: https://www.thankyou.com/dcterms
59
+ quote: '3 additional ThankYou Points for each $1 spent on hotels, car rentals and attractions booked with Citi Travel'
60
+ - rule: citi-travel-hotels-cars-attractions
61
+ url: https://www.thankyou.com/dcterms
62
+ quote: 'only the portion paid with your card will earn points'
57
63
  - rule: pools_into
58
64
  url: https://www.thankyou.com/dcterms
59
65
  quote: 'You can combine them into one ThankYou Account'
@@ -3,8 +3,8 @@ name: My Best Buy Visa Card
3
3
  issuer: citi
4
4
  network: visa
5
5
  currency: best-buy-rewards
6
- last_verified: 2026-10-24
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-best-buy-credit-cards
10
10
  # Rates are points per dollar. A point is worth 2¢ in Best Buy rewards, so 2.5
@@ -15,7 +15,7 @@ rules:
15
15
  - id: best-buy
16
16
  match: { merchants: [best-buy, pacific-kitchen-home] }
17
17
  rate: 2.5
18
- note: Only when paying with Standard Credit, not a financing plan. My Best Buy Plus/Total members also earn the membership's own rewards, counted separately.
18
+ note: Only when paying with Standard Credit, not a financing plan; tax doesn't earn. My Best Buy Plus/Total members also earn the membership's own rewards, counted separately.
19
19
  - id: gas
20
20
  match: { categories: [gas] }
21
21
  rate: 1.5
@@ -38,6 +38,9 @@ evidence:
38
38
  - rule: best-buy
39
39
  url: https://www.citi.com/credit-cards/citi-best-buy-credit-cards
40
40
  quote: 'or Pacific Kitchen & Home'
41
+ - rule: best-buy
42
+ url: https://www.citi.com/credit-cards/citi-best-buy-credit-cards
43
+ quote: 'are only awarded when you select Standard Credit'
41
44
  - rule: gas
42
45
  url: https://www.citi.com/credit-cards/citi-best-buy-credit-cards
43
46
  quote: 'per $1 spent at gas stations (3% back in rewards)'
@@ -3,10 +3,11 @@ name: Citi Strata Elite Card
3
3
  issuer: citi
4
4
  network: mastercard
5
5
  currency: TYP
6
- last_verified: 2026-10-26
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-strata-elite-credit-card
10
+ - https://www.thankyou.com/terms
10
11
  base_rate: 1.5
11
12
  annual_fee: 595
12
13
  welcome_offer:
@@ -53,12 +54,21 @@ evidence:
53
54
  - rule: citi-travel-air
54
55
  url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
55
56
  quote: '6 points per dollar spent on Air Travel booked on cititravel.com'
57
+ - rule: citi-travel-air
58
+ url: https://www.thankyou.com/terms
59
+ quote: '6 ThankYou Points for each $1 spent on air travel booked through Citi Travel'
56
60
  - rule: restaurants
57
61
  url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
58
62
  quote: '3 points per dollar spent at Restaurants any other time'
59
63
  - rule: restaurants
60
64
  url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
61
65
  quote: 'Excludes purchases at bakeries, caterers, and restaurants located inside another business'
66
+ - rule: restaurants
67
+ url: https://www.thankyou.com/terms
68
+ quote: '3 ThankYou Points for each $1 spent at restaurants, including restaurant delivery services'
69
+ - rule: restaurants
70
+ url: https://www.thankyou.com/terms
71
+ quote: 'Citi Nights eligibility is based on the day and time your restaurant purchase is authorized'
62
72
  - rule: annual_fee
63
73
  url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
64
74
  quote: 'Minimum interest charge – $0.50. Annual fee - $595.'
@@ -3,10 +3,11 @@ name: Citi Strata Premier Card
3
3
  issuer: citi
4
4
  network: mastercard
5
5
  currency: TYP
6
- last_verified: 2026-10-26
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.citi.com/credit-cards/citi-strata-premier-credit-card
10
+ - https://www.thankyou.com/terms
10
11
  base_rate: 1
11
12
  annual_fee: 95
12
13
  welcome_offer:
@@ -60,6 +61,9 @@ evidence:
60
61
  - rule: citi-travel-hotels-cars-attractions
61
62
  url: https://www.citi.com/credit-cards/citi-strata-premier-credit-card
62
63
  quote: '10 points per dollar spent on Hotels, Car Rentals and Attractions booked on cititravel.com'
64
+ - rule: citi-travel-hotels-cars-attractions
65
+ url: https://www.thankyou.com/terms
66
+ quote: 'you won’t earn points on the portion of the purchase that is offset by the benefit'
63
67
  - rule: air-travel-and-other-hotels
64
68
  url: https://www.citi.com/credit-cards/citi-strata-premier-credit-card
65
69
  quote: '3 points per dollar spent on Air Travel and Other Hotel Purchases'
@@ -72,12 +76,30 @@ evidence:
72
76
  - rule: restaurants
73
77
  url: https://www.citi.com/credit-cards/citi-strata-premier-credit-card
74
78
  quote: '3 points per dollar spent at Restaurants'
79
+ - rule: restaurants
80
+ url: https://www.thankyou.com/terms
81
+ quote: 'fast-food restaurants, restaurant delivery services, and take out restaurants'
82
+ - rule: restaurants
83
+ url: https://www.thankyou.com/terms
84
+ quote: 'Excludes purchases at bakeries, caterers, and restaurants located inside another business'
75
85
  - rule: supermarkets
76
86
  url: https://www.citi.com/credit-cards/citi-strata-premier-credit-card
77
87
  quote: '3 points per dollar spent at Supermarkets'
88
+ - rule: supermarkets
89
+ url: https://www.thankyou.com/terms
90
+ quote: 'Excludes purchases made at general merchandise/discount superstores; freezer/meat locker provisioners'
91
+ - rule: supermarkets
92
+ url: https://www.thankyou.com/terms
93
+ quote: 'drugstores; warehouse/wholesale clubs; specialty food markets; bakeries'
94
+ - rule: supermarkets
95
+ url: https://www.thankyou.com/terms
96
+ quote: 'if the merchant does not classify itself as a supermarket by using the supermarket merchant code'
78
97
  - rule: gas-and-ev-charging
79
98
  url: https://www.citi.com/credit-cards/citi-strata-premier-credit-card
80
99
  quote: '3 points per dollar spent on Gas & EV Charging Stations'
100
+ - rule: gas-and-ev-charging
101
+ url: https://www.thankyou.com/terms
102
+ quote: 'Excludes gas and EV charging purchases at warehouse clubs, discount stores, department stores, convenience stores'
81
103
  - rule: annual_fee
82
104
  url: https://www.citi.com/credit-cards/citi-strata-premier-credit-card
83
105
  quote: 'Annual fee - $95. Fee for foreign purchases - None.'
@@ -3,17 +3,19 @@ name: SoFi Unlimited 2% Credit Card
3
3
  issuer: sofi
4
4
  network: mastercard
5
5
  currency: sofi-rewards
6
- last_verified: 2026-10-24
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.sofi.com/credit-card/unlimited/
10
+ - https://www.sofi.com/card/rewards?cardType=c
11
+ - https://www.sofi.com/card/terms?cardType=c
10
12
  base_rate: 2
11
13
  annual_fee: 0
12
14
  rules:
13
15
  - id: sofi-travel
14
16
  match: { merchants: [sofi-travel] }
15
17
  rate: 3
16
- note: Trips booked through the SoFi Travel portal (run by Expedia).
18
+ note: Trips booked through the SoFi Travel portal (run by Expedia), reached from SoFi's website or app. Booking on Expedia's own site or app doesn't count.
17
19
  # Issuer text backing each rule; `yarn check-sources` checks it weekly.
18
20
  evidence:
19
21
  - rule: base_rate
@@ -22,8 +24,20 @@ evidence:
22
24
  - rule: sofi-travel
23
25
  url: https://www.sofi.com/credit-card/unlimited/
24
26
  quote: 'equal to 3% of the total amount you spend'
27
+ - rule: base_rate
28
+ url: https://www.sofi.com/card/rewards?cardType=c
29
+ quote: 'You will earn 2 SoFi Rewards Point for each dollar ($1.00) you spend on your SoFi Credit Card.'
30
+ - rule: sofi-travel
31
+ url: https://www.sofi.com/card/rewards?cardType=c
32
+ quote: 'You will earn 3% cash back Rewards Points for SoFi Travel purchases.'
33
+ - rule: sofi-travel
34
+ url: https://www.sofi.com/credit-card/unlimited/
35
+ quote: 'Travel booked directly on Expedia’s website or app, or any other site operated or powered by Expedia is not eligible.'
25
36
  - rule: annual_fee
26
37
  url: https://www.sofi.com/credit-card/unlimited/
27
38
  quote: 'you’ll pay no annual fee whatsoever'
39
+ - rule: annual_fee
40
+ url: https://www.sofi.com/card/terms?cardType=c
41
+ quote: 'FEES Annual Fee None Transaction Fees'
28
42
  todo:
29
43
  - 'No public welcome offer: the page says the card is currently invite only (apply with a mailed reservation code), and shows no bonus.'
@@ -4,8 +4,8 @@ issuer: td-bank
4
4
  network: store
5
5
  only_at: [nordstrom, nordstrom-rack]
6
6
  currency: nordy-club
7
- last_verified: 2026-10-26
8
- verified_by: collin
7
+ last_verified: 2026-11-01
8
+ verified_by: claude
9
9
  source_urls:
10
10
  - https://www.nordstrom.com/browse/nordy-club
11
11
  - https://www.nordstrom.com/browse/nordy-club/faq
@@ -27,7 +27,7 @@ rules:
27
27
  - id: nordstrom
28
28
  match: { merchants: [nordstrom] }
29
29
  rate: 1
30
- note: Card's own share only. Cardmembers start at Influencer status and earn 2 points per dollar at Nordstrom and Nordstrom.com, 1 of which any member earns paying any way. Paid through Apple Pay, Google Pay or PayPal it's 1 point per dollar, so nothing extra.
30
+ note: Card's own share only. Cardmembers start at Influencer status and earn 2 points per dollar at Nordstrom and Nordstrom.com, 1 of which any member earns paying any way. Apple Pay and Google Pay with the card still earn the full rate; through PayPal or another third-party processor, or another contactless method, it's 1 point per dollar, so nothing extra.
31
31
  - id: nordstrom-ambassador
32
32
  match: { merchants: [nordstrom] }
33
33
  rate: 2
@@ -71,3 +71,12 @@ evidence:
71
71
  - rule: not_with
72
72
  url: https://www.nordstrom.com/becomecardmember
73
73
  quote: 'Current and previous Nordstrom credit cardmembers and Nordstrom employees are not eligible for this offer'
74
+ - rule: nordstrom
75
+ url: https://www.nordstrom.com/browse/nordy-club/faq
76
+ quote: "If you use your Nordstrom card via Google Pay or Apple Pay, you'll earn your standard Nordy Club base points"
77
+ - rule: nordstrom
78
+ url: https://www.nordstrom.com/browse/nordy-club/terms-conditions
79
+ quote: 'For purchases made with a third-party payment processor, including those linked to a Nordstrom credit or debit card'
80
+ - rule: nordstrom-rack
81
+ url: https://www.nordstrom.com/browse/nordy-club/terms-conditions
82
+ quote: 'Eligible purchases exclude gift cards, alterations, charitable donations, taxes, shipping fees'
@@ -3,8 +3,8 @@ name: Nordstrom Visa Credit Card
3
3
  issuer: td-bank
4
4
  network: visa
5
5
  currency: nordy-club
6
- last_verified: 2026-10-26
7
- verified_by: collin
6
+ last_verified: 2026-11-01
7
+ verified_by: claude
8
8
  source_urls:
9
9
  - https://www.nordstrom.com/browse/nordy-club
10
10
  - https://www.nordstrom.com/browse/nordy-club/faq
@@ -25,7 +25,7 @@ rules:
25
25
  - id: nordstrom
26
26
  match: { merchants: [nordstrom] }
27
27
  rate: 1
28
- note: Card's own share only. Cardmembers start at Influencer status and earn 2 points per dollar at Nordstrom and Nordstrom.com, 1 of which any member earns paying any way. Paid through Apple Pay, Google Pay or PayPal it's 1 point per dollar, so nothing extra.
28
+ note: Card's own share only. Cardmembers start at Influencer status and earn 2 points per dollar at Nordstrom and Nordstrom.com, 1 of which any member earns paying any way. Apple Pay and Google Pay with the card still earn the full rate; through PayPal or another third-party processor, or another contactless method, it's 1 point per dollar, so nothing extra.
29
29
  - id: nordstrom-ambassador
30
30
  match: { merchants: [nordstrom] }
31
31
  rate: 2
@@ -51,6 +51,10 @@ rules:
51
51
  match: { categories: [dining] }
52
52
  rate: 2
53
53
  note: Includes fast food, bars, caterers and third-party delivery. Restaurants inside Nordstrom earn as Nordstrom purchases.
54
+ - id: caterers
55
+ match: { mccs: [5811] }
56
+ rate: 2
57
+ note: Caterers count as dining.
54
58
  - id: streaming
55
59
  match: { categories: [streaming, tv_internet] }
56
60
  rate: 2
@@ -107,3 +111,15 @@ evidence:
107
111
  - rule: not_with
108
112
  url: https://www.nordstrom.com/becomecardmember
109
113
  quote: 'Current and previous Nordstrom credit cardmembers and Nordstrom employees are not eligible for this offer'
114
+ - rule: nordstrom
115
+ url: https://www.nordstrom.com/browse/nordy-club/faq
116
+ quote: "If you use your Nordstrom card via Google Pay or Apple Pay, you'll earn your standard Nordy Club base points"
117
+ - rule: nordstrom
118
+ url: https://www.nordstrom.com/browse/nordy-club/terms-conditions
119
+ quote: 'For purchases made with a third-party payment processor, including those linked to a Nordstrom credit or debit card'
120
+ - rule: nordstrom-rack
121
+ url: https://www.nordstrom.com/browse/nordy-club/terms-conditions
122
+ quote: 'Eligible purchases exclude gift cards, alterations, charitable donations, taxes, shipping fees'
123
+ - rule: caterers
124
+ url: https://www.nordstrom.com/browse/nordy-club/terms-conditions
125
+ quote: 'cocktail lounges, caterers, fast-food locations, and third-party restaurant delivery and takeout services'
@@ -4,8 +4,8 @@ issuer: td-bank
4
4
  network: store
5
5
  only_at: [target]
6
6
  currency: cash
7
- last_verified: 2026-10-26
8
- verified_by: collin
7
+ last_verified: 2026-11-01
8
+ verified_by: claude
9
9
  source_urls:
10
10
  - https://www.target.com/circlecard
11
11
  - https://www.target.com/c/target-circle-card-program-rules/-/N-4tgj0
@@ -17,12 +17,12 @@ welcome_offer:
17
17
  dollars: 50
18
18
  spend: 50
19
19
  months: 2
20
- note: Paid as $50 in Target Circle Rewards, redeemable through Target Circle, not cash. Spend $50 or more on qualifying purchases in-store or at Target.com with the Target Circle Credit Card within 60 days of approval. Not for the Target Circle Debit Card or mail-in applications. Qualifying purchases exclude alcohol and gift cards, among others.
20
+ note: Paid as $50 in Target Circle Rewards, redeemable through Target Circle, not cash. Spend $50 or more on qualifying purchases in-store or at Target.com with the Target Circle Credit Card within 60 days of approval. Not for the Target Circle Debit Card or mail-in applications. Qualifying purchases exclude alcohol, Target GiftCards, prepaid Visa/Mastercard/Amex cards, CVS pharmacy, clinic and Target Optical.
21
21
  rules:
22
22
  - id: target
23
23
  match: { merchants: [target] }
24
24
  rate: 5
25
- note: An instant 5% discount at checkout in Target stores and on Target.com, after other discounts, on the part of the purchase paid with the card. Not on prescriptions, pharmacy-counter items or clinic services, Target Optical eye exams and protection plans (glasses and contacts do count), Target GiftCards or prepaid Visa/Mastercard/Amex cards, Starbucks gift cards bought at in-store Starbucks, Shipt or Target Circle 360 fees, taxes, shipping or other fees.
25
+ note: An instant 5% discount at checkout in Target stores and on Target.com, after other discounts, on the part of the purchase paid with the card. Not on prescriptions, pharmacy-counter items or clinic services, Target Optical eye exams and protection plans (glasses and contacts do count), Target GiftCards, prepaid Visa/Mastercard/Amex cards or sports betting gift cards, Starbucks gift cards bought at in-store Starbucks, Shipt or Target Circle 360 fees, wireless protection plans and carrier deposits, gift wrapping, alcohol in Indiana, taxes, shipping or other fees.
26
26
  todo:
27
27
  - The debit version (Target Circle Debit Card) gets the same 5% discount but isn't modeled as a separate card.
28
28
  - Target considers credit applicants for the Target Mastercard first, which also earns 2% on dining and gas and 1% elsewhere. Not modeled; target.com doesn't say what form those earnings take.
@@ -49,3 +49,12 @@ evidence:
49
49
  - rule: welcome_offer
50
50
  url: https://www.target.com/circlecard
51
51
  quote: 'within 60 days of approval'
52
+ - rule: target
53
+ url: https://www.target.com/c/target-circle-card-program-rules/-/N-4tgj0
54
+ quote: 'Game On, DraftsKings, and other sports betting gift cards'
55
+ - rule: target
56
+ url: https://www.target.com/c/target-circle-card-program-rules/-/N-4tgj0
57
+ quote: 'Wireless protection program purchases and deposits required by mobile carrier'
58
+ - rule: welcome_offer
59
+ url: https://www.target.com/circlecard
60
+ quote: 'Qualifying purchases exclude alcohol, Target GiftCards, Visa, American Express and Mastercard gift cards/prepaid cards'