earnrate 0.2.11 → 0.2.13

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 (158) hide show
  1. package/README.md +37 -12
  2. package/data/CHANGELOG.md +291 -0
  3. package/data/VERSION +1 -1
  4. package/data/cards/amex-blue-business-plus.yaml +1 -0
  5. package/data/cards/amex-blue-cash-everyday.yaml +29 -2
  6. package/data/cards/amex-blue-cash-preferred.yaml +26 -0
  7. package/data/cards/amex-business-gold.yaml +169 -0
  8. package/data/cards/amex-business-platinum.yaml +184 -0
  9. package/data/cards/amex-delta-skymiles-blue.yaml +91 -0
  10. package/data/cards/amex-delta-skymiles-gold.yaml +29 -1
  11. package/data/cards/amex-delta-skymiles-platinum.yaml +35 -1
  12. package/data/cards/amex-delta-skymiles-reserve.yaml +35 -1
  13. package/data/cards/amex-gold.yaml +53 -0
  14. package/data/cards/amex-hilton-honors-aspire.yaml +25 -1
  15. package/data/cards/amex-hilton-honors-business.yaml +106 -0
  16. package/data/cards/amex-hilton-honors-surpass.yaml +16 -1
  17. package/data/cards/amex-hilton-honors.yaml +2 -0
  18. package/data/cards/amex-marriott-bonvoy-bevy.yaml +2 -0
  19. package/data/cards/amex-marriott-bonvoy-brilliant.yaml +17 -1
  20. package/data/cards/amex-marriott-bonvoy-business.yaml +116 -0
  21. package/data/cards/amex-platinum.yaml +111 -0
  22. package/data/cards/apple-card.yaml +76 -0
  23. package/data/cards/bank-of-america-atmos-rewards-ascent.yaml +1 -0
  24. package/data/cards/bank-of-america-atmos-rewards-business.yaml +2 -0
  25. package/data/cards/bank-of-america-atmos-rewards-summit.yaml +1 -0
  26. package/data/cards/bank-of-america-customized-cash-rewards.yaml +34 -1
  27. package/data/cards/bank-of-america-premium-rewards.yaml +134 -0
  28. package/data/cards/bank-of-america-travel-rewards.yaml +123 -0
  29. package/data/cards/bank-of-america-unlimited-cash-rewards.yaml +83 -0
  30. package/data/cards/barclays-jetblue-plus.yaml +86 -0
  31. package/data/cards/bilt-blue.yaml +60 -0
  32. package/data/cards/bilt-obsidian.yaml +13 -2
  33. package/data/cards/bilt-palladium.yaml +86 -0
  34. package/data/cards/caltech-efcu-platinum-mastercard.yaml +50 -0
  35. package/data/cards/capital-one-kohls-card.yaml +1 -0
  36. package/data/cards/capital-one-kohls-rewards-visa.yaml +1 -0
  37. package/data/cards/capital-one-quicksilver.yaml +2 -0
  38. package/data/cards/capital-one-rei-co-op-mastercard.yaml +62 -0
  39. package/data/cards/capital-one-savor.yaml +2 -0
  40. package/data/cards/capital-one-spark-cash-plus.yaml +80 -0
  41. package/data/cards/capital-one-venture-x-business.yaml +124 -0
  42. package/data/cards/capital-one-venture-x.yaml +32 -2
  43. package/data/cards/capital-one-venture.yaml +2 -0
  44. package/data/cards/chase-aeroplan.yaml +16 -0
  45. package/data/cards/chase-freedom-flex.yaml +1 -0
  46. package/data/cards/chase-freedom-rise.yaml +29 -0
  47. package/data/cards/chase-freedom-unlimited.yaml +1 -0
  48. package/data/cards/chase-ihg-one-rewards-business.yaml +28 -1
  49. package/data/cards/chase-ihg-one-rewards-premier-select.yaml +18 -0
  50. package/data/cards/chase-ihg-one-rewards-premier.yaml +16 -0
  51. package/data/cards/chase-ihg-one-rewards.yaml +1 -0
  52. package/data/cards/chase-ink-business-cash.yaml +14 -0
  53. package/data/cards/chase-ink-business-preferred.yaml +1 -0
  54. package/data/cards/chase-ink-business-unlimited.yaml +80 -0
  55. package/data/cards/chase-marriott-bonvoy-bold.yaml +1 -0
  56. package/data/cards/chase-marriott-bonvoy-boundless.yaml +2 -0
  57. package/data/cards/chase-prime-visa.yaml +1 -0
  58. package/data/cards/chase-sapphire-preferred.yaml +12 -0
  59. package/data/cards/chase-sapphire-reserve.yaml +45 -4
  60. package/data/cards/chase-southwest-performance-business.yaml +2 -0
  61. package/data/cards/chase-southwest-plus.yaml +2 -0
  62. package/data/cards/chase-southwest-premier-business.yaml +2 -0
  63. package/data/cards/chase-southwest-premier.yaml +2 -0
  64. package/data/cards/chase-southwest-priority.yaml +2 -0
  65. package/data/cards/chase-united-business.yaml +33 -0
  66. package/data/cards/chase-united-club-business.yaml +41 -0
  67. package/data/cards/chase-united-club.yaml +41 -0
  68. package/data/cards/chase-united-explorer.yaml +33 -0
  69. package/data/cards/chase-united-gateway.yaml +1 -0
  70. package/data/cards/chase-united-quest.yaml +41 -0
  71. package/data/cards/citi-aadvantage-business.yaml +2 -0
  72. package/data/cards/citi-aadvantage-executive.yaml +28 -1
  73. package/data/cards/citi-aadvantage-globe.yaml +2 -0
  74. package/data/cards/citi-aadvantage-mileup.yaml +2 -0
  75. package/data/cards/citi-aadvantage-platinum-select.yaml +2 -0
  76. package/data/cards/citi-costco-anywhere-visa-business.yaml +2 -0
  77. package/data/cards/citi-costco-anywhere-visa.yaml +2 -0
  78. package/data/cards/citi-custom-cash.yaml +1 -0
  79. package/data/cards/citi-double-cash.yaml +1 -0
  80. package/data/cards/citi-my-best-buy-visa.yaml +1 -0
  81. package/data/cards/citi-strata-elite.yaml +21 -1
  82. package/data/cards/citi-strata-premier.yaml +1 -0
  83. package/data/cards/citi-strata.yaml +164 -0
  84. package/data/cards/discover-it-cash-back.yaml +22 -3
  85. package/data/cards/fidelity-rewards-visa-signature.yaml +60 -0
  86. package/data/cards/navy-federal-cash-rewards-plus.yaml +61 -0
  87. package/data/cards/navy-federal-cash-rewards.yaml +60 -0
  88. package/data/cards/navy-federal-more-rewards-amex.yaml +92 -0
  89. package/data/cards/paypal-cashback-mastercard.yaml +52 -0
  90. package/data/cards/penfed-power-cash-rewards.yaml +47 -0
  91. package/data/cards/sams-club-mastercard.yaml +68 -0
  92. package/data/cards/sofi-unlimited-2.yaml +1 -0
  93. package/data/cards/td-bank-nordstrom-credit-card.yaml +1 -0
  94. package/data/cards/td-bank-nordstrom-visa.yaml +1 -0
  95. package/data/cards/td-bank-target-circle-card.yaml +1 -0
  96. package/data/cards/usbank-altitude-connect.yaml +156 -0
  97. package/data/cards/usbank-altitude-go.yaml +124 -0
  98. package/data/cards/usbank-cash-plus.yaml +1 -0
  99. package/data/cards/usbank-smartly.yaml +107 -0
  100. package/data/cards/venmo-credit-card.yaml +151 -0
  101. package/data/cards/verizon-visa-card.yaml +122 -0
  102. package/data/cards/wells-fargo-active-cash.yaml +1 -0
  103. package/data/cards/wells-fargo-autograph-journey.yaml +73 -0
  104. package/data/cards/wells-fargo-autograph.yaml +1 -0
  105. package/data/categories.yaml +3 -1
  106. package/data/currencies.yaml +48 -0
  107. package/data/issuers.yaml +44 -1
  108. package/data/memberships.yaml +45 -0
  109. package/data/merchants/overrides.yaml +947 -1
  110. package/data/merchants/seed.yaml +1916 -62
  111. package/dist/cli/args.js +18 -0
  112. package/dist/cli/explore.js +10 -1
  113. package/dist/cli/import.js +2 -2
  114. package/dist/cli/run.js +4 -1
  115. package/dist/cli/wallet.js +37 -3
  116. package/dist/data/file-store.js +5 -2
  117. package/dist/data/integrity.js +59 -0
  118. package/dist/data/store.js +4 -1
  119. package/dist/data/wallet-edit.js +28 -7
  120. package/dist/engine/cheat-sheet.js +17 -5
  121. package/dist/engine/checklist.js +38 -6
  122. package/dist/engine/credits.js +65 -0
  123. package/dist/engine/evaluate.js +57 -18
  124. package/dist/engine/explore.js +70 -7
  125. package/dist/engine/intro.js +36 -0
  126. package/dist/engine/offers.js +2 -1
  127. package/dist/engine/periods.js +10 -3
  128. package/dist/engine/recommend.js +101 -20
  129. package/dist/engine/record.js +43 -1
  130. package/dist/engine/rotation.js +3 -0
  131. package/dist/engine/rule-text.js +28 -3
  132. package/dist/engine/setup.js +20 -3
  133. package/dist/engine/simulate.js +10 -1
  134. package/dist/engine/text.js +107 -0
  135. package/dist/engine/wallet-change.js +57 -4
  136. package/dist/engine/wallet-summary.js +54 -6
  137. package/dist/format/card-art.js +21 -0
  138. package/dist/format/card-text.js +4 -3
  139. package/dist/format/cards.js +1 -0
  140. package/dist/format/cheat-sheet.js +2 -0
  141. package/dist/format/explore.js +20 -4
  142. package/dist/format/recommendation.js +6 -2
  143. package/dist/format/wallet-yaml.js +1 -0
  144. package/dist/format/wallet.js +15 -5
  145. package/dist/import/analyze.js +8 -2
  146. package/dist/mcp/inputs.js +13 -0
  147. package/dist/mcp/prompts.js +9 -1
  148. package/dist/mcp/schemas.js +87 -1
  149. package/dist/mcp/tools/account.js +3 -1
  150. package/dist/mcp/tools/answers.js +9 -4
  151. package/dist/mcp/tools/wallet.js +20 -8
  152. package/dist/merchants/resolve.js +8 -0
  153. package/dist/schema/card.js +60 -3
  154. package/dist/schema/common.js +1 -1
  155. package/dist/schema/issuer.js +4 -0
  156. package/dist/schema/merchant.js +3 -0
  157. package/dist/schema/wallet.js +11 -0
  158. package/package.json +12 -3
@@ -1,5 +1,6 @@
1
1
  id: chase-united-quest
2
2
  name: United Quest Card
3
+ color: '#253a5c'
3
4
  issuer: chase
4
5
  network: visa
5
6
  currency: united-miles
@@ -80,6 +81,31 @@ milestones:
80
81
  note: 'For the primary cardmember, on tickets bought with the card. Chase says to allow 6-8 weeks for them to post; use them within 12 months.'
81
82
  todo:
82
83
  - United Card Events from Chase also earn 4x; no merchant exists for them, so they aren't modeled.
84
+ - "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
85
+ # Merchant statement credits, on top of what the purchase earns.
86
+ credits:
87
+ - id: instacart
88
+ match: { merchants: [instacart] }
89
+ amount: 15
90
+ period: month
91
+ enroll: true
92
+ note: "Instacart credits, which need an active Instacart+ membership: activate Chase's complimentary one with the card. Through December 31, 2027. Each credit applies to one order."
93
+ - id: rideshare
94
+ match: { categories: [transit.rideshare] }
95
+ amount: 8
96
+ period: month
97
+ enroll: true
98
+ note: 'Rideshare rides. Opt in each year. December allows $12 (modeled at $8).'
99
+ - id: jsx
100
+ match: { merchants: [jsx] }
101
+ amount: 150
102
+ period: cardmember_year
103
+ note: 'Flights booked directly with JSX.'
104
+ - id: renowned-hotels-credit
105
+ match: { merchants: [renowned-hotels-chase-travel] }
106
+ amount: 150
107
+ period: cardmember_year
108
+ note: 'Hotel stays prepaid through Renowned Hotels and Resorts for United cardmembers.'
83
109
  # Issuer text backing each rule; `yarn check-sources` checks it weekly.
84
110
  evidence:
85
111
  - rule: annual_fee
@@ -139,3 +165,18 @@ evidence:
139
165
  - rule: spend-40k
140
166
  url: https://creditcards.chase.com/travel-credit-cards/united/united-quest
141
167
  quote: 'Earn 2 global Economy Plus® seat upgrades after spending $40,000 each calendar year.'
168
+ - rule: instacart
169
+ url: https://creditcards.chase.com/travel-credit-cards/united/united-quest
170
+ quote: 'you can receive one $10 credit and one $5 credit in your Instacart account each month'
171
+ - rule: rideshare
172
+ url: https://creditcards.chase.com/travel-credit-cards/united/united-quest
173
+ quote: 'up to $8 back as a statement credit each month from January through November'
174
+ - rule: rideshare
175
+ url: https://creditcards.chase.com/travel-credit-cards/united/united-quest
176
+ quote: 'Yearly opt-in is required.'
177
+ - rule: jsx
178
+ url: https://creditcards.chase.com/travel-credit-cards/united/united-quest
179
+ quote: 'Get up to $150 back as a statement credit each anniversary year when you book flights directly with JSX'
180
+ - rule: renowned-hotels-credit
181
+ url: https://creditcards.chase.com/travel-credit-cards/united/united-quest
182
+ quote: 'Receive up to $150 back in statement credits each anniversary year on hotel accommodations'
@@ -1,5 +1,7 @@
1
1
  id: citi-aadvantage-business
2
2
  name: Citi / AAdvantage Business World Elite Mastercard
3
+ short_name: AAdvantage Business
4
+ color: '#3a4a5a'
3
5
  issuer: citi
4
6
  network: mastercard
5
7
  currency: aadvantage-miles
@@ -1,5 +1,7 @@
1
1
  id: citi-aadvantage-executive
2
2
  name: Citi / AAdvantage Executive World Legend Mastercard
3
+ short_name: AAdvantage Executive
4
+ color: '#1e1e22'
3
5
  issuer: citi
4
6
  network: mastercard
5
7
  currency: aadvantage-miles
@@ -28,9 +30,22 @@ rules:
28
30
  match: { merchants: [american-airlines] }
29
31
  rate: 4
30
32
  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. Rises to 5x for the rest of the calendar year after $150,000 in total card spend that year.
31
- # Not modeled: Admirals Club membership, AA Vacations, Lyft, Avis/Budget and inflight credits, Loyalty Point bonuses.
33
+ # Not modeled: Admirals Club membership, the Lyft credit (after 3 rides a month), inflight and inKind dining credits, Loyalty Point bonuses.
32
34
  todo:
33
35
  - 5x on American Airlines after $150,000 in calendar-year spend isn't modeled; the schema can't raise a rate after a spend threshold.
36
+ - "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
37
+ # Merchant statement credits, on top of what the purchase earns.
38
+ credits:
39
+ - id: aa-vacations
40
+ match: { merchants: [american-airlines-vacations] }
41
+ amount: 250
42
+ period: half_year
43
+ note: 'American Airlines Vacations packages or experiences: up to $250 from January through June and $250 from July through December.'
44
+ - id: avis-budget
45
+ match: { merchants: [avis, budget] }
46
+ amount: 120
47
+ period: calendar_year
48
+ note: 'Prepaid car rentals booked directly on avis.com or budget.com.'
34
49
  evidence:
35
50
  - rule: base_rate
36
51
  url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
@@ -65,3 +80,15 @@ evidence:
65
80
  - rule: foreign_transaction_fee
66
81
  url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
67
82
  quote: 'Fee for Foreign Purchases - None'
83
+ - rule: aa-vacations
84
+ url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
85
+ quote: 'Earn up to $250 on purchases January through June and up to $250 July through December.'
86
+ - rule: aa-vacations
87
+ url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
88
+ quote: 'eligible American Airlines Vacations℠ travel packages or experiences'
89
+ - rule: avis-budget
90
+ url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
91
+ quote: 'Earn up to $120 in statement credits every calendar year'
92
+ - rule: avis-budget
93
+ url: https://www.citi.com/credit-cards/citi-aadvantage-executive-world-legend-mastercard
94
+ quote: 'eligible prepaid car rentals are booked directly on avis.com or budget.com'
@@ -1,5 +1,7 @@
1
1
  id: citi-aadvantage-globe
2
2
  name: Citi / AAdvantage Globe Mastercard
3
+ short_name: AAdvantage Globe
4
+ color: '#2c3e5a'
3
5
  issuer: citi
4
6
  network: mastercard
5
7
  currency: aadvantage-miles
@@ -1,5 +1,7 @@
1
1
  id: citi-aadvantage-mileup
2
2
  name: American Airlines AAdvantage MileUp Card
3
+ short_name: AAdvantage MileUp
4
+ color: '#8aa3bf'
3
5
  issuer: citi
4
6
  # The card page's ID Theft Protection terms have cardholders enroll "with your
5
7
  # Citibank Mastercard", and its footer carries the Mastercard trademark notice.
@@ -1,5 +1,7 @@
1
1
  id: citi-aadvantage-platinum-select
2
2
  name: Citi / AAdvantage Platinum Select World Elite Mastercard
3
+ short_name: AAdvantage Platinum
4
+ color: '#a7b0b8'
3
5
  issuer: citi
4
6
  network: mastercard
5
7
  currency: aadvantage-miles
@@ -1,5 +1,7 @@
1
1
  id: citi-costco-anywhere-visa-business
2
2
  name: Costco Anywhere Visa Business Card by Citi
3
+ short_name: Costco Visa Business
4
+ color: '#3a3e44'
3
5
  issuer: citi
4
6
  network: visa
5
7
  currency: cash
@@ -1,5 +1,7 @@
1
1
  id: citi-costco-anywhere-visa
2
2
  name: Costco Anywhere Visa Card by Citi
3
+ short_name: Costco Anywhere Visa
4
+ color: '#2f3338'
3
5
  issuer: citi
4
6
  network: visa
5
7
  currency: cash
@@ -1,5 +1,6 @@
1
1
  id: citi-custom-cash
2
2
  name: Citi Custom Cash Card
3
+ color: '#3a7d8c'
3
4
  issuer: citi
4
5
  network: mastercard
5
6
  currency: cash
@@ -1,5 +1,6 @@
1
1
  id: citi-double-cash
2
2
  name: Citi Double Cash Card
3
+ color: '#6aa7a8'
3
4
  issuer: citi
4
5
  network: mastercard
5
6
  currency: cash
@@ -1,5 +1,6 @@
1
1
  id: citi-my-best-buy-visa
2
2
  name: My Best Buy Visa Card
3
+ color: '#1d4fa0'
3
4
  issuer: citi
4
5
  network: visa
5
6
  currency: best-buy-rewards
@@ -1,5 +1,6 @@
1
1
  id: citi-strata-elite
2
2
  name: Citi Strata Elite Card
3
+ color: '#2a2a2a'
3
4
  issuer: citi
4
5
  network: mastercard
5
6
  currency: TYP
@@ -38,9 +39,22 @@ rules:
38
39
  exclude: { merchants: [dodger-stadium, bellagio] }
39
40
  rate: 3
40
41
  note: 6x during Citi Nights (purchases authorized Friday 6 PM to Saturday 6 AM ET and Saturday 6 PM to Sunday 6 AM ET); earnrate can't see the time of a purchase, so this models the 3x rate. Includes cafes, bars, lounges, fast food, takeout and restaurant delivery services. Excludes bakeries, caterers and restaurants inside another business (hotels, stores, stadiums, grocery stores, warehouse clubs).
41
- # Not modeled: statement credits (hotel benefit, Splurge Credit, Blacklane, Global Entry/TSA PreCheck).
42
+ # Not modeled: the Splurge Credit (brands you pick) and the Global Entry/TSA PreCheck credit.
42
43
  todo:
43
44
  - Citi Nights 6x at restaurants depends on the authorization time, which the schema can't express. Modeled at 3x.
45
+ - "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
46
+ # Merchant statement credits, on top of what the purchase earns.
47
+ credits:
48
+ - id: blacklane
49
+ match: { merchants: [blacklane] }
50
+ amount: 100
51
+ period: half_year
52
+ note: 'Blacklane chauffeur bookings: up to $100 from January through June and $100 from July through December.'
53
+ - id: hotel
54
+ match: { merchants: [citi-travel-hotels] }
55
+ amount: 300
56
+ period: calendar_year
57
+ note: 'Once a year, $300 off one hotel stay of 2 nights or more booked on cititravel.com, before taxes and fees. It applies to one stay, not split across several.'
44
58
  # Issuer text backing each rule; `yarn check-sources` checks it weekly.
45
59
  evidence:
46
60
  - rule: base_rate
@@ -82,3 +96,9 @@ evidence:
82
96
  - rule: foreign_transaction_fee
83
97
  url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
84
98
  quote: 'Fee for foreign purchases - None'
99
+ - rule: blacklane
100
+ url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
101
+ quote: 'Earn up to $100 on Blacklane purchases January through June and up to $100 July through December.'
102
+ - rule: hotel
103
+ url: https://www.citi.com/credit-cards/citi-strata-elite-credit-card
104
+ quote: 'Once per calendar year, you can enjoy $300 off a single hotel stay of 2 nights or more'
@@ -1,5 +1,6 @@
1
1
  id: citi-strata-premier
2
2
  name: Citi Strata Premier Card
3
+ color: '#3b4250'
3
4
  issuer: citi
4
5
  network: mastercard
5
6
  currency: TYP
@@ -0,0 +1,164 @@
1
+ id: citi-strata
2
+ name: Citi Strata Card
3
+ color: '#5c6b7a'
4
+ issuer: citi
5
+ # The card page's FAQ: "The Citi Strata Card is a Mastercard."
6
+ network: mastercard
7
+ currency: TYP
8
+ last_verified: 2026-11-04
9
+ verified_by: claude
10
+ source_urls:
11
+ - https://www.citi.com/credit-cards/citi-strata-credit-card
12
+ # The card page's "Important Pricing & Information" link (terms, fees and
13
+ # rewards definitions).
14
+ - https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
15
+ base_rate: 1
16
+ annual_fee: 0
17
+ foreign_transaction_fee: 3
18
+ welcome_offer:
19
+ points: 20000
20
+ spend: 1000
21
+ months: 3
22
+ note: Not available if you currently have or previously had a Citi Strata or Citi Strata Student account; Citi may also decline the bonus based on your history of opening, closing and using credit cards. Offers may vary.
23
+ choices:
24
+ # Select Streaming Services until changed; it can be changed once each
25
+ # calendar quarter.
26
+ - id: self-select
27
+ pick: 1
28
+ period: until_changed
29
+ default: [select-streaming]
30
+ options:
31
+ select-streaming:
32
+ merchants:
33
+ [
34
+ amazon-prime-video,
35
+ apple-music,
36
+ disney-plus,
37
+ directv-stream,
38
+ espn,
39
+ fandango-at-home,
40
+ fubotv,
41
+ max,
42
+ hulu,
43
+ mlb-tv,
44
+ nba-league-pass,
45
+ netflix,
46
+ pandora,
47
+ paramount-plus,
48
+ sling-tv,
49
+ spotify,
50
+ starz,
51
+ siriusxm,
52
+ tidal,
53
+ youtube-premium,
54
+ youtube-tv,
55
+ ]
56
+ fitness-clubs: [fitness]
57
+ live-entertainment: [entertainment]
58
+ rules:
59
+ - id: citi-travel-hotels-cars-attractions
60
+ match:
61
+ {
62
+ merchants:
63
+ [
64
+ citi-travel-hotels,
65
+ citi-travel-car-rentals,
66
+ citi-travel-attractions,
67
+ ],
68
+ }
69
+ rate: 5
70
+ note: Booked on the Citi Travel site (cititravel.com or 1-833-737-1288). Only the part paid with the card earns, not the part paid with points.
71
+ - id: supermarkets
72
+ match: { categories: [grocery.supermarket] }
73
+ exclude:
74
+ { categories: [superstore, warehouse_club, convenience_store, drugstore] }
75
+ rate: 3
76
+ note: Excludes superstores, warehouse clubs, convenience stores, drugstores, specialty food stores, bakeries and meal kit delivery. Online supermarkets count only if the merchant uses the supermarket merchant code.
77
+ - id: gas-ev-charging-select-transit
78
+ match: { categories: [gas, ev_charging, transit, travel.car_rental] }
79
+ exclude: { categories: [gas.superstore] }
80
+ rate: 3
81
+ note: Gas stations and EV charging, plus car rentals, ferries, commuter and passenger railways, subways, taxis and car services, tolls, parking, bus lines and RV rentals. Gas at warehouse clubs, superstores, discount, department and convenience stores doesn't count; neither do bike or scooter rentals.
82
+ - id: self-select
83
+ match: { choice: self-select }
84
+ rate: 3
85
+ note: The Self-Select Category you chose (Select Streaming Services until you change it). Streaming bundled with another product, or billed through another platform, doesn't count. Live entertainment is tickets for concerts, live sports, theater and amusement parks, not movie theaters, museums or golf.
86
+ - id: restaurants
87
+ match: { categories: [dining] }
88
+ exclude: { merchants: [dodger-stadium, bellagio] }
89
+ rate: 2
90
+ note: Includes cafes, bars, lounges, fast food, takeout and restaurant delivery services. Excludes bakeries, caterers and restaurants inside another business (hotels, stores, stadiums, grocery stores, warehouse clubs).
91
+ # Issuer text backing each rule; `yarn check-sources` checks it weekly.
92
+ evidence:
93
+ - rule: base_rate
94
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
95
+ quote: '1 point per dollar spent on All Other Purchases'
96
+ - rule: citi-travel-hotels-cars-attractions
97
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
98
+ quote: '5 points per dollar spent on Hotels, Car Rentals, and Attractions booked on cititravel.com'
99
+ - rule: citi-travel-hotels-cars-attractions
100
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
101
+ quote: 'only the portion paid with your card will earn points'
102
+ - rule: supermarkets
103
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
104
+ quote: '3 points per dollar spent at Supermarkets'
105
+ - rule: supermarkets
106
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
107
+ quote: 'Excludes purchases at general merchandise/discount superstores'
108
+ - rule: supermarkets
109
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
110
+ quote: 'drugstores, warehouse clubs, wholesale clubs, specialty vendors, bakeries'
111
+ - rule: gas-ev-charging-select-transit
112
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
113
+ quote: '3 points per dollar spent at Gas & EV Charging Stations and on Select Transit.'
114
+ - rule: gas-ev-charging-select-transit
115
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
116
+ quote: 'Select transit includes car rentals, ferries, commuter railways, subways, taxis/limousines/car services'
117
+ - rule: gas-ev-charging-select-transit
118
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
119
+ quote: 'bridge and road tolls, parking lots/garages, bus lines, and motor home and recreational vehicle rentals'
120
+ - rule: gas-ev-charging-select-transit
121
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
122
+ quote: 'Gas stations exclude gas purchases at warehouse clubs, wholesale stores, superstores, discount stores'
123
+ - rule: self-select
124
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
125
+ quote: '3 points per dollar spent on an eligible Self-Select Category of your choice'
126
+ - rule: self-select
127
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
128
+ quote: 'the default Self-Select Category is Select Streaming Services'
129
+ - rule: self-select
130
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
131
+ quote: 'You may change your Self-Select Category once each calendar quarter'
132
+ - rule: self-select
133
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
134
+ quote: 'Includes the following streaming providers: Amazon Prime Video, Apple Music, Disney+'
135
+ - rule: self-select
136
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
137
+ quote: 'including concerts, live sporting events, live theatrical productions, amusement parks, and orchestras'
138
+ - rule: self-select
139
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
140
+ quote: 'athletic, sports and recreation facilities requiring membership such as health, tennis, and swimming clubs'
141
+ - rule: restaurants
142
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
143
+ quote: '2 points per dollar spent at Restaurants'
144
+ - rule: restaurants
145
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
146
+ quote: 'Excludes purchases at bakeries, caterers, and restaurants located inside another business'
147
+ - rule: annual_fee
148
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
149
+ quote: 'Annual Fee None'
150
+ - rule: welcome_offer
151
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
152
+ quote: 'after spending $1,000 in the first 3 months'
153
+ - rule: welcome_offer
154
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
155
+ quote: 'Earn 20,000 bonus points'
156
+ - rule: welcome_offer
157
+ url: https://www.citi.com/credit-cards/citi-strata-credit-card
158
+ quote: 'if you currently have or previously had a Citi Strata® or a Citi Strata Student account'
159
+ - rule: foreign_transaction_fee
160
+ url: https://online.citi.com/US/nga/cards/displayterms?app=UNSOL&HKOP=694a2bccaa4fab7c7710d9d9f1f36fbac5552a971559393761b722e87102c50f
161
+ quote: 'Foreign Purchase Transaction 3% of each purchase transaction in U.S. dollars.'
162
+ todo:
163
+ - "The Self-Select Category can also be Cosmetic Stores/Barber Shops/Hair Salons or Pet Supply Stores, which have no earnrate category, so those two options aren't offered."
164
+ - "The terms link carries a session-like token (HKOP); if Citi rotates it, take the new one from the card page's Important Pricing & Information link."
@@ -1,5 +1,6 @@
1
1
  id: discover-it-cash-back
2
2
  name: Discover it Cash Back Credit Card
3
+ color: '#e8751a'
3
4
  # Discover merged into Capital One, N.A.; the application terms are headed
4
5
  # "Discover by Capital One" and served from disclosures.capitalone.com.
5
6
  issuer: discover
@@ -26,7 +27,7 @@ welcome_offer:
26
27
  dollars: 200
27
28
  spend: 500
28
29
  months: 3
29
- note: One-time $200 statement credit, available by applying through the card page. Existing or previous cardmembers may not be eligible if they received a new cardmember bonus for this product in the past 48 months. New cardmembers also get Cashback Match (all cash back earned in the first year matched), which isn't counted here.
30
+ note: One-time $200 statement credit, available by applying through the card page. Existing or previous cardmembers may not be eligible if they received a new cardmember bonus for this product in the past 48 months. New cardmembers also get Cashback Match, which is ranked as a first-year rate (intro_rates) rather than counted here.
30
31
  caps:
31
32
  # Discover's quarterly maximum on the rotating 5% categories.
32
33
  - id: five-percent-quarterly
@@ -84,11 +85,17 @@ rules:
84
85
  valid_to: 2026-12-31
85
86
  activate_by: 2026-12-31
86
87
  note: Residential electricity, natural gas and water, plus internet, cable, satellite TV and mobile and landline phone service paid by phone or online. Paying for those at a physical store, through a landlord, property manager or HOA, home fuel delivery and standalone streaming services may not qualify. Earns 5% only from the day you activate.
88
+ intro_rates:
89
+ # Discover matches the cash back a new cardmember earns, paid after the
90
+ # match period, so every rate counts double for those 365 days.
91
+ - id: cashback-match
92
+ days: 365
93
+ multiply: 2
94
+ note: Cashback Match, for new cardmembers. Discover matches all the cash back earned from the day the account is approved through the first 365 days, with no limit, and adds it within two billing periods after; cash back processed after the match period isn't matched.
87
95
  todo:
88
96
  - 'Discover has published only 2026 on its 5% calendar (Oct-Dec 2026 is the last quarter shown). Add 2027 quarters when Discover posts them.'
89
97
  - Discover's 5% activation isn't retroactive (5% applies "from 10/1/26 (or the date on which you activate 5%, whichever is later)"), and you can activate until the quarter's last day. The schema's activate_by can't say that purchases before activation earn 1%; it's set to the quarter's last day and the rule notes say so.
90
- - Cashback Match (Discover matches all cash back a new cardmember earns in the first year, no limit) can't be expressed as a fixed welcome offer; it roughly doubles first-year earnings on every rule. Not modeled.
91
- - The card page's Cashback Match terms say "through your first 365 days"; the Cashback Bonus page says "your first 12 consecutive billing periods or 365 days, whichever is longer". Which one current applicants get is unclear; it doesn't change any rate here.
98
+ - The card page's and application terms' Cashback Match terms say "through your first 365 days"; the Cashback Bonus page says "your first 12 consecutive billing periods or 365 days, whichever is longer". Modeled as 365 days, the shorter. Cash back is matched only when processed within the period, so a purchase in its last days may post too late; earnrate goes by the purchase date.
92
99
  - Foreign transaction fee isn't stated on any Discover page or in the application terms (their fee table has no foreign transaction row). Left null; confirm with the Cardmember Agreement or Capital One.
93
100
  - Discover says 5% purchases "must be made with merchants in the U.S." The application terms put that sentence in the general earning paragraph, so it may also apply to the 1% base and Capital One Travel; only the rotating rules are marked us_only.
94
101
  - Amusement parks, tourist attractions, aquariums, zoos, record stores, video rental, pool halls and bowling alleys earn 5% as Q4 2026 entertainment but have no earnrate category. Golf courses, country clubs and collegiate sporting events are excluded but can't be told apart from the entertainment category.
@@ -167,3 +174,15 @@ evidence:
167
174
  - rule: welcome_offer
168
175
  url: https://www.discover.com/credit-cards/cash-back/it-card/
169
176
  quote: 'Get an unlimited dollar-for-dollar match of all the cash back you earn at the end of your first year'
177
+ - rule: cashback-match
178
+ url: https://www.discover.com/credit-cards/cash-back/it-card/
179
+ quote: 'Get an unlimited dollar-for-dollar match of all the cash back you earn'
180
+ - rule: cashback-match
181
+ url: https://www.discover.com/credit-cards/cash-back/it-card/
182
+ quote: 'There is no limit to how much we’ll match.'
183
+ - rule: cashback-match
184
+ url: https://disclosures.capitalone.com/disclosure.42300.en-US.html
185
+ quote: 'from the day your new account is approved through your first 365 days'
186
+ - rule: cashback-match
187
+ url: https://disclosures.capitalone.com/disclosure.42300.en-US.html
188
+ quote: 'We will not match: rewards that are processed after your match period ends'
@@ -0,0 +1,60 @@
1
+ id: fidelity-rewards-visa-signature
2
+ name: Fidelity Rewards Visa Signature Card
3
+ short_name: Fidelity Rewards Visa
4
+ color: '#2e7d32'
5
+ # Issued by Elan Financial Services; Fidelity only markets it. Rewards are
6
+ # Reward Points, and 2 points per $1 are worth 2% only when deposited into an
7
+ # eligible Fidelity account (brokerage, Cash Management, IRA, HSA, 529,
8
+ # Charitable). Other redemptions are worth less, at rates Elan doesn't publish.
9
+ issuer: elan
10
+ network: visa
11
+ currency: cash
12
+ last_verified: 2026-11-04
13
+ verified_by: claude
14
+ source_urls:
15
+ - https://www.fidelity.com/spend-save/visa-signature-card
16
+ - https://www.fidelity.com/spend-save/faqs-rewards-credit-cards
17
+ # Elan's rates-and-fees and rewards summary, linked from the card page's
18
+ # "Terms and Conditions". The query string is that link's offer; Elan may
19
+ # change it.
20
+ - https://online1.elancard.com/pdap/terms?locationCode=24193&offerId=5W8QWVRP5M&sourceCode=88155&st=y
21
+ # Units are cents per dollar when the points go into a Fidelity account: 2
22
+ # points per $1, each converted to its "equivalent dollar amount" (1¢).
23
+ base_rate: 2
24
+ annual_fee: 0
25
+ foreign_transaction_fee: 0
26
+ todo:
27
+ - "The 2% needs an open, funded Fidelity account to deposit into (opening one is free, and the card itself doesn't need one). Redeemed for travel, merchandise, gift cards or a statement credit, points are worth less, at values no readable Elan or Fidelity page states, so `cash` at 2% assumes the Fidelity deposit."
28
+ - "Up to $100 in Reward Points back for a Global Entry or TSA PreCheck application fee paid with the card isn't modeled (a fee credit, not a welcome offer)."
29
+ - "The full Rewards Program Rules come only with the card (online through the Rewards tab once you log in), so no readable page lists more exclusions than the summary in Elan's terms."
30
+ evidence:
31
+ - rule: base_rate
32
+ url: https://www.fidelity.com/spend-save/visa-signature-card
33
+ quote: 'Earn unlimited 2% cash back 1 when deposited into an eligible, Fidelity account'
34
+ - rule: base_rate
35
+ url: https://www.fidelity.com/spend-save/faqs-rewards-credit-cards
36
+ quote: 'You earn 2 Points for every $1 that you spend on eligible net purchases'
37
+ - rule: base_rate
38
+ url: https://www.fidelity.com/spend-save/faqs-rewards-credit-cards
39
+ quote: 'The 2% cash back value applies only to Points redeemed for a deposit into an eligible Fidelity account.'
40
+ - rule: base_rate
41
+ url: https://www.fidelity.com/spend-save/faqs-rewards-credit-cards
42
+ quote: 'your Points will automatically be converted to the equivalent dollar amount'
43
+ - rule: base_rate
44
+ url: https://online1.elancard.com/pdap/terms?locationCode=24193&offerId=5W8QWVRP5M&sourceCode=88155&st=y
45
+ quote: 'you will receive 2 Reward Points'
46
+ - rule: base_rate
47
+ url: https://online1.elancard.com/pdap/terms?locationCode=24193&offerId=5W8QWVRP5M&sourceCode=88155&st=y
48
+ quote: 'The number of Points that may accumulate in any monthly billing cycle is unlimited.'
49
+ - rule: annual_fee
50
+ url: https://www.fidelity.com/spend-save/visa-signature-card
51
+ quote: 'No annual fee, foreign transaction fee , caps, limits, or expirations'
52
+ - rule: annual_fee
53
+ url: https://online1.elancard.com/pdap/terms?locationCode=24193&offerId=5W8QWVRP5M&sourceCode=88155&st=y
54
+ quote: 'Annual Fee Annual Membership Fee None'
55
+ - rule: foreign_transaction_fee
56
+ url: https://online1.elancard.com/pdap/terms?locationCode=24193&offerId=5W8QWVRP5M&sourceCode=88155&st=y
57
+ quote: 'Foreign Transaction None Penalty Fees'
58
+ - rule: foreign_transaction_fee
59
+ url: https://www.fidelity.com/spend-save/visa-signature-card
60
+ quote: 'Plus no foreign transaction fees.'
@@ -0,0 +1,61 @@
1
+ id: navy-federal-cash-rewards-plus
2
+ name: Navy Federal cashRewards Plus Credit Card
3
+ short_name: NFCU cashRewards Plus
4
+ color: '#1b3a6b'
5
+ # Navy Federal takes one cashRewards application and issues this card when
6
+ # the approved credit limit is $5,000 or more, or the cashRewards
7
+ # (navy-federal-cash-rewards) under $5,000.
8
+ issuer: navy-federal
9
+ # Issued as a Visa Signature or a World Mastercard; the earn rate is the
10
+ # same on both.
11
+ network: visa
12
+ currency: cash
13
+ last_verified: 2026-11-04
14
+ verified_by: claude
15
+ source_urls:
16
+ - https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
17
+ - https://www.navyfederal.org/loans-cards/credit-cards/faqs.html
18
+ - https://www.navyfederal.org/membership/eligibility.html
19
+ base_rate: 2
20
+ annual_fee: 0
21
+ foreign_transaction_fee: 0
22
+ welcome_offer:
23
+ dollars: 250
24
+ spend: 2500
25
+ months: 3
26
+ valid_to: 2027-01-03
27
+ note: The page says within 90 days of account opening, modeled as 3 months. For accounts applied for from 07/01/2026 through 01/03/2027; one promotional offer per account opening.
28
+ requires_membership: navy-federal # eligibility-based, no yearly fee
29
+ evidence:
30
+ - rule: base_rate
31
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
32
+ quote: 'Unlimited 2% cash back on all purchases with cashRewards Plus'
33
+ - rule: base_rate
34
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
35
+ quote: 'a cashRewards Plus card with 2% cash back if it’s $5,000 or more'
36
+ - rule: annual_fee
37
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
38
+ quote: 'No annual fee'
39
+ - rule: foreign_transaction_fee
40
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
41
+ quote: 'No balance transfer fees No foreign transaction fees'
42
+ - rule: foreign_transaction_fee
43
+ url: https://www.navyfederal.org/loans-cards/credit-cards/faqs.html
44
+ quote: 'We don’t charge foreign transaction fees on any of our credit cards'
45
+ - rule: welcome_offer
46
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
47
+ quote: 'You can earn $250 bonus cash when you spend $2,500 within 90 days of account opening.'
48
+ - rule: welcome_offer
49
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
50
+ quote: 'Offer valid for accounts applied for between 07/01/2026 and 01/03/2027.'
51
+ - rule: requires_membership
52
+ url: https://www.navyfederal.org/loans-cards/credit-cards/faqs.html
53
+ quote: 'To apply for a Navy Federal credit card, you’ll need to be a Navy Federal member.'
54
+ - rule: requires_membership
55
+ url: https://www.navyfederal.org/membership/eligibility.html
56
+ quote: 'A Membership Savings Account with a $5 minimum balance is required to establish and maintain membership.'
57
+ todo:
58
+ - 'Membership is by eligibility, not a yearly fee: the armed forces, veterans, DoD civilians and contractors, and their families and household members, with a $5 minimum balance in a Membership Savings Account.'
59
+ - "Which card an applicant gets depends on the credit limit Navy Federal approves ($5,000 or more: this card at 2%; under $5,000: cashRewards at 1.5%). earnrate can't tell which one an applicant will get; the welcome offer is the same on both."
60
+ - 'The card is issued as a Visa Signature or a World Mastercard; network is set to visa. Acceptance and network benefits differ, not the earn rate.'
61
+ - 'The rates and fees table and the rewards terms are PDFs, read 2026-11-04 (navyfederal.org/content/dam/nfculibs/pdfs/credit-debit-cards/nfcu_573cash.pdf, "Annual Fees" and "Foreign Transaction" rows, and nfcu_829.pdf, the "cashRewards Card Product Earn Rate" table). Re-check them by hand when the source check flags this card.'
@@ -0,0 +1,60 @@
1
+ id: navy-federal-cash-rewards
2
+ name: Navy Federal cashRewards Credit Card
3
+ short_name: NFCU cashRewards
4
+ color: '#1b3a6b'
5
+ # Navy Federal takes one cashRewards application and issues this card when
6
+ # the approved credit limit is under $5,000, or the cashRewards Plus
7
+ # (navy-federal-cash-rewards-plus) at $5,000 or more.
8
+ issuer: navy-federal
9
+ # Issued as a Visa or a Mastercard; the earn rate is the same on both.
10
+ network: visa
11
+ currency: cash
12
+ last_verified: 2026-11-04
13
+ verified_by: claude
14
+ source_urls:
15
+ - https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
16
+ - https://www.navyfederal.org/loans-cards/credit-cards/faqs.html
17
+ - https://www.navyfederal.org/membership/eligibility.html
18
+ base_rate: 1.5
19
+ annual_fee: 0
20
+ foreign_transaction_fee: 0
21
+ welcome_offer:
22
+ dollars: 250
23
+ spend: 2500
24
+ months: 3
25
+ valid_to: 2027-01-03
26
+ note: The page says within 90 days of account opening, modeled as 3 months. For accounts applied for from 07/01/2026 through 01/03/2027; one promotional offer per account opening.
27
+ requires_membership: navy-federal # eligibility-based, no yearly fee
28
+ evidence:
29
+ - rule: base_rate
30
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
31
+ quote: 'Unlimited 1.5% cash back on all purchases with cashRewards'
32
+ - rule: base_rate
33
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
34
+ quote: 'You’ll get a cashRewards card with 1.5% cash back if your credit limit is under $5,000'
35
+ - rule: annual_fee
36
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
37
+ quote: 'No annual fee'
38
+ - rule: foreign_transaction_fee
39
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
40
+ quote: 'No balance transfer fees No foreign transaction fees'
41
+ - rule: foreign_transaction_fee
42
+ url: https://www.navyfederal.org/loans-cards/credit-cards/faqs.html
43
+ quote: 'We don’t charge foreign transaction fees on any of our credit cards'
44
+ - rule: welcome_offer
45
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
46
+ quote: 'You can earn $250 bonus cash when you spend $2,500 within 90 days of account opening.'
47
+ - rule: welcome_offer
48
+ url: https://www.navyfederal.org/loans-cards/credit-cards/cash-rewards.html
49
+ quote: 'Offer valid for accounts applied for between 07/01/2026 and 01/03/2027.'
50
+ - rule: requires_membership
51
+ url: https://www.navyfederal.org/loans-cards/credit-cards/faqs.html
52
+ quote: 'To apply for a Navy Federal credit card, you’ll need to be a Navy Federal member.'
53
+ - rule: requires_membership
54
+ url: https://www.navyfederal.org/membership/eligibility.html
55
+ quote: 'A Membership Savings Account with a $5 minimum balance is required to establish and maintain membership.'
56
+ todo:
57
+ - 'Membership is by eligibility, not a yearly fee: the armed forces, veterans, DoD civilians and contractors, and their families and household members, with a $5 minimum balance in a Membership Savings Account.'
58
+ - "Which card an applicant gets depends on the credit limit Navy Federal approves (under $5,000: this card at 1.5%; $5,000 or more: cashRewards Plus at 2%). earnrate can't tell which one an applicant will get; the welcome offer is the same on both."
59
+ - 'The card is issued as a Visa or a Mastercard; network is set to visa. Acceptance and network benefits differ, not the earn rate.'
60
+ - 'The rates and fees table and the rewards terms are PDFs, read 2026-11-04 (navyfederal.org/content/dam/nfculibs/pdfs/credit-debit-cards/nfcu_573cash.pdf, "Annual Fees" and "Foreign Transaction" rows, and nfcu_829.pdf, the "cashRewards Card Product Earn Rate" table). Re-check them by hand when the source check flags this card.'