earnrate 0.2.11 → 0.2.12

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 (126) hide show
  1. package/README.md +21 -9
  2. package/data/CHANGELOG.md +110 -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 +1 -0
  6. package/data/cards/amex-blue-cash-preferred.yaml +7 -0
  7. package/data/cards/amex-business-gold.yaml +134 -0
  8. package/data/cards/amex-business-platinum.yaml +115 -0
  9. package/data/cards/amex-delta-skymiles-blue.yaml +91 -0
  10. package/data/cards/amex-delta-skymiles-gold.yaml +2 -0
  11. package/data/cards/amex-delta-skymiles-platinum.yaml +2 -0
  12. package/data/cards/amex-delta-skymiles-reserve.yaml +2 -0
  13. package/data/cards/amex-gold.yaml +1 -0
  14. package/data/cards/amex-hilton-honors-aspire.yaml +2 -0
  15. package/data/cards/amex-hilton-honors-business.yaml +93 -0
  16. package/data/cards/amex-hilton-honors-surpass.yaml +2 -0
  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 +2 -0
  20. package/data/cards/amex-marriott-bonvoy-business.yaml +116 -0
  21. package/data/cards/amex-platinum.yaml +1 -0
  22. package/data/cards/bank-of-america-atmos-rewards-ascent.yaml +1 -0
  23. package/data/cards/bank-of-america-atmos-rewards-business.yaml +2 -0
  24. package/data/cards/bank-of-america-atmos-rewards-summit.yaml +1 -0
  25. package/data/cards/bank-of-america-customized-cash-rewards.yaml +34 -1
  26. package/data/cards/bank-of-america-premium-rewards.yaml +134 -0
  27. package/data/cards/bank-of-america-travel-rewards.yaml +123 -0
  28. package/data/cards/bank-of-america-unlimited-cash-rewards.yaml +83 -0
  29. package/data/cards/barclays-jetblue-plus.yaml +86 -0
  30. package/data/cards/bilt-blue.yaml +60 -0
  31. package/data/cards/bilt-obsidian.yaml +1 -0
  32. package/data/cards/bilt-palladium.yaml +76 -0
  33. package/data/cards/capital-one-kohls-card.yaml +1 -0
  34. package/data/cards/capital-one-kohls-rewards-visa.yaml +1 -0
  35. package/data/cards/capital-one-quicksilver.yaml +2 -0
  36. package/data/cards/capital-one-savor.yaml +2 -0
  37. package/data/cards/capital-one-spark-cash-plus.yaml +80 -0
  38. package/data/cards/capital-one-venture-x-business.yaml +97 -0
  39. package/data/cards/capital-one-venture-x.yaml +2 -0
  40. package/data/cards/capital-one-venture.yaml +2 -0
  41. package/data/cards/chase-aeroplan.yaml +2 -0
  42. package/data/cards/chase-freedom-flex.yaml +1 -0
  43. package/data/cards/chase-freedom-rise.yaml +29 -0
  44. package/data/cards/chase-freedom-unlimited.yaml +1 -0
  45. package/data/cards/chase-ihg-one-rewards-business.yaml +1 -0
  46. package/data/cards/chase-ihg-one-rewards-premier-select.yaml +2 -0
  47. package/data/cards/chase-ihg-one-rewards-premier.yaml +1 -0
  48. package/data/cards/chase-ihg-one-rewards.yaml +1 -0
  49. package/data/cards/chase-ink-business-cash.yaml +1 -0
  50. package/data/cards/chase-ink-business-preferred.yaml +1 -0
  51. package/data/cards/chase-ink-business-unlimited.yaml +69 -0
  52. package/data/cards/chase-marriott-bonvoy-bold.yaml +1 -0
  53. package/data/cards/chase-marriott-bonvoy-boundless.yaml +2 -0
  54. package/data/cards/chase-prime-visa.yaml +1 -0
  55. package/data/cards/chase-sapphire-preferred.yaml +1 -0
  56. package/data/cards/chase-sapphire-reserve.yaml +1 -0
  57. package/data/cards/chase-southwest-performance-business.yaml +2 -0
  58. package/data/cards/chase-southwest-plus.yaml +2 -0
  59. package/data/cards/chase-southwest-premier-business.yaml +2 -0
  60. package/data/cards/chase-southwest-premier.yaml +2 -0
  61. package/data/cards/chase-southwest-priority.yaml +2 -0
  62. package/data/cards/chase-united-business.yaml +1 -0
  63. package/data/cards/chase-united-club-business.yaml +1 -0
  64. package/data/cards/chase-united-club.yaml +1 -0
  65. package/data/cards/chase-united-explorer.yaml +1 -0
  66. package/data/cards/chase-united-gateway.yaml +1 -0
  67. package/data/cards/chase-united-quest.yaml +1 -0
  68. package/data/cards/citi-aadvantage-business.yaml +2 -0
  69. package/data/cards/citi-aadvantage-executive.yaml +2 -0
  70. package/data/cards/citi-aadvantage-globe.yaml +2 -0
  71. package/data/cards/citi-aadvantage-mileup.yaml +2 -0
  72. package/data/cards/citi-aadvantage-platinum-select.yaml +2 -0
  73. package/data/cards/citi-costco-anywhere-visa-business.yaml +2 -0
  74. package/data/cards/citi-costco-anywhere-visa.yaml +2 -0
  75. package/data/cards/citi-custom-cash.yaml +1 -0
  76. package/data/cards/citi-double-cash.yaml +1 -0
  77. package/data/cards/citi-my-best-buy-visa.yaml +1 -0
  78. package/data/cards/citi-strata-elite.yaml +1 -0
  79. package/data/cards/citi-strata-premier.yaml +1 -0
  80. package/data/cards/citi-strata.yaml +164 -0
  81. package/data/cards/discover-it-cash-back.yaml +22 -3
  82. package/data/cards/paypal-cashback-mastercard.yaml +41 -0
  83. package/data/cards/sams-club-mastercard.yaml +68 -0
  84. package/data/cards/sofi-unlimited-2.yaml +1 -0
  85. package/data/cards/td-bank-nordstrom-credit-card.yaml +1 -0
  86. package/data/cards/td-bank-nordstrom-visa.yaml +1 -0
  87. package/data/cards/td-bank-target-circle-card.yaml +1 -0
  88. package/data/cards/usbank-altitude-connect.yaml +150 -0
  89. package/data/cards/usbank-altitude-go.yaml +118 -0
  90. package/data/cards/usbank-cash-plus.yaml +1 -0
  91. package/data/cards/wells-fargo-active-cash.yaml +1 -0
  92. package/data/cards/wells-fargo-autograph-journey.yaml +73 -0
  93. package/data/cards/wells-fargo-autograph.yaml +1 -0
  94. package/data/categories.yaml +3 -1
  95. package/data/currencies.yaml +34 -0
  96. package/data/issuers.yaml +22 -1
  97. package/data/memberships.yaml +10 -0
  98. package/data/merchants/overrides.yaml +499 -1
  99. package/data/merchants/seed.yaml +843 -6
  100. package/dist/cli/import.js +2 -2
  101. package/dist/cli/wallet.js +8 -1
  102. package/dist/data/integrity.js +37 -0
  103. package/dist/data/wallet-edit.js +3 -1
  104. package/dist/engine/checklist.js +14 -3
  105. package/dist/engine/evaluate.js +19 -7
  106. package/dist/engine/intro.js +36 -0
  107. package/dist/engine/recommend.js +31 -2
  108. package/dist/engine/record.js +2 -0
  109. package/dist/engine/rule-text.js +15 -1
  110. package/dist/engine/setup.js +6 -0
  111. package/dist/engine/text.js +23 -0
  112. package/dist/engine/wallet-change.js +20 -3
  113. package/dist/engine/wallet-summary.js +24 -4
  114. package/dist/format/card-art.js +21 -0
  115. package/dist/format/cards.js +1 -0
  116. package/dist/format/wallet-yaml.js +1 -0
  117. package/dist/format/wallet.js +10 -4
  118. package/dist/import/analyze.js +1 -0
  119. package/dist/mcp/inputs.js +3 -0
  120. package/dist/mcp/schemas.js +17 -0
  121. package/dist/mcp/tools/account.js +3 -1
  122. package/dist/mcp/tools/wallet.js +6 -2
  123. package/dist/schema/card.js +23 -0
  124. package/dist/schema/issuer.js +4 -0
  125. package/dist/schema/wallet.js +3 -0
  126. package/package.json +12 -3
@@ -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,41 @@
1
+ id: paypal-cashback-mastercard
2
+ name: PayPal Cashback Mastercard
3
+ short_name: PayPal Cashback
4
+ color: '#1a1f2b'
5
+ # Issued by Synchrony Bank; rewards are paid into the linked PayPal account.
6
+ issuer: synchrony
7
+ network: mastercard
8
+ currency: cash
9
+ last_verified: 2026-11-04
10
+ verified_by: claude
11
+ source_urls:
12
+ - https://www.paypal.com/us/digital-wallet/manage-money/paypal-cashback-mastercard
13
+ - https://www.synchronybankterms.com/gecrbterms/html/PayPalCashbackApplyTerms_combo.htm
14
+ - https://www.synchronycredit.com/gecrbterms/html/PayPalCashbackRewardsTerms.htm
15
+ base_rate: 1.5
16
+ annual_fee: 0
17
+ foreign_transaction_fee: 3
18
+ todo:
19
+ - "3% cash back when the card is paid through your PayPal account online (PayPal checkout, or sending money to other PayPal users) isn't modeled: earnrate sees the merchant and channel, not how a purchase is paid, so every purchase gets 1.5% here."
20
+ evidence:
21
+ - rule: base_rate
22
+ url: https://www.paypal.com/us/digital-wallet/manage-money/paypal-cashback-mastercard
23
+ quote: '1.5% cash back on all other purchases everywhere Mastercard is accepted.'
24
+ - rule: base_rate
25
+ url: https://www.synchronycredit.com/gecrbterms/html/PayPalCashbackRewardsTerms.htm
26
+ quote: '1.5%: Each Eligible Purchase made by you everywhere else that Mastercard is accepted will earn 1.5% Cash Rewards.'
27
+ - rule: base_rate
28
+ url: https://www.synchronycredit.com/gecrbterms/html/PayPalCashbackRewardsTerms.htm
29
+ quote: 'there is no maximum amount of Eligible Purchases that may earn Cash Rewards.'
30
+ - rule: annual_fee
31
+ url: https://www.paypal.com/us/digital-wallet/manage-money/paypal-cashback-mastercard
32
+ quote: 'no rotating categories, and no annual fee.'
33
+ - rule: annual_fee
34
+ url: https://www.synchronybankterms.com/gecrbterms/html/PayPalCashbackApplyTerms_combo.htm
35
+ quote: 'Annual Fee None Transaction Fees'
36
+ - rule: foreign_transaction_fee
37
+ url: https://www.synchronybankterms.com/gecrbterms/html/PayPalCashbackApplyTerms_combo.htm
38
+ quote: 'Either $10.00 or 5% of the amount of each cash advance, whichever is greater. 3% of each transaction.'
39
+ - rule: foreign_transaction_fee
40
+ url: https://www.synchronybankterms.com/gecrbterms/html/PayPalCashbackApplyTerms_combo.htm
41
+ quote: 'We will charge this fee for purchases or cash advances you make in currencies other than U.S. dollars'
@@ -0,0 +1,68 @@
1
+ id: sams-club-mastercard
2
+ name: Sam's Club Mastercard
3
+ color: '#1f5fa8'
4
+ # Issued by Synchrony Bank. Rewards are Sam's Cash, loaded onto the Sam's
5
+ # Club membership; it spends like cash at Sam's Club and can be cashed out in
6
+ # club.
7
+ issuer: synchrony
8
+ network: mastercard
9
+ currency: cash
10
+ last_verified: 2026-11-04
11
+ verified_by: claude
12
+ source_urls:
13
+ - https://www.synchrony.com/partner/sams-club
14
+ - https://www.samsclub.com/join
15
+ base_rate: 1
16
+ annual_fee: 0
17
+ foreign_transaction_fee: 0
18
+ requires_membership: sams-club # its fee is in data/memberships.yaml
19
+ caps:
20
+ - id: gas-and-ev
21
+ amount: 6000
22
+ period: calendar_year
23
+ then_rate: 1
24
+ rules:
25
+ - id: gas-and-ev-charging
26
+ match: { categories: [gas, ev_charging] }
27
+ rate: 5
28
+ cap: gas-and-ev
29
+ note: Gas anywhere Mastercard is accepted, Sam's Club's own included. Fuel sold at a grocery store's fuel station can code as the grocery store and earn 1%.
30
+ - id: dining
31
+ match: { categories: [dining] }
32
+ rate: 3
33
+ note: Dining and takeout, including fast food.
34
+ - id: sams-club-plus
35
+ match: { merchants: [sams-club] }
36
+ rate: 3
37
+ requires: { membership: sams-club-plus }
38
+ note: Sam's Club purchases in club and at SamsClub.com for Plus members; Club members earn 1%. Tobacco, prescriptions, gift cards and prepaid cards earn nothing.
39
+ todo:
40
+ - "synchrony.com answers the source check's headless browser with HTTP 403, so the weekly check lists the page as unreachable; its quotes were read 2026-11-04 with a plain fetch and in Chrome. Re-read it by hand when the check flags this card."
41
+ - "Sam's Cash earned on the card is capped at $5,000 a calendar year, about $100,000 of spending at 5%; earnrate doesn't model a cap on total rewards."
42
+ - "The rewards terms are a PDF (scene7.samsclub.com/is/content/samsclub/sams-cash-with-mastercard), read 2026-11-04 in a browser: 3% at restaurants worldwide, excluding warehouse clubs other than Sam's Club; gas stations and EV charging by MCC."
43
+ - "The site's card page offers a $60 statement credit after $30 at Sam's Club within 30 days (10/28–12/2/2026); too small to model as a welcome offer."
44
+ evidence:
45
+ - rule: base_rate
46
+ url: https://www.synchrony.com/partner/sams-club
47
+ quote: 'Earn 1% back in Sam’s Cash on other purchases.'
48
+ - rule: gas-and-ev-charging
49
+ url: https://www.synchrony.com/partner/sams-club
50
+ quote: 'Earn 5% back on gas anywhere Mastercard is accepted (on first $6,000 per year, then 1%).'
51
+ - rule: dining
52
+ url: https://www.synchrony.com/partner/sams-club
53
+ quote: 'Earn 3% back on dining and takeout.'
54
+ - rule: sams-club-plus
55
+ url: https://www.synchrony.com/partner/sams-club
56
+ quote: 'Earn 3% back on Sam’s Club purchases for Plus members (Club members earn 1%).'
57
+ - rule: annual_fee
58
+ url: https://www.synchrony.com/partner/sams-club
59
+ quote: 'No annual fee.'
60
+ - rule: foreign_transaction_fee
61
+ url: https://www.synchrony.com/partner/sams-club
62
+ quote: 'No foreign transaction fees.'
63
+ - rule: requires_membership
64
+ url: https://www.synchrony.com/partner/sams-club
65
+ quote: 'Yes, you need to be a Sam’s Club member to apply for a Sam’s Club credit card.'
66
+ - rule: requires_membership
67
+ url: https://www.samsclub.com/join
68
+ quote: 'Best value Plus $120/year Club $60/year'
@@ -1,5 +1,6 @@
1
1
  id: sofi-unlimited-2
2
2
  name: SoFi Unlimited 2% Credit Card
3
+ color: '#2d2f36'
3
4
  issuer: sofi
4
5
  network: mastercard
5
6
  currency: sofi-rewards
@@ -1,5 +1,6 @@
1
1
  id: td-bank-nordstrom-credit-card
2
2
  name: Nordstrom Credit Card
3
+ color: '#1a1a1a'
3
4
  issuer: td-bank
4
5
  network: store
5
6
  only_at: [nordstrom, nordstrom-rack]
@@ -1,5 +1,6 @@
1
1
  id: td-bank-nordstrom-visa
2
2
  name: Nordstrom Visa Credit Card
3
+ color: '#2a2a2a'
3
4
  issuer: td-bank
4
5
  network: visa
5
6
  currency: nordy-club
@@ -1,5 +1,6 @@
1
1
  id: td-bank-target-circle-card
2
2
  name: Target Circle Card
3
+ color: '#cc0000'
3
4
  issuer: td-bank
4
5
  network: store
5
6
  only_at: [target]
@@ -0,0 +1,150 @@
1
+ id: usbank-altitude-connect
2
+ name: U.S. Bank Altitude Connect Visa Signature Card
3
+ short_name: Altitude Connect
4
+ color: '#3c4655'
5
+ issuer: usbank
6
+ network: visa
7
+ currency: usbank-altitude
8
+ last_verified: 2026-11-04
9
+ verified_by: claude
10
+ source_urls:
11
+ - https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
12
+ - https://onboarding.usbank.com/gateway/partner/credit-card/begin?locationCode=18569&offerId=8BB5BD89H1&sourceCode=88416&page=terms
13
+ - https://rewards.usbank.com/benefits/card/AltitudeConnectBenefits/program-rules
14
+ base_rate: 1
15
+ annual_fee: 0
16
+ foreign_transaction_fee: 0
17
+ welcome_offer:
18
+ points: 20000
19
+ spend: 1000
20
+ months: 3
21
+ note: The window is 90 days from account opening, modeled as 3 months. Not available to existing or previous Altitude Connect cardmembers who received a new account bonus for it in the last five years.
22
+ rules:
23
+ - id: travel-center-hotels-car-rentals
24
+ match:
25
+ {
26
+ merchants:
27
+ [usbank-travel-center-hotels, usbank-travel-center-car-rentals],
28
+ }
29
+ rate: 5
30
+ note: Prepaid hotels and car rentals booked in the U.S. Bank Travel Center with this card. They don't also count as travel.
31
+ - id: travel
32
+ match: { categories: [travel, transit.rideshare] }
33
+ exclude:
34
+ {
35
+ merchants:
36
+ [usbank-travel-center-hotels, usbank-travel-center-car-rentals],
37
+ }
38
+ rate: 4
39
+ note: Purchases made directly with airlines, hotels, car rental companies, taxis, limousines, passenger trains and cruise lines.
40
+ - id: passenger-trains
41
+ match: { merchants: [amtrak] }
42
+ rate: 4
43
+ note: Passenger trains count as travel.
44
+ - id: gas-ev-charging
45
+ match: { categories: [gas, ev_charging] }
46
+ exclude: { categories: [gas.grocery_store, gas.superstore] }
47
+ rate: 4
48
+ cap: { amount: 1000, period: quarter, then_rate: 1 }
49
+ note: Gas stations and EV charging stations, the first $1,000 each quarter. Gas at discount stores, supercenters, wholesale clubs and grocery stores earns 1X.
50
+ - id: dining
51
+ match: { categories: [dining] }
52
+ rate: 2
53
+ note: Restaurants, fast food and bars.
54
+ - id: grocery
55
+ match: { categories: [grocery.supermarket] }
56
+ exclude: { categories: [superstore, warehouse_club] }
57
+ rate: 2
58
+ note: Grocery stores and supermarkets. Discount stores and supercenters such as Target and Walmart, and wholesale clubs, earn 1X.
59
+ - id: streaming
60
+ match:
61
+ merchants:
62
+ [
63
+ amazon-music,
64
+ amazon-prime-video,
65
+ apple-music,
66
+ apple-tv,
67
+ audible,
68
+ directv-stream,
69
+ discovery-plus,
70
+ disney-plus,
71
+ espn,
72
+ fandango-at-home,
73
+ fubotv,
74
+ max,
75
+ hulu,
76
+ mlb-tv,
77
+ nba-league-pass,
78
+ netflix,
79
+ pandora,
80
+ paramount-plus,
81
+ peacock,
82
+ showtime,
83
+ siriusxm,
84
+ sling-tv,
85
+ spotify,
86
+ starz,
87
+ tidal,
88
+ youtube-premium,
89
+ youtube-tv,
90
+ ]
91
+ rate: 2
92
+ note: 'Qualifying streaming subscriptions: Amazon Music Unlimited, Amazon Prime Video, AMC+, Apple Music, Apple TV+, Audible, DirecTV Stream, Discovery+, Disney+, ESPN+, Fandango at Home, FanDuel Sports Network, Fubo TV, Max, Hulu, iHeart, LiveOne, Luminary, MLB TV, NBA League Pass, Netflix, Pandora, Paramount+, Peacock, Showtime, SiriusXM, Sling TV, Spotify, Starz, Stitcher, Tidal, YouTube Music, YouTube Premium and YouTube TV.'
93
+ # Not modeled: Priority Pass lounge visits, the TSA PreCheck or Global Entry
94
+ # credit and travel protections, which are benefits rather than points.
95
+ # Issuer text backing each rule; `yarn check-sources` checks it weekly.
96
+ evidence:
97
+ - rule: base_rate
98
+ url: https://rewards.usbank.com/benefits/card/AltitudeConnectBenefits/program-rules
99
+ quote: 'You will earn 1 Point for every $1 in eligible Net Purchases'
100
+ - rule: travel-center-hotels-car-rentals
101
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
102
+ quote: 'on prepaid hotels and car rentals booked directly in the Travel Center when you use this card.'
103
+ - rule: travel-center-hotels-car-rentals
104
+ url: https://rewards.usbank.com/benefits/card/AltitudeConnectBenefits/program-rules
105
+ quote: 'are not classified as a travel category merchant transaction'
106
+ - rule: travel
107
+ url: https://rewards.usbank.com/benefits/card/AltitudeConnectBenefits/program-rules
108
+ quote: 'for every $1 on travel category purchases'
109
+ - rule: travel
110
+ url: https://rewards.usbank.com/benefits/card/AltitudeConnectBenefits/program-rules
111
+ quote: 'airlines, hotels, car rentals, taxicabs, limousines, passenger trains and cruise line companies'
112
+ - rule: passenger-trains
113
+ url: https://rewards.usbank.com/benefits/card/AltitudeConnectBenefits/program-rules
114
+ quote: 'airlines, hotels, car rentals, taxicabs, limousines, passenger trains and cruise line companies'
115
+ - rule: gas-ev-charging
116
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
117
+ quote: 'And 4X points at gas stations/EV charging stations* on your first $1,000 each quarter.'
118
+ - rule: gas-ev-charging
119
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
120
+ quote: 'discount stores/supercenters, wholesale clubs and grocery stores/supermarkets will earn only 1 Point'
121
+ - rule: dining
122
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
123
+ quote: '2X points on dining, streaming services and at grocery stores.'
124
+ - rule: dining
125
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
126
+ quote: 'restaurant, fast-food restaurant and bar'
127
+ - rule: grocery
128
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
129
+ quote: 'wholesale clubs and discount stores/supercenters such as Target and Walmart will earn only 1 Point'
130
+ - rule: streaming
131
+ url: https://rewards.usbank.com/benefits/card/AltitudeConnectBenefits/program-rules
132
+ quote: 'Qualifying streaming subscription services are: Amazon Music Unlimited, Amazon Prime Video, AMC+'
133
+ - rule: annual_fee
134
+ url: https://onboarding.usbank.com/gateway/partner/credit-card/begin?locationCode=18569&offerId=8BB5BD89H1&sourceCode=88416&page=terms
135
+ quote: 'Annual Membership Fee None'
136
+ - rule: welcome_offer
137
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
138
+ quote: 'Just spend $1,000 in Net Purchases in the first 90 days.'
139
+ - rule: welcome_offer
140
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
141
+ quote: 'Earn 20,000 bonus points.'
142
+ - rule: welcome_offer
143
+ url: https://www.usbank.com/credit-cards/altitude-connect-visa-signature-credit-card.html
144
+ quote: 'if you have received a new account bonus for this product in the last five years'
145
+ - rule: foreign_transaction_fee
146
+ url: https://onboarding.usbank.com/gateway/partner/credit-card/begin?locationCode=18569&offerId=8BB5BD89H1&sourceCode=88416&page=terms
147
+ quote: 'Foreign Transaction None'
148
+ todo:
149
+ - 'AMC+, FanDuel Sports Network, iHeart, LiveOne, Luminary, Stitcher and YouTube Music are qualifying streaming services that earnrate has no merchant for yet.'
150
+ - "Passenger trains are modeled only for Amtrak, since earnrate's transit category also covers buses, tolls and parking, which U.S. Bank doesn't list as travel."
@@ -0,0 +1,118 @@
1
+ id: usbank-altitude-go
2
+ name: U.S. Bank Altitude Go Visa Signature Card
3
+ color: '#6b7f8f'
4
+ issuer: usbank
5
+ network: visa
6
+ currency: usbank-altitude
7
+ last_verified: 2026-11-04
8
+ verified_by: claude
9
+ source_urls:
10
+ - https://www.usbank.com/credit-cards/altitude-go-visa-signature-credit-card.html
11
+ - https://onboarding.usbank.com/gateway/partner/credit-card/begin?locationCode=18569&offerId=HQWRM3D57Q&sourceCode=88268&page=terms
12
+ - https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
13
+ base_rate: 1
14
+ annual_fee: 0
15
+ foreign_transaction_fee: 3
16
+ welcome_offer:
17
+ points: 20000
18
+ spend: 1000
19
+ months: 3
20
+ note: The window is 90 days from account opening, modeled as 3 months. Not available to existing or previous Altitude Go cardmembers who received a new account bonus for it in the last five years.
21
+ rules:
22
+ - id: dining
23
+ match: { categories: [dining] }
24
+ rate: 4
25
+ cap: { amount: 2000, period: quarter, then_rate: 1 }
26
+ note: Restaurants, fast food, bars, takeout and restaurant delivery. The first $2,000 each quarter, then 1X.
27
+ - id: grocery
28
+ match: { categories: [grocery.supermarket] }
29
+ exclude: { categories: [superstore, warehouse_club] }
30
+ rate: 2
31
+ note: Grocery stores and supermarkets. Discount stores and supercenters such as Target and Walmart, and wholesale clubs, earn 1X.
32
+ - id: gas-ev-charging
33
+ match: { categories: [gas, ev_charging] }
34
+ exclude: { categories: [gas.grocery_store, gas.superstore] }
35
+ rate: 2
36
+ note: Gas stations and EV charging stations. Gas at discount stores, supercenters, wholesale clubs and grocery stores earns 1X.
37
+ - id: streaming
38
+ match:
39
+ merchants:
40
+ [
41
+ amazon-music,
42
+ amazon-prime-video,
43
+ apple-music,
44
+ apple-tv,
45
+ audible,
46
+ directv-stream,
47
+ discovery-plus,
48
+ disney-plus,
49
+ espn,
50
+ fandango-at-home,
51
+ fubotv,
52
+ max,
53
+ hulu,
54
+ mlb-tv,
55
+ nba-league-pass,
56
+ netflix,
57
+ pandora,
58
+ paramount-plus,
59
+ peacock,
60
+ showtime,
61
+ siriusxm,
62
+ sling-tv,
63
+ spotify,
64
+ starz,
65
+ tidal,
66
+ youtube-premium,
67
+ youtube-tv,
68
+ ]
69
+ rate: 2
70
+ note: 'Qualifying streaming subscriptions: Amazon Music Unlimited, Amazon Prime Video, AMC+, Apple Music, Apple TV+, Audible, DirecTV Stream, Discovery+, Disney+, ESPN+, Fandango at Home, FanDuel Sports Network, Fubo TV, Max, Hulu, iHeart, LiveOne, Luminary, MLB TV, NBA League Pass, Netflix, Pandora, Paramount+, Peacock, Showtime, SiriusXM, Sling TV, Spotify, Starz, Stitcher, Tidal, YouTube Music, YouTube Premium and YouTube TV.'
71
+ # Not modeled: the $15 streaming credit after 11 consecutive months of
72
+ # streaming purchases.
73
+ # Issuer text backing each rule; `yarn check-sources` checks it weekly.
74
+ evidence:
75
+ - rule: base_rate
76
+ url: https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
77
+ quote: 'You will earn 1 Point for every $1 in eligible Net Purchases'
78
+ - rule: dining
79
+ url: https://www.usbank.com/credit-cards/altitude-go-visa-signature-credit-card.html
80
+ quote: 'on dining, takeout and restaurant delivery on your first $2,000 each quarter'
81
+ - rule: dining
82
+ url: https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
83
+ quote: 'for every $1 on restaurant, fast-food restaurant and bar purchases on your first $2,000 each quarter'
84
+ - rule: grocery
85
+ url: https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
86
+ quote: 'Purchases at discount stores/supercenters such as Target and Walmart and wholesale clubs will earn only 1 point.'
87
+ - rule: grocery
88
+ url: https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
89
+ quote: 'for every $1 in grocery store and supermarket purchases'
90
+ - rule: gas-ev-charging
91
+ url: https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
92
+ quote: 'for every $1 on gas station and EV charging station purchases'
93
+ - rule: gas-ev-charging
94
+ url: https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
95
+ quote: 'discount stores/supercenters, wholesale clubs and grocery stores/supermarkets will earn only 1 Point'
96
+ - rule: streaming
97
+ url: https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
98
+ quote: 'for every $1 on qualifying streaming subscription service purchases'
99
+ - rule: streaming
100
+ url: https://rewards.usbank.com/benefits/card/AltitudeGoBenefits/program-rules
101
+ quote: 'Qualifying streaming subscription services are: Amazon Music Unlimited, Amazon Prime Video, AMC+'
102
+ - rule: annual_fee
103
+ url: https://onboarding.usbank.com/gateway/partner/credit-card/begin?locationCode=18569&offerId=HQWRM3D57Q&sourceCode=88268&page=terms
104
+ quote: 'Annual Membership Fee None'
105
+ - rule: welcome_offer
106
+ url: https://www.usbank.com/credit-cards/altitude-go-visa-signature-credit-card.html
107
+ quote: 'Just spend $1,000 in Net Purchases in the first 90 days.'
108
+ - rule: welcome_offer
109
+ url: https://www.usbank.com/credit-cards/altitude-go-visa-signature-credit-card.html
110
+ quote: 'Earn 20,000 bonus points.'
111
+ - rule: welcome_offer
112
+ url: https://www.usbank.com/credit-cards/altitude-go-visa-signature-credit-card.html
113
+ quote: 'if you have received a new account bonus for this product in the last five years'
114
+ - rule: foreign_transaction_fee
115
+ url: https://onboarding.usbank.com/gateway/partner/credit-card/begin?locationCode=18569&offerId=HQWRM3D57Q&sourceCode=88268&page=terms
116
+ quote: 'Foreign Transaction 3% of each foreign transaction'
117
+ todo:
118
+ - 'AMC+, FanDuel Sports Network, iHeart, LiveOne, Luminary, Stitcher and YouTube Music are qualifying streaming services that earnrate has no merchant for yet.'
@@ -1,5 +1,6 @@
1
1
  id: usbank-cash-plus
2
2
  name: U.S. Bank Cash+ Visa Signature Card
3
+ color: '#4b6e8d'
3
4
  issuer: usbank
4
5
  network: visa
5
6
  currency: cash
@@ -1,5 +1,6 @@
1
1
  id: wells-fargo-active-cash
2
2
  name: Wells Fargo Active Cash Card
3
+ color: '#b8333a'
3
4
  issuer: wells-fargo
4
5
  network: visa
5
6
  currency: cash
@@ -0,0 +1,73 @@
1
+ id: wells-fargo-autograph-journey
2
+ name: Wells Fargo Autograph Journey Card
3
+ short_name: Autograph Journey
4
+ color: '#2b2b2b'
5
+ issuer: wells-fargo
6
+ network: visa
7
+ currency: WFR
8
+ last_verified: 2026-11-04
9
+ verified_by: claude
10
+ source_urls:
11
+ - https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
12
+ - https://www.wellsfargo.com/credit-cards/autograph-journey-visa/terms/
13
+ base_rate: 1
14
+ annual_fee: 95
15
+ foreign_transaction_fee: 0
16
+ welcome_offer:
17
+ points: 60000
18
+ spend: 4000
19
+ months: 3
20
+ note: Offers may differ by marketing channel. Not available if you have the card or opened one in the last 48 months, even if it's closed.
21
+ rules:
22
+ - id: hotels
23
+ match: { categories: [travel.hotels] }
24
+ rate: 5
25
+ note: Merchants coded as hotels and motels.
26
+ - id: airlines
27
+ match: { categories: [travel.flights] }
28
+ rate: 4
29
+ note: Merchants coded as airlines and air carriers.
30
+ - id: restaurants
31
+ match: { categories: [dining] }
32
+ rate: 3
33
+ note: Restaurants, bars, fast food and caterers.
34
+ - id: other-travel
35
+ match: { categories: [travel] }
36
+ rate: 3
37
+ note: Car rentals, cruise lines, travel agencies, discount travel sites, timeshares and campgrounds.
38
+ # Not modeled: the $50 yearly statement credit after a $50 airline purchase.
39
+ # Issuer text backing each rule; `yarn check-sources` checks it weekly.
40
+ evidence:
41
+ - rule: base_rate
42
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
43
+ quote: '1 rewards point will be earned per $1 spent on other net purchases'
44
+ - rule: hotels
45
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
46
+ quote: 'Five rewards points (1 base point plus 4 bonus points) are earned per $1 spent'
47
+ - rule: hotels
48
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
49
+ quote: 'with retailers whose merchant category code is classified as hotel/motel'
50
+ - rule: airlines
51
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
52
+ quote: 'Airlines: 4 points (1 base point plus 3 bonus points) for every $1 spent'
53
+ - rule: restaurants
54
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
55
+ quote: 'eating places and restaurants, drinking places, fast food restaurants, and caterers'
56
+ - rule: other-travel
57
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
58
+ quote: 'timeshare, or vehicle/auto rental, cruise lines, travel agencies, discount travel sites, campgrounds'
59
+ - rule: annual_fee
60
+ url: https://www.wellsfargo.com/credit-cards/autograph-journey-visa/terms/
61
+ quote: 'Annual Fee $95'
62
+ - rule: welcome_offer
63
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
64
+ quote: 'when you spend $4,000 in purchases in the first 3 months'
65
+ - rule: welcome_offer
66
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
67
+ quote: 'Earn 60,000 bonus points'
68
+ - rule: welcome_offer
69
+ url: https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/
70
+ quote: 'or opened one within the last 48 months from the date of the application'
71
+ - rule: foreign_transaction_fee
72
+ url: https://www.wellsfargo.com/credit-cards/autograph-journey-visa/terms/
73
+ quote: 'Foreign Transaction None'
@@ -1,5 +1,6 @@
1
1
  id: wells-fargo-autograph
2
2
  name: Wells Fargo Autograph Card
3
+ color: '#7d2130'
3
4
  issuer: wells-fargo
4
5
  network: visa
5
6
  currency: WFR
@@ -26,7 +26,9 @@
26
26
  mccs: [5814]
27
27
 
28
28
  - id: grocery
29
- name: Grocery
29
+ name: Grocery stores
30
+ # Keeps /best/grocery, the page's address before it had this name.
31
+ slug: grocery
30
32
  - id: grocery.supermarket
31
33
  name: Supermarkets
32
34
  aliases: [groceries, grocery, grocery stores, supermarket]
@@ -33,6 +33,31 @@
33
33
  - https://www.sofi.com/credit-card/unlimited/
34
34
  - https://www.sofi.com/card/rewards?cardtype=c
35
35
 
36
+ - id: bofa-travel-rewards
37
+ name: Bank of America Travel Rewards points
38
+ value_cents: 1.0
39
+ redemptions:
40
+ cash: 0.6
41
+ redemption_names:
42
+ cash: as cash
43
+ note: Each point is worth 1¢ as a statement credit against travel and dining purchases from the past 12 months, or 0.6¢ redeemed for cash.
44
+ sources:
45
+ - https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079333&productoffercode=75&locale=en_US
46
+
47
+ - id: bofa-premium-rewards
48
+ name: Bank of America Premium Rewards points
49
+ value_cents: 1.0
50
+ note: Each point is worth 1¢ redeemed for cash, a statement credit or travel at the Travel Center.
51
+ sources:
52
+ - https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
53
+
54
+ - id: usbank-altitude
55
+ name: U.S. Bank Altitude points
56
+ value_cents: 1.0
57
+ note: U.S. Bank values 20,000 Altitude Go points at $200 as a deposit to a U.S. Bank account (1¢ a point). Points also redeem as a statement credit, or for travel, gift cards and merchandise.
58
+ sources:
59
+ - https://www.usbank.com/credit-cards/altitude-go-visa-signature-credit-card.html
60
+
36
61
  - id: best-buy-rewards
37
62
  name: My Best Buy rewards
38
63
  value_cents: 2.0
@@ -123,6 +148,15 @@
123
148
  sources:
124
149
  - https://thepointsguy.com/loyalty-programs/monthly-valuations/
125
150
 
151
+ - id: trueblue-points
152
+ name: JetBlue TrueBlue points
153
+ value_cents: 1.0
154
+ range: [1.0, 1.35]
155
+ note: JetBlue publishes no fixed cash value; award prices track the published base fare, and the Barclays Points Payback rate is shown only at redemption. 1.0¢ is a conservative default. 1.35¢ is TPG's November 2026 valuation.
156
+ sources:
157
+ - https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
158
+ - https://thepointsguy.com/loyalty-programs/monthly-valuations/
159
+
126
160
  - id: ihg-points
127
161
  name: IHG One Rewards points
128
162
  value_cents: 0.5