earnrate 0.2.10 → 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 (130) hide show
  1. package/README.md +31 -11
  2. package/data/CHANGELOG.md +154 -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 +122 -0
  11. package/data/cards/amex-delta-skymiles-platinum.yaml +120 -0
  12. package/data/cards/amex-delta-skymiles-reserve.yaml +82 -0
  13. package/data/cards/amex-gold.yaml +1 -0
  14. package/data/cards/amex-hilton-honors-aspire.yaml +142 -0
  15. package/data/cards/amex-hilton-honors-business.yaml +93 -0
  16. package/data/cards/amex-hilton-honors-surpass.yaml +153 -0
  17. package/data/cards/amex-hilton-honors.yaml +119 -0
  18. package/data/cards/amex-marriott-bonvoy-bevy.yaml +118 -0
  19. package/data/cards/amex-marriott-bonvoy-brilliant.yaml +93 -0
  20. package/data/cards/amex-marriott-bonvoy-business.yaml +116 -0
  21. package/data/cards/amex-platinum.yaml +15 -0
  22. package/data/cards/bank-of-america-atmos-rewards-ascent.yaml +14 -0
  23. package/data/cards/bank-of-america-atmos-rewards-business.yaml +15 -0
  24. package/data/cards/bank-of-america-atmos-rewards-summit.yaml +17 -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 +82 -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 +30 -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 +124 -0
  53. package/data/cards/chase-marriott-bonvoy-boundless.yaml +78 -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 +30 -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 +11 -0
  63. package/data/cards/chase-united-club-business.yaml +20 -0
  64. package/data/cards/chase-united-club.yaml +32 -0
  65. package/data/cards/chase-united-explorer.yaml +20 -0
  66. package/data/cards/chase-united-gateway.yaml +19 -0
  67. package/data/cards/chase-united-quest.yaml +20 -0
  68. package/data/cards/citi-aadvantage-business.yaml +14 -1
  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 +14 -1
  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 +188 -0
  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 +60 -0
  96. package/data/issuers.yaml +25 -1
  97. package/data/memberships.yaml +10 -0
  98. package/data/merchants/overrides.yaml +515 -1
  99. package/data/merchants/seed.yaml +883 -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/cheat-sheet.js +3 -0
  105. package/dist/engine/checklist.js +14 -3
  106. package/dist/engine/evaluate.js +19 -7
  107. package/dist/engine/intro.js +36 -0
  108. package/dist/engine/recommend.js +41 -10
  109. package/dist/engine/record.js +2 -0
  110. package/dist/engine/rule-text.js +15 -1
  111. package/dist/engine/setup.js +6 -0
  112. package/dist/engine/text.js +23 -0
  113. package/dist/engine/wallet-change.js +20 -3
  114. package/dist/engine/wallet-summary.js +24 -4
  115. package/dist/format/card-art.js +21 -0
  116. package/dist/format/cards.js +1 -0
  117. package/dist/format/wallet-yaml.js +1 -0
  118. package/dist/format/wallet.js +10 -4
  119. package/dist/import/analyze.js +1 -0
  120. package/dist/mcp/inputs.js +3 -0
  121. package/dist/mcp/prompts.js +90 -0
  122. package/dist/mcp/schemas.js +17 -0
  123. package/dist/mcp/server.js +2 -0
  124. package/dist/mcp/tools/account.js +8 -5
  125. package/dist/mcp/tools/answers.js +7 -0
  126. package/dist/mcp/tools/wallet.js +7 -2
  127. package/dist/schema/card.js +23 -0
  128. package/dist/schema/issuer.js +4 -0
  129. package/dist/schema/wallet.js +3 -0
  130. package/package.json +12 -3
@@ -0,0 +1,93 @@
1
+ id: amex-marriott-bonvoy-brilliant
2
+ name: Marriott Bonvoy Brilliant American Express Card
3
+ short_name: Bonvoy Brilliant
4
+ color: '#2a2a2e'
5
+ issuer: amex
6
+ network: amex
7
+ currency: marriott-bonvoy
8
+ last_verified: 2026-11-03
9
+ verified_by: claude
10
+ source_urls:
11
+ - https://www.americanexpress.com/us/credit-cards/card/marriott-bonvoy-brilliant/
12
+ - https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
13
+ base_rate: 2
14
+ annual_fee: 650
15
+ foreign_transaction_fee: 0
16
+ welcome_offer:
17
+ points: 100000
18
+ spend: 6000
19
+ months: 6
20
+ note: 'No end date given. Not available if you have or have had this Card, the Starwood Preferred Guest American Express Luxury Card or previous versions; Amex may also decline based on your card history. Also not available to anyone who had a Ritz-Carlton card from J.P. Morgan in the last 30 days, opened the Marriott Bonvoy Bountiful, Boundless or Bold card from Chase in the last 90 days, or got a new cardmember or upgrade bonus on one of those Chase cards in the last 24 months.'
21
+ rules:
22
+ - id: marriott-hotels
23
+ match: { merchants: [marriott] }
24
+ rate: 6
25
+ note: Charged directly with participating Marriott Bonvoy hotels, standalone Marriott retail stores and Marriott online stores (including Marriott gift cards online). Marriott's own member and elite points for stays aren't card earnings.
26
+ - id: restaurants
27
+ match: { categories: [dining] }
28
+ rate: 3
29
+ note: Restaurants worldwide. Not nightclubs, convenience stores, grocery stores or supermarkets; a restaurant inside a hotel, casino or event venue may code as that place instead.
30
+ - id: flights
31
+ match: { categories: [travel.flights] }
32
+ rate: 3
33
+ note: Scheduled flights charged directly with the airline. Charter and private jet flights are excluded.
34
+ milestones:
35
+ - id: earned-choice-60k
36
+ spend: 60000
37
+ period: calendar_year
38
+ rewards:
39
+ - 'Brilliant Earned Choice Award: pick five Nightly Upgrade Awards, a Free Night Award (up to 85,000 points) or 50,000 Bonvoy points'
40
+ note: One a calendar year, picked at choice-benefit.marriott.com/brilliant by February 1 of the next year, or it defaults to the Nightly Upgrade Awards. Basic Card Member only.
41
+ evidence:
42
+ - rule: base_rate
43
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
44
+ quote: 'You will receive 2 Marriott Bonvoy® points for each U.S. dollar of eligible purchases charged'
45
+ - rule: base_rate
46
+ url: https://www.americanexpress.com/us/credit-cards/card/marriott-bonvoy-brilliant/
47
+ quote: 'Spent on other eligible purchases.'
48
+ - rule: marriott-hotels
49
+ url: https://www.americanexpress.com/us/credit-cards/card/marriott-bonvoy-brilliant/
50
+ quote: '6X points at hotels participating in Marriott Bonvoy®'
51
+ - rule: marriott-hotels
52
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
53
+ quote: 'when charged directly with participating Marriott Bonvoy properties, standalone Marriott branded retail establishments'
54
+ - rule: restaurants
55
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
56
+ quote: '1 additional point (for a total of 3 points) for each dollar charged at restaurants worldwide'
57
+ - rule: restaurants
58
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
59
+ quote: 'You will NOT earn 1 additional point for purchases at nightclubs, convenience stores, grocery stores or supermarkets.'
60
+ - rule: flights
61
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
62
+ quote: 'for airfare on a scheduled flight charged directly with passenger airlines (charter flights and private jet flights are excluded)'
63
+ - rule: flights
64
+ url: https://www.americanexpress.com/us/credit-cards/card/marriott-bonvoy-brilliant/
65
+ quote: '3X points at restaurants worldwide & on flights booked directly with airlines'
66
+ - rule: earned-choice-60k
67
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
68
+ quote: 'your total eligible purchases on your Marriott Bonvoy Brilliant® American Express® Card reach or exceed $60,000'
69
+ - rule: earned-choice-60k
70
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
71
+ quote: 'Free Night Award with a redemption value up to 85K points• One-time deposit of 50K Marriott Bonvoy points'
72
+ - rule: earned-choice-60k
73
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
74
+ quote: 'only one Brilliant Earned Choice Award may be earned each calendar year per Card Account'
75
+ - rule: annual_fee
76
+ url: https://www.americanexpress.com/us/credit-cards/card/marriott-bonvoy-brilliant/
77
+ quote: 'Annual Fee: $650'
78
+ - rule: annual_fee
79
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
80
+ quote: 'Annual Fee $650 Transaction Fees'
81
+ - rule: foreign_transaction_fee
82
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
83
+ quote: 'Foreign Transaction None Penalty Fees'
84
+ - rule: welcome_offer
85
+ url: https://www.americanexpress.com/us/credit-cards/card/marriott-bonvoy-brilliant/
86
+ quote: 'Earn 100,000 Marriott Bonvoy® Bonus Points'
87
+ - rule: welcome_offer
88
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/marriott-bonvoy-brilliant-card/25330-10-0#offer-terms
89
+ quote: 'eligible purchases on your Marriott Bonvoy Brilliant® American Express® Card within your first 6 months of Card Membership'
90
+ todo:
91
+ - The Brilliant Earned Choice Award can be 50,000 points, but it's a pick among non-point awards too, so the milestone carries no points value.
92
+ - The $300 Brilliant Dining Credit (up to $25 a month at restaurants worldwide), the $100 property credit on two-night Ritz-Carlton or St. Regis stays, and the yearly Free Night Award (up to 85,000 points) after each renewal month aren't modeled.
93
+ - Complimentary Platinum Elite status and 25 Elite Night Credits each year aren't modeled; they don't depend on spending.
@@ -0,0 +1,116 @@
1
+ id: amex-marriott-bonvoy-business
2
+ name: Marriott Bonvoy Business American Express Card
3
+ short_name: Marriott Bonvoy Business
4
+ color: '#3a3a3e'
5
+ issuer: amex
6
+ network: amex
7
+ currency: marriott-bonvoy
8
+ business: true
9
+ last_verified: 2026-11-04
10
+ verified_by: claude
11
+ source_urls:
12
+ - https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/amex-marriott-bonvoy-business-credit-card/
13
+ - https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
14
+ base_rate: 2
15
+ annual_fee: 125
16
+ foreign_transaction_fee: 0
17
+ welcome_offer:
18
+ points: 100000
19
+ spend: 8000
20
+ months: 6
21
+ valid_to: 2026-11-04
22
+ note: 'Plus a Free Night Award (up to 50,000 points), which earnrate does not value. Amex: "You may not be eligible to receive a welcome offer if you have or have had this Card or the Starwood Preferred Guest® Business Credit Card from American Express or previous versions of these Cards," and may also decline based on your card history. Also not available to anyone who had a Marriott business card from Chase in the last 30 days, opened the Marriott Bonvoy Bountiful, Boundless or Bold card from Chase in the last 90 days, or got a new Card Member bonus on one of those Chase cards in the last 24 months.'
23
+ rules:
24
+ - id: marriott-hotels
25
+ match: { merchants: [marriott] }
26
+ rate: 6
27
+ note: Charged directly with participating Marriott Bonvoy hotels, standalone Marriott retail stores and Marriott online stores (including Marriott gift cards online). Marriott's own member and elite points for stays aren't card earnings.
28
+ - id: restaurants
29
+ match: { categories: [dining] }
30
+ rate: 4
31
+ note: Charged directly at restaurants worldwide; a restaurant inside a hotel, casino or event venue may code as that place instead.
32
+ - id: us-gas
33
+ match: { categories: [gas] }
34
+ rate: 4
35
+ geography: us_only
36
+ note: Gasoline at U.S. gas stations.
37
+ - id: us-wireless
38
+ match: { categories: [phone] }
39
+ rate: 4
40
+ geography: us_only
41
+ note: Wireless phone service bought directly from a U.S. provider. Not Google Fi.
42
+ - id: us-shipping
43
+ match: { categories: [shipping] }
44
+ rate: 4
45
+ geography: us_only
46
+ note: Shipping bought from U.S. merchants.
47
+ milestones:
48
+ - id: free-night-60k
49
+ spend: 60000
50
+ period: calendar_year
51
+ rewards:
52
+ - Marriott Bonvoy Free Night Award (up to 35,000 points)
53
+ note: Basic Card Member only, though Additional Card purchases count. Deposited 8-12 weeks after you reach $60,000; expires a year after it's issued.
54
+ evidence:
55
+ - rule: base_rate
56
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
57
+ quote: 'You will receive 2 Marriott Bonvoy® points for each U.S. dollar of eligible purchases'
58
+ - rule: marriott-hotels
59
+ url: https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/amex-marriott-bonvoy-business-credit-card/
60
+ quote: 'Per dollar on eligible purchases at hotels participating in Marriott Bonvoy®.'
61
+ - rule: marriott-hotels
62
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
63
+ quote: 'You will receive 4 additional points (for a total of 6 points)'
64
+ - rule: marriott-hotels
65
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
66
+ quote: 'standalone Marriott branded retail establishments, and Marriott branded online stores'
67
+ - rule: restaurants
68
+ url: https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/amex-marriott-bonvoy-business-credit-card/
69
+ quote: 'at restaurants worldwide, at U.S. gas stations, on wireless telephone services'
70
+ - rule: restaurants
71
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
72
+ quote: 'You will receive 2 additional points (for a total of 4 points)'
73
+ - rule: restaurants
74
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
75
+ quote: 'when charged directly at restaurants worldwide'
76
+ - rule: us-gas
77
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
78
+ quote: 'on gasoline at U.S. gas stations'
79
+ - rule: us-wireless
80
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
81
+ quote: 'on wireless telephone services purchased directly from U.S. service providers (excludes Google Fi)'
82
+ - rule: us-shipping
83
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
84
+ quote: 'on purchases made from merchants in the U.S. for shipping'
85
+ - rule: us-shipping
86
+ url: https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/amex-marriott-bonvoy-business-credit-card/
87
+ quote: 'purchased directly from U.S. service providers and on U.S. purchases for shipping.'
88
+ - rule: free-night-60k
89
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
90
+ quote: 'total eligible purchases on the Marriott Bonvoy Business® American Express® Card reach $60,000'
91
+ - rule: free-night-60k
92
+ url: https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/amex-marriott-bonvoy-business-credit-card/
93
+ quote: 'earn an additional Free Night Award after you spend $60K in purchases on your Card in a calendar year.'
94
+ - rule: annual_fee
95
+ url: https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/amex-marriott-bonvoy-business-credit-card/
96
+ quote: 'Annual Fee: $125'
97
+ - rule: annual_fee
98
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
99
+ quote: 'Annual Fee $125 Transaction Fees'
100
+ - rule: foreign_transaction_fee
101
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
102
+ quote: 'Foreign Transaction None Penalty Fees'
103
+ - rule: welcome_offer
104
+ url: https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/amex-marriott-bonvoy-business-credit-card/
105
+ quote: 'Earn 100,000 Marriott Bonvoy® Bonus Points and 1 Free Night Award'
106
+ - rule: welcome_offer
107
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
108
+ quote: 'after you spend $8,000 or more (the “Threshold Amount”) in eligible purchases'
109
+ - rule: welcome_offer
110
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/marriott-bonvoy-business-american-express-card/45094-9-0#offer-terms
111
+ quote: 'Offer ends 11/4/2026 at 11:59 PM MST.'
112
+ todo:
113
+ - The welcome offer ends 11/04/2026; re-check the card page for the next one.
114
+ - The welcome offer's Free Night Award isn't valued; a welcome offer holds only points.
115
+ - Not modeled (perks, not points per dollar) the yearly Free Night Award after each renewal, 15 Elite Night Credits a year, complimentary Gold Elite status and the 7% Amex Business Card Rate discount.
116
+ - The terms don't say whether gas at superstores or warehouse clubs counts as a U.S. gas station, so it isn't excluded.
@@ -1,5 +1,6 @@
1
1
  id: amex-platinum
2
2
  name: The Platinum Card from American Express
3
+ color: '#c7c9cc'
3
4
  issuer: amex
4
5
  network: amex
5
6
  currency: MR
@@ -46,6 +47,14 @@ rules:
46
47
  match: { merchants: [amex-travel-cruises] }
47
48
  rate: 2
48
49
  note: Cruises booked and charged through AmexTravel.com or by phone with Amex Travel. Payments made directly to the cruise line don't count.
50
+ milestones:
51
+ - id: spend-75k
52
+ spend: 75000
53
+ period: calendar_year
54
+ rewards:
55
+ - Centurion Lounge guest access for 2 guests
56
+ - unlimited Delta Sky Club access
57
+ note: 'Purchases by additional card members count. Both last the rest of that calendar year, all of the next and through the January 31 after. Sky Club visits still need a same-day Delta flight.'
49
58
  # Issuer text backing each rule; `yarn check-sources` checks it weekly.
50
59
  evidence:
51
60
  - rule: base_rate
@@ -90,3 +99,9 @@ evidence:
90
99
  - rule: foreign_transaction_fee
91
100
  url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/platinum-card/25330-10-0#offer-terms
92
101
  quote: 'Foreign Transaction None Penalty Fees'
102
+ - rule: spend-75k
103
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/platinum-card/25330-10-0#offer-terms
104
+ quote: 'after spending $75,000 or more on eligible purchases on the Platinum Account in a calendar year'
105
+ - rule: spend-75k
106
+ url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/platinum-card/25330-10-0#offer-terms
107
+ quote: 'the total eligible purchases on the Eligible Platinum Card Account must equal or exceed $75,000'
@@ -1,5 +1,6 @@
1
1
  id: bank-of-america-atmos-rewards-ascent
2
2
  name: Atmos Rewards Ascent Visa Signature Credit Card
3
+ color: '#1b3a5c'
3
4
  issuer: bank-of-america
4
5
  network: visa
5
6
  currency: atmos-points
@@ -42,6 +43,13 @@ rules:
42
43
  rate: 1.1
43
44
  requires: { membership: bank-of-america-account }
44
45
  note: The 1x base rate plus the 10% rewards bonus for holding an eligible Bank of America account.
46
+ milestones:
47
+ - id: spend-6k
48
+ spend: 6000
49
+ period: cardmember_year
50
+ rewards:
51
+ - a $99 Companion Fare
52
+ note: 'Spending by the account anniversary counts; the code arrives within 2 billing cycles after it. $99 plus taxes and fees from $23, for a companion on a Saver or Main Cabin fare within North America on Alaska or Hawaiian. Use it within 12 months.'
45
53
  evidence:
46
54
  - rule: base_rate
47
55
  url: https://www.bankofamerica.com/credit-cards/products/alaska-airlines-credit-card/
@@ -82,6 +90,12 @@ evidence:
82
90
  - rule: foreign_transaction_fee
83
91
  url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4081060&productoffercode=RS&locale=en_US
84
92
  quote: 'Foreign Transaction None Penalty Fee'
93
+ - rule: spend-6k
94
+ url: https://www.bankofamerica.com/credit-cards/products/alaska-airlines-credit-card/
95
+ quote: 'each account anniversary after you spend $6,000 or more on purchases within the prior anniversary year'
96
+ - rule: spend-6k
97
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4081060&productoffercode=RS&locale=en_US
98
+ quote: 'each anniversary after spending $6,000 or more on Net Purchases'
85
99
  todo:
86
100
  - 20% back on Alaska and Hawaiian inflight purchases is a rebate, not points, and isn't modeled.
87
101
  - "BofA's rewards page lists Atmos Rewards cards as not eligible for the BofA Rewards tier bonus (in a popup the source check can't read), so the 10% account bonus stands alone."
@@ -1,5 +1,7 @@
1
1
  id: bank-of-america-atmos-rewards-business
2
2
  name: Atmos Rewards Visa Signature Business Card
3
+ short_name: Atmos Rewards Business
4
+ color: '#2a4a6b'
3
5
  issuer: bank-of-america
4
6
  network: visa
5
7
  currency: atmos-points
@@ -43,6 +45,13 @@ rules:
43
45
  rate: 1.1
44
46
  requires: { membership: bank-of-america-small-business-account }
45
47
  note: The 1x base rate plus the 10% rewards bonus when the company has an eligible Bank of America small business account.
48
+ milestones:
49
+ - id: spend-6k
50
+ spend: 6000
51
+ period: cardmember_year
52
+ rewards:
53
+ - a $99 Companion Fare
54
+ note: 'Spending by the account anniversary counts; the code arrives within 2 billing cycles after it. $99 plus taxes and fees from $23, for a companion on a Saver or Main Cabin fare within North America on Alaska or Hawaiian. Use it within 12 months.'
46
55
  evidence:
47
56
  - rule: base_rate
48
57
  url: https://www.bankofamerica.com/smallbusiness/credit-cards/products/alaska-airlines-business-credit-card/
@@ -86,6 +95,12 @@ evidence:
86
95
  - rule: foreign_transaction_fee
87
96
  url: https://www.bankofamerica.com/smallbusiness/credit-cards/terms-and-conditions/?campaignid=4080500&productoffercode=CX&locale=en_US
88
97
  quote: 'International Transaction None Penalty Fee'
98
+ - rule: spend-6k
99
+ url: https://www.bankofamerica.com/smallbusiness/credit-cards/products/alaska-airlines-business-credit-card/
100
+ quote: 'every year that you spend at least $6,000 on purchases with your card'
101
+ - rule: spend-6k
102
+ url: https://www.bankofamerica.com/smallbusiness/credit-cards/terms-and-conditions/?campaignid=4080500&productoffercode=CX&locale=en_US
103
+ quote: 'after $6,000 or more in Net Purchases post to the account billing statement during the card anniversary year'
89
104
  todo:
90
105
  - 'annual_fee is the $70 per-company fee. Each card also costs $25 a year, which the schema has no field for.'
91
106
  - "BofA's rewards page lists Atmos Rewards cards as not eligible for the BofA Rewards tier bonus (in a popup the source check can't read), so the 10% account bonus stands alone."
@@ -1,5 +1,6 @@
1
1
  id: bank-of-america-atmos-rewards-summit
2
2
  name: Atmos Rewards Summit Visa Infinite Credit Card
3
+ color: '#1a1f2b'
3
4
  issuer: bank-of-america
4
5
  network: visa
5
6
  currency: atmos-points
@@ -50,6 +51,13 @@ rules:
50
51
  rate: 1.1
51
52
  requires: { membership: bank-of-america-account }
52
53
  note: The 1x base rate plus the 10% rewards bonus for holding an eligible Bank of America account.
54
+ milestones:
55
+ - id: spend-60k
56
+ spend: 60000
57
+ period: cardmember_year
58
+ rewards:
59
+ - a 100,000-point Global Companion Award
60
+ note: "Up to 100,000 points off a companion's award ticket when you book with points; it credits within 1-2 billing cycles and must be used within 12 months. Separate from the 25,000-point award every anniversary."
53
61
  evidence:
54
62
  - rule: base_rate
55
63
  url: https://www.bankofamerica.com/credit-cards/products/alaska-airlines-infinite-credit-card/
@@ -96,5 +104,14 @@ evidence:
96
104
  - rule: foreign_transaction_fee
97
105
  url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4081112&productoffercode=S2&locale=en_US
98
106
  quote: 'Foreign Transaction None Penalty Fee'
107
+ - rule: spend-60k
108
+ url: https://www.bankofamerica.com/credit-cards/products/alaska-airlines-infinite-credit-card/
109
+ quote: 'receive a 100,000-point Global Companion Award annually after spending $60,000 or more on purchases that year'
110
+ - rule: spend-60k
111
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4081112&productoffercode=S2&locale=en_US
112
+ quote: 'Annual Global 100K Companion Award worth up to 100,000 points after you spend $60,000 or more'
113
+ - rule: spend-60k
114
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4081112&productoffercode=S2&locale=en_US
115
+ quote: 'during your Card anniversary year (every 12 months from the open date anniversary)'
99
116
  todo:
100
117
  - "BofA's rewards page lists Atmos Rewards cards as not eligible for the BofA Rewards tier bonus (in a popup the source check can't read), so the 10% account bonus stands alone."
@@ -1,5 +1,7 @@
1
1
  id: bank-of-america-customized-cash-rewards
2
2
  name: Bank of America Customized Cash Rewards Credit Card
3
+ short_name: BofA Customized Cash
4
+ color: '#c8102e'
3
5
  issuer: bank-of-america
4
6
  # Bank of America's terms carry only the Visa and Visa Signature trademark
5
7
  # notice, so the network is Visa.
@@ -124,6 +126,19 @@ rules:
124
126
  rate: 1.75
125
127
  requires: { membership: bofa-rewards-premier }
126
128
  note: 1% plus the 75% BofA Rewards Premier bonus.
129
+ intro_rates:
130
+ # An extra 3% on the choice category, inside the same quarterly cap. It's
131
+ # added to each tier's rate as is: BofA Rewards pays no bonus on it.
132
+ - id: first-year-choice-bonus
133
+ days: 365
134
+ rules:
135
+ - three-percent
136
+ - three-percent-bofa-rewards-member
137
+ - three-percent-bofa-rewards-preferred-plus
138
+ - three-percent-bofa-rewards-preferred-honors
139
+ - three-percent-bofa-rewards-premier
140
+ add: 3
141
+ note: New accounts opened through this offer only, not converted accounts. Purchases must post within 365 days of opening, and count toward the same $2,500 quarterly cap; past it they earn 1%.
127
142
  # Issuer text backing each rule; `yarn check-sources` checks it weekly.
128
143
  evidence:
129
144
  - rule: base_rate
@@ -213,7 +228,25 @@ evidence:
213
228
  - rule: foreign_transaction_fee
214
229
  url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079537&productoffercode=8H&locale=en_US
215
230
  quote: 'Foreign Transaction 3% of the U.S. dollar amount of each transaction'
231
+ - rule: first-year-choice-bonus
232
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079537&productoffercode=8H&locale=en_US
233
+ quote: 'Earn an additional 3% cash rewards bonus'
234
+ - rule: first-year-choice-bonus
235
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079537&productoffercode=8H&locale=en_US
236
+ quote: 'post to your account within 365 days of the account open date'
237
+ - rule: first-year-choice-bonus
238
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079537&productoffercode=8H&locale=en_US
239
+ quote: 'This offer is subject to the $2,500 quarterly limit for Bonus Categories'
240
+ - rule: first-year-choice-bonus
241
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079537&productoffercode=8H&locale=en_US
242
+ quote: 'nor will you receive any BofA Rewards™ bonus on the additional cash rewards earned from this offer'
243
+ - rule: first-year-choice-bonus
244
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079537&productoffercode=8H&locale=en_US
245
+ quote: 'will not apply to requests to convert existing accounts'
246
+ - rule: first-year-choice-bonus
247
+ url: https://www.bankofamerica.com/credit-cards/products/cash-back-credit-card/
248
+ quote: 'After the 3% first-year bonus offer ends, you will earn 3% and 2% cash back'
216
249
  todo:
217
- - New accounts earn 6% in the choice category for the first year (an extra 3%, inside the same $2,500 quarterly cap, with no BofA Rewards bonus on the extra 3%). earnrate can't see when an account was opened, so this isn't modeled.
250
+ - Bank of America's first-year 3% counts Net Purchases that "post to your account within 365 days of the account open date". earnrate goes by the purchase date and counts the opening day as day 1, so a purchase on the last day or two may be ranked at 3% when it would still earn 6%, or at 6% when it posts too late.
218
251
  - 'The BofA Rewards rules use proposed membership ids: bofa-rewards-member, bofa-rewards-preferred-plus, bofa-rewards-preferred-honors and bofa-rewards-premier. Cardholders who joined Preferred Rewards before May 26, 2026 may have an "extended card benefit" that Bank of America doesn''t define.'
219
252
  - "Online shopping counts any online purchase earnrate can't place in an excluded category, including unknown merchants. Bank of America also excludes doctors, government, insurance, schools and other non-retail services, which earnrate can't tell apart."
@@ -0,0 +1,134 @@
1
+ id: bank-of-america-premium-rewards
2
+ name: Bank of America Premium Rewards Credit Card
3
+ short_name: BofA Premium Rewards
4
+ color: '#3a3f47'
5
+ issuer: bank-of-america
6
+ # The page names the Visa Signature Luxury Hotel Collection and concierge as
7
+ # card benefits, and the terms carry the Visa trademark notice.
8
+ network: visa
9
+ currency: bofa-premium-rewards
10
+ last_verified: 2026-11-04
11
+ verified_by: claude
12
+ source_urls:
13
+ - https://www.bankofamerica.com/credit-cards/products/premium-rewards-credit-card/
14
+ - https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
15
+ - https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
16
+ base_rate: 1.5
17
+ annual_fee: 95
18
+ foreign_transaction_fee: 0
19
+ welcome_offer:
20
+ points: 60000
21
+ spend: 4000
22
+ months: 3
23
+ note: Online offer; the window is 90 days from account opening, modeled as 3 months. The offer may not be available elsewhere after leaving the page. The card may not be available to anyone who has or had it in the past 24 months.
24
+ rules:
25
+ - id: travel-dining
26
+ match: { categories: [travel, transit, dining] }
27
+ rate: 2
28
+ note: Restaurants (fast food included) and bars; airlines, hotels and motels, timeshares, campgrounds, car and RV rentals, cruises, travel agencies and tour operators, trains, buses, taxis, limousines, ferries, parking, and tolls. Not in-flight or duty-free airport purchases, or purchases through third-party payment accounts, mobile card readers or unsupported digital wallets.
29
+ # BofA Rewards members earn a tier bonus on all points: 10% for Member,
30
+ # 25% Preferred Plus, 50% Preferred Honors, 75% Premier.
31
+ - id: travel-dining-bofa-rewards-member
32
+ match: { categories: [travel, transit, dining] }
33
+ rate: 2.2
34
+ requires: { membership: bofa-rewards-member }
35
+ note: 2x plus the 10% BofA Rewards Member bonus.
36
+ - id: everything-bofa-rewards-member
37
+ match: { any: true }
38
+ rate: 1.65
39
+ requires: { membership: bofa-rewards-member }
40
+ note: 1.5x plus the 10% BofA Rewards Member bonus.
41
+ - id: travel-dining-bofa-rewards-preferred-plus
42
+ match: { categories: [travel, transit, dining] }
43
+ rate: 2.5
44
+ requires: { membership: bofa-rewards-preferred-plus }
45
+ note: 2x plus the 25% BofA Rewards Preferred Plus bonus.
46
+ - id: everything-bofa-rewards-preferred-plus
47
+ match: { any: true }
48
+ rate: 1.875
49
+ requires: { membership: bofa-rewards-preferred-plus }
50
+ note: 1.5x plus the 25% BofA Rewards Preferred Plus bonus.
51
+ - id: travel-dining-bofa-rewards-preferred-honors
52
+ match: { categories: [travel, transit, dining] }
53
+ rate: 3
54
+ requires: { membership: bofa-rewards-preferred-honors }
55
+ note: 2x plus the 50% BofA Rewards Preferred Honors bonus.
56
+ - id: everything-bofa-rewards-preferred-honors
57
+ match: { any: true }
58
+ rate: 2.25
59
+ requires: { membership: bofa-rewards-preferred-honors }
60
+ note: 1.5x plus the 50% BofA Rewards Preferred Honors bonus.
61
+ - id: travel-dining-bofa-rewards-premier
62
+ match: { categories: [travel, transit, dining] }
63
+ rate: 3.5
64
+ requires: { membership: bofa-rewards-premier }
65
+ note: 2x plus the 75% BofA Rewards Premier bonus.
66
+ - id: everything-bofa-rewards-premier
67
+ match: { any: true }
68
+ rate: 2.625
69
+ requires: { membership: bofa-rewards-premier }
70
+ note: 1.5x plus the 75% BofA Rewards Premier bonus.
71
+ # Not modeled: the $100 airline incidental and $100 TSA PreCheck or Global
72
+ # Entry statement credits.
73
+ # Issuer text backing each rule; `yarn check-sources` checks it weekly.
74
+ evidence:
75
+ - rule: base_rate
76
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
77
+ quote: 'Earn 1.5 base points for every $1 of Net Purchases (non-Travel and Dining)'
78
+ - rule: travel-dining
79
+ url: https://www.bankofamerica.com/credit-cards/products/premium-rewards-credit-card/
80
+ quote: 'Earn unlimited 2 points for every $1 spent on travel and dining purchases'
81
+ - rule: travel-dining
82
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
83
+ quote: 'Dining includes Restaurants, including Fast Food, and Drinking Establishments, such as Bars or Taverns.'
84
+ - rule: travel-dining
85
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
86
+ quote: 'operators of passenger trains, buses, taxis, limousines, ferries, boat rentals, parking lots and garages, tolls and bridge fees'
87
+ - rule: travel-dining
88
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
89
+ quote: 'like in-flight goods and services, and duty-free airport purchases'
90
+ - rule: travel-dining-bofa-rewards-member
91
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
92
+ quote: 'bonus of 10% for the Member tier'
93
+ - rule: everything-bofa-rewards-member
94
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
95
+ quote: 'bonus of 10% for the Member tier'
96
+ - rule: travel-dining-bofa-rewards-preferred-plus
97
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
98
+ quote: '25% for the Preferred Plus tier'
99
+ - rule: everything-bofa-rewards-preferred-plus
100
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
101
+ quote: '25% for the Preferred Plus tier'
102
+ - rule: travel-dining-bofa-rewards-preferred-honors
103
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
104
+ quote: '50% for the Preferred Honors tier'
105
+ - rule: everything-bofa-rewards-preferred-honors
106
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
107
+ quote: '50% for the Preferred Honors tier'
108
+ - rule: travel-dining-bofa-rewards-premier
109
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
110
+ quote: 'or 75% for the Premier tier'
111
+ - rule: everything-bofa-rewards-premier
112
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
113
+ quote: 'or 75% for the Premier tier'
114
+ - rule: travel-dining-bofa-rewards-member
115
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
116
+ quote: 'a purchase that earns 100 base points will actually earn 110, 125, 150, or 175 points'
117
+ - rule: annual_fee
118
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
119
+ quote: 'Annual Fee $95'
120
+ - rule: welcome_offer
121
+ url: https://www.bankofamerica.com/credit-cards/products/premium-rewards-credit-card/
122
+ quote: 'after you make at least $4,000 in purchases in the first 90 days of account opening'
123
+ - rule: welcome_offer
124
+ url: https://www.bankofamerica.com/credit-cards/products/premium-rewards-credit-card/
125
+ quote: '60,000 online bonus points offer'
126
+ - rule: welcome_offer
127
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
128
+ quote: 'This card may not be available to you if you currently have or have had the card'
129
+ - rule: foreign_transaction_fee
130
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079485&productoffercode=UN&locale=en_US
131
+ quote: 'Foreign Transaction None'
132
+ todo:
133
+ - 'The BofA Rewards rules use proposed membership ids: bofa-rewards-member, bofa-rewards-preferred-plus, bofa-rewards-preferred-honors and bofa-rewards-premier. Cardholders who joined Preferred Rewards before May 26, 2026 may have an "extended card benefit" that Bank of America doesn''t define.'
134
+ - 'Travel also covers tourist attractions and exhibits (art galleries, amusement parks, carnivals, circuses, aquariums, zoos), which have no earnrate category, so they earn 1.5x here.'