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
@@ -0,0 +1,123 @@
1
+ id: bank-of-america-travel-rewards
2
+ name: Bank of America Travel Rewards Credit Card
3
+ short_name: BofA Travel Rewards
4
+ color: '#7a1f2b'
5
+ issuer: bank-of-america
6
+ # Bank of America's terms carry only the Visa and Visa Signature trademark
7
+ # notice, so the network is Visa.
8
+ network: visa
9
+ currency: bofa-travel-rewards
10
+ last_verified: 2026-11-04
11
+ verified_by: claude
12
+ source_urls:
13
+ - https://www.bankofamerica.com/credit-cards/products/travel-rewards-credit-card/
14
+ - https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079333&productoffercode=75&locale=en_US
15
+ - https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
16
+ base_rate: 1.5
17
+ annual_fee: 0
18
+ foreign_transaction_fee: 0
19
+ welcome_offer:
20
+ points: 25000
21
+ spend: 1000
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-center
26
+ match: { merchants: [bofa-travel-center] }
27
+ rate: 3
28
+ note: Purchases made through Bank of America's Travel Center, with no limit.
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-center-bofa-rewards-member
32
+ match: { merchants: [bofa-travel-center] }
33
+ rate: 3.3
34
+ requires: { membership: bofa-rewards-member }
35
+ note: 3x 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-center-bofa-rewards-preferred-plus
42
+ match: { merchants: [bofa-travel-center] }
43
+ rate: 3.75
44
+ requires: { membership: bofa-rewards-preferred-plus }
45
+ note: 3x 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-center-bofa-rewards-preferred-honors
52
+ match: { merchants: [bofa-travel-center] }
53
+ rate: 4.5
54
+ requires: { membership: bofa-rewards-preferred-honors }
55
+ note: 3x 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-center-bofa-rewards-premier
62
+ match: { merchants: [bofa-travel-center] }
63
+ rate: 5.25
64
+ requires: { membership: bofa-rewards-premier }
65
+ note: 3x 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
+ # Issuer text backing each rule; `yarn check-sources` checks it weekly.
72
+ evidence:
73
+ - rule: base_rate
74
+ url: https://www.bankofamerica.com/credit-cards/products/travel-rewards-credit-card/
75
+ quote: 'Earn unlimited 1.5 points for every $1 you spend on everyday purchases'
76
+ - rule: travel-center
77
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079333&productoffercode=75&locale=en_US
78
+ quote: 'Earn 3 points (consisting of 1.5 bonus points and 1.5 base points)'
79
+ - rule: travel-center
80
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079333&productoffercode=75&locale=en_US
81
+ quote: 'for every $1 in Net Purchases, made through the Travel Center'
82
+ - rule: travel-center-bofa-rewards-member
83
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
84
+ quote: 'bonus of 10% for the Member tier'
85
+ - rule: everything-bofa-rewards-member
86
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
87
+ quote: 'bonus of 10% for the Member tier'
88
+ - rule: travel-center-bofa-rewards-preferred-plus
89
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
90
+ quote: '25% for the Preferred Plus tier'
91
+ - rule: everything-bofa-rewards-preferred-plus
92
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
93
+ quote: '25% for the Preferred Plus tier'
94
+ - rule: travel-center-bofa-rewards-preferred-honors
95
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
96
+ quote: '50% for the Preferred Honors tier'
97
+ - rule: everything-bofa-rewards-preferred-honors
98
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
99
+ quote: '50% for the Preferred Honors tier'
100
+ - rule: travel-center-bofa-rewards-premier
101
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
102
+ quote: 'or 75% for the Premier tier'
103
+ - rule: everything-bofa-rewards-premier
104
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
105
+ quote: 'or 75% for the Premier tier'
106
+ - rule: travel-center-bofa-rewards-member
107
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
108
+ quote: 'a purchase that earns 100 base points will actually earn 110, 125, 150, or 175 points'
109
+ - rule: annual_fee
110
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079333&productoffercode=75&locale=en_US
111
+ quote: 'Annual Fee None'
112
+ - rule: welcome_offer
113
+ url: https://www.bankofamerica.com/credit-cards/products/travel-rewards-credit-card/
114
+ quote: '25,000 online bonus points if you make at least $1,000 in purchases in the first 90 days'
115
+ - rule: welcome_offer
116
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079333&productoffercode=75&locale=en_US
117
+ quote: 'This card may not be available to you if you currently have or have had the card'
118
+ - rule: foreign_transaction_fee
119
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4079333&productoffercode=75&locale=en_US
120
+ quote: 'Foreign Transaction None'
121
+ todo:
122
+ - '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.'
123
+ - 'Bank of America says the BofA Rewards bonus doesn''t apply to "the bonus earn for certain programs" without naming them, so whether it applies to the Travel Center''s extra 1.5 points is unclear. The tier rules apply it to all 3 points, as Bank of America''s own BofA Rewards table does (3.3% to 5.25% on Travel Center purchases).'
@@ -0,0 +1,83 @@
1
+ id: bank-of-america-unlimited-cash-rewards
2
+ name: Bank of America Unlimited Cash Rewards Credit Card
3
+ short_name: BofA Unlimited Cash
4
+ color: '#9b1b30'
5
+ issuer: bank-of-america
6
+ # Bank of America's terms carry only the Visa and Visa Signature trademark
7
+ # notice, so the network is Visa.
8
+ network: visa
9
+ currency: cash
10
+ last_verified: 2026-11-04
11
+ verified_by: claude
12
+ source_urls:
13
+ - https://www.bankofamerica.com/credit-cards/products/unlimited-cash-back-credit-card/
14
+ - https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4082058&productoffercode=6E&locale=en_US
15
+ - https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
16
+ base_rate: 1.5
17
+ annual_fee: 0
18
+ foreign_transaction_fee: 3
19
+ welcome_offer:
20
+ dollars: 250
21
+ spend: 1000
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
+ # BofA Rewards members earn a tier bonus on all cash back: 10% for Member,
26
+ # 25% Preferred Plus, 50% Preferred Honors, 75% Premier.
27
+ - id: everything-bofa-rewards-member
28
+ match: { any: true }
29
+ rate: 1.65
30
+ requires: { membership: bofa-rewards-member }
31
+ note: 1.5% plus the 10% BofA Rewards Member bonus.
32
+ - id: everything-bofa-rewards-preferred-plus
33
+ match: { any: true }
34
+ rate: 1.875
35
+ requires: { membership: bofa-rewards-preferred-plus }
36
+ note: 1.5% plus the 25% BofA Rewards Preferred Plus bonus.
37
+ - id: everything-bofa-rewards-preferred-honors
38
+ match: { any: true }
39
+ rate: 2.25
40
+ requires: { membership: bofa-rewards-preferred-honors }
41
+ note: 1.5% plus the 50% BofA Rewards Preferred Honors bonus.
42
+ - id: everything-bofa-rewards-premier
43
+ match: { any: true }
44
+ rate: 2.625
45
+ requires: { membership: bofa-rewards-premier }
46
+ note: 1.5% plus the 75% BofA Rewards Premier bonus.
47
+ # Issuer text backing each rule; `yarn check-sources` checks it weekly.
48
+ evidence:
49
+ - rule: base_rate
50
+ url: https://www.bankofamerica.com/credit-cards/products/unlimited-cash-back-credit-card/
51
+ quote: 'Earn unlimited 1.5% cash back on all purchases'
52
+ - rule: base_rate
53
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4082058&productoffercode=6E&locale=en_US
54
+ quote: 'Earn 1.5% cash back (equal to $0.015 for every $1) on all Net Purchases'
55
+ - rule: everything-bofa-rewards-member
56
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
57
+ quote: 'bonus of 10% for the Member tier'
58
+ - rule: everything-bofa-rewards-preferred-plus
59
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
60
+ quote: '25% for the Preferred Plus tier'
61
+ - rule: everything-bofa-rewards-preferred-honors
62
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
63
+ quote: '50% for the Preferred Honors tier'
64
+ - rule: everything-bofa-rewards-premier
65
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
66
+ quote: 'or 75% for the Premier tier'
67
+ - rule: everything-bofa-rewards-member
68
+ url: https://www.bankofamerica.com/bofa-rewards/increasing-bofa-rewards-with-credit-cards/
69
+ quote: 'a $100 purchase that earns 3% ($3.00) will actually earn $3.30'
70
+ - rule: annual_fee
71
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4082058&productoffercode=6E&locale=en_US
72
+ quote: 'Annual Fee None'
73
+ - rule: welcome_offer
74
+ url: https://www.bankofamerica.com/credit-cards/products/unlimited-cash-back-credit-card/
75
+ quote: 'Online $250 cash rewards bonus after making at least $1,000 in purchases in the first 90 days'
76
+ - rule: welcome_offer
77
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4082058&productoffercode=6E&locale=en_US
78
+ quote: 'This card may not be available to you if you currently have or have had the card'
79
+ - rule: foreign_transaction_fee
80
+ url: https://www.bankofamerica.com/credit-cards/terms-and-conditions/?campaignid=4082058&productoffercode=6E&locale=en_US
81
+ quote: 'Foreign Transaction 3% of the U.S. dollar amount of each transaction'
82
+ todo:
83
+ - '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.'
@@ -0,0 +1,86 @@
1
+ id: barclays-jetblue-plus
2
+ name: JetBlue Plus Card
3
+ color: '#1e3a6b'
4
+ issuer: barclays
5
+ network: mastercard # World Elite Mastercard
6
+ currency: trueblue-points
7
+ last_verified: 2026-11-04
8
+ verified_by: claude
9
+ source_urls:
10
+ - https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
11
+ # The card page's "Terms and Conditions" link (rates, fees and Reward Rules).
12
+ - https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
13
+ base_rate: 1
14
+ annual_fee: 99
15
+ foreign_transaction_fee: 0
16
+ welcome_offer:
17
+ points: 60000
18
+ spend: 1000
19
+ months: 3
20
+ note: 'Within 90 days of account opening, and the $99 annual fee must also be paid in full within those 90 days (paying only the minimum each month may not cover it). Not for current or previous JetBlue Plus cardmembers; Barclays may also decline for suspected abusive or gaming activity.'
21
+ rules:
22
+ - id: jetblue
23
+ match: { merchants: [jetblue, jetblue-vacations, trueblue-travel] }
24
+ rate: 6
25
+ note: Billed by JetBlue or JetBlue Vacations as merchant of record through their own channels (jetblue.com, reservations, airport counters, jetbluevacations.com), and travel booked at truebluetravel.com. Not buying TrueBlue points, hotels or cars outside a JetBlue Vacations package, or TrueBlue Travel pay-later hotels, international car rentals, insurance and fees.
26
+ - id: restaurants
27
+ match: { categories: [dining] }
28
+ rate: 2
29
+ note: Restaurants, bars and fast food, by merchant category code. Paying with a mobile wallet, a third-party payment account or a merchant's mobile card reader may not earn the bonus.
30
+ - id: grocery
31
+ match: { categories: [grocery.supermarket] }
32
+ exclude: { categories: [superstore, warehouse_club] }
33
+ rate: 2
34
+ note: Grocery stores and supermarkets, by merchant category code. Warehouse-type stores like Target and Walmart generally don't count.
35
+ evidence:
36
+ - rule: base_rate
37
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
38
+ quote: 'You earn 1 TrueBlue point for every $1 spent on all other Net Purchases'
39
+ - rule: base_rate
40
+ url: https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
41
+ quote: '1X points on all other purchases'
42
+ - rule: jetblue
43
+ url: https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
44
+ quote: '6X points on eligible JetBlue purchases'
45
+ - rule: jetblue
46
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
47
+ quote: 'made with your Card Account on TrueBlue Travel purchases.'
48
+ - rule: jetblue
49
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
50
+ quote: 'You earn 6 TrueBlue points for every $1 spent on eligible Net Purchases'
51
+ - rule: jetblue
52
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
53
+ quote: 'Purchasing TrueBlue points does not qualify as JetBlue Purchases.'
54
+ - rule: jetblue
55
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
56
+ quote: 'Eligible TrueBlue Travel purchases must be booked directly through truebluetravel.com.'
57
+ - rule: restaurants
58
+ url: https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
59
+ quote: '2X points at restaurants and eligible grocery stores'
60
+ - rule: restaurants
61
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
62
+ quote: 'Qualifying restaurant purchases are defined as: Restaurants, Bars and Fast-Food Restaurants.'
63
+ - rule: grocery
64
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
65
+ quote: 'Qualifying grocery store purchases are categorized as Grocery Stores and Supermarkets.'
66
+ - rule: grocery
67
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
68
+ quote: 'large warehouse-type stores, such as Target® and Walmart® are generally not classified as grocery stores'
69
+ - rule: annual_fee
70
+ url: https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
71
+ quote: 'Annual Fee is $99.'
72
+ - rule: annual_fee
73
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
74
+ quote: 'Annual Fee $99 Transaction Fees'
75
+ - rule: welcome_offer
76
+ url: https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
77
+ quote: 'after spending $1,000 on purchases and paying the annual fee in full, both within the first 90 days'
78
+ - rule: welcome_offer
79
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
80
+ quote: 'Earn 60,000 bonus TrueBlue points after spending $1,000 on purchases'
81
+ - rule: foreign_transaction_fee
82
+ url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
83
+ quote: 'Foreign Transaction 0% of each transaction in U.S. dollars.'
84
+ todo:
85
+ - Not modeled (perks, not points per dollar) the 5,000-point anniversary bonus, 10% of points back on JetBlue Award Flights, 50% off inflight food and drink, the free first checked bag and the yearly $100 JetBlue Vacations statement credit.
86
+ - Card spending earns Mosaic tiles toward JetBlue elite status, which isn't modeled.
@@ -0,0 +1,60 @@
1
+ id: bilt-blue
2
+ name: Bilt Blue Card
3
+ color: '#2f5fa0'
4
+ # Issued by Column N.A. and serviced by Cardless; Bilt runs the rewards.
5
+ # Full earning terms are in the Bilt Card Offer Terms PDF, which the source
6
+ # checker can't read, so they're not in source_urls.
7
+ issuer: column
8
+ network: mastercard # World Elite Mastercard, per the card page's FAQ
9
+ currency: BILT
10
+ last_verified: 2026-11-04
11
+ verified_by: claude
12
+ source_urls:
13
+ - https://www.bilt.com/card/blue
14
+ - https://www.bilt.com/card
15
+ base_rate: 1
16
+ annual_fee: 0
17
+ foreign_transaction_fee: 0
18
+ rules:
19
+ - id: bilt-travel-hotels
20
+ match: { merchants: [bilt-travel-hotels] }
21
+ rate: 3
22
+ note: 1X card earn plus 2 Bilt Travel Portal bonus points on hotels booked at biltrewards.com/travel.
23
+ - id: bilt-travel-flights
24
+ match: { merchants: [bilt-travel-flights] }
25
+ rate: 2
26
+ note: 1X card earn plus 1 Bilt Travel Portal bonus point on flights booked at biltrewards.com/travel.
27
+ - id: lyft
28
+ match: { merchants: [lyft] }
29
+ rate: 3
30
+ requires: { activation: true }
31
+ note: 1X card earn plus 2X Bilt bonus on eligible rides after linking Bilt and Lyft accounts in the Bilt app. Uncapped.
32
+ todo:
33
+ - Rent and mortgage paid through Bilt earn 0.5X-1.25X depending on the cycle's everyday spend as a share of the housing payment (25%/50%/75%/100% give 0.5X/0.75X/1X/1.25X; below 25% a flat 250 points). earnrate has no housing category or spend-ratio rule.
34
+ - Bilt Neighborhood Dining restaurants add a per-restaurant bonus (up to 4X total). It varies by restaurant, so it isn't modeled.
35
+ - 'Welcome offer not modeled: the page offers $100 in Bilt Cash, a second currency (not BILT points or cash), with no spend required.'
36
+ evidence:
37
+ - rule: base_rate
38
+ url: https://www.bilt.com/card/blue
39
+ quote: '2X on flights through Bilt Travel. 1X on everything else.'
40
+ - rule: bilt-travel-hotels
41
+ url: https://www.bilt.com/card/blue
42
+ quote: 'the Blue Card earns +2X on hotel bookings and +1X on flights'
43
+ - rule: bilt-travel-hotels
44
+ url: https://www.bilt.com/card/blue
45
+ quote: 'That means 3X total on hotels and 2X total on flights booked at biltrewards.com/travel'
46
+ - rule: bilt-travel-flights
47
+ url: https://www.bilt.com/card/blue
48
+ quote: 'That means 3X total on hotels and 2X total on flights booked at biltrewards.com/travel'
49
+ - rule: lyft
50
+ url: https://www.bilt.com/card/blue
51
+ quote: 'for 3X total Bilt Points per dollar on Lyft'
52
+ - rule: lyft
53
+ url: https://www.bilt.com/card/blue
54
+ quote: 'On Lyft, link your Bilt and Lyft accounts in the Bilt app.'
55
+ - rule: annual_fee
56
+ url: https://www.bilt.com/card/blue
57
+ quote: 'The Bilt Blue Card is a $0 annual fee World Elite Mastercard.'
58
+ - rule: foreign_transaction_fee
59
+ url: https://www.bilt.com/card/blue
60
+ quote: '$0 annual fee; no foreign transaction fees; no transaction fee on housing payments'
@@ -1,5 +1,6 @@
1
1
  id: bilt-obsidian
2
2
  name: Bilt Obsidian Card
3
+ color: '#1a1a1a'
3
4
  # Issued by Column N.A. and serviced by Cardless; Bilt runs the rewards.
4
5
  # Full earning terms: https://www.bilt.com/terms/bilt-card-offer-terms (PDF,
5
6
  # not in source_urls because the source checker can't read PDFs).
@@ -0,0 +1,76 @@
1
+ id: bilt-palladium
2
+ name: Bilt Palladium Card
3
+ color: '#8a8d91'
4
+ # Issued by Column N.A. and serviced by Cardless; Bilt runs the rewards.
5
+ # Full earning terms are in the Bilt Card Offer Terms PDF, which the source
6
+ # checker can't read, so they're not in source_urls.
7
+ issuer: column
8
+ network: mastercard # World Legend Mastercard, per the card page's FAQ
9
+ currency: BILT
10
+ last_verified: 2026-11-04
11
+ verified_by: claude
12
+ source_urls:
13
+ - https://www.bilt.com/card/palladium
14
+ - https://www.bilt.com/card
15
+ base_rate: 2
16
+ annual_fee: 495
17
+ foreign_transaction_fee: 0
18
+ welcome_offer:
19
+ points: 50000
20
+ spend: 4000
21
+ months: 3
22
+ note: 'Within 90 days of account opening, on purchases other than rent or mortgage. Also Bilt Gold status and $300 in Bilt Cash on approval, which earnrate does not value. For new Bilt Card 2.0 cardholders.'
23
+ rules:
24
+ - id: bilt-travel-hotels
25
+ match: { merchants: [bilt-travel-hotels] }
26
+ rate: 4
27
+ note: 2X card earn plus 2 Bilt Travel Portal bonus points on hotels booked at biltrewards.com/travel.
28
+ - id: bilt-travel-flights
29
+ match: { merchants: [bilt-travel-flights] }
30
+ rate: 3
31
+ note: 2X card earn plus 1 Bilt Travel Portal bonus point on flights booked at biltrewards.com/travel.
32
+ - id: lyft
33
+ match: { merchants: [lyft] }
34
+ rate: 4
35
+ requires: { activation: true }
36
+ note: 2X card earn plus 2X Bilt bonus on eligible rides after linking Bilt and Lyft accounts in the Bilt app. Uncapped.
37
+ # Not modeled on purpose: the $400 Bilt Travel Hotel credit, $200 annual Bilt
38
+ # Cash and Priority Pass.
39
+ todo:
40
+ - Rent and mortgage paid through Bilt earn 0.5X-1.25X depending on the cycle's everyday spend as a share of the housing payment (25%/50%/75%/100% give 0.5X/0.75X/1X/1.25X; below 25% a flat 250 points). earnrate has no housing category or spend-ratio rule.
41
+ - Bilt Neighborhood Dining restaurants add a per-restaurant bonus (usually +2-3X, up to 5X total). It varies by restaurant, so it isn't modeled.
42
+ - Point Accelerator (spend $200 Bilt Cash for +1X on the next $5,000, up to five times a year) isn't modeled.
43
+ evidence:
44
+ - rule: base_rate
45
+ url: https://www.bilt.com/card/palladium
46
+ quote: '4X on Lyft, 2X points on all everyday purchases'
47
+ - rule: bilt-travel-hotels
48
+ url: https://www.bilt.com/card/palladium
49
+ quote: 'the Palladium Card earns +2X on hotels and +1X on flights stacked on top of its 2X base rate.'
50
+ - rule: bilt-travel-hotels
51
+ url: https://www.bilt.com/card/palladium
52
+ quote: 'That delivers 4X total on hotels and 3X total on flights booked at biltrewards.com/travel.'
53
+ - rule: bilt-travel-flights
54
+ url: https://www.bilt.com/card/palladium
55
+ quote: 'That delivers 4X total on hotels and 3X total on flights booked at biltrewards.com/travel.'
56
+ - rule: lyft
57
+ url: https://www.bilt.com/card/palladium
58
+ quote: 'you earn 4X total Bilt Points per dollar on Lyft'
59
+ - rule: lyft
60
+ url: https://www.bilt.com/card/palladium
61
+ quote: 'On Lyft, link your Bilt and Lyft accounts to earn an additional 2X per dollar'
62
+ - rule: annual_fee
63
+ url: https://www.bilt.com/card/palladium
64
+ quote: '$495 annual fee'
65
+ - rule: annual_fee
66
+ url: https://www.bilt.com/card
67
+ quote: 'Annual fee $0 $95 $495'
68
+ - rule: welcome_offer
69
+ url: https://www.bilt.com/card/palladium
70
+ quote: 'After you spend $4,000 on purchases (excluding rent or mortgage) in your first 90 days.'
71
+ - rule: welcome_offer
72
+ url: https://www.bilt.com/card/palladium
73
+ quote: '50,000 Bilt Points and Bilt Gold elite status are earned after spending $4,000'
74
+ - rule: foreign_transaction_fee
75
+ url: https://www.bilt.com/card/palladium
76
+ quote: 'No foreign transaction fees'
@@ -1,5 +1,6 @@
1
1
  id: capital-one-kohls-card
2
2
  name: Kohl's Credit Card
3
+ color: '#444a55'
3
4
  issuer: capital-one
4
5
  network: store
5
6
  only_at: [kohls]
@@ -1,5 +1,6 @@
1
1
  id: capital-one-kohls-rewards-visa
2
2
  name: Kohl's Rewards Visa
3
+ color: '#3b4048'
3
4
  issuer: capital-one
4
5
  network: visa
5
6
  currency: kohls-rewards
@@ -1,5 +1,7 @@
1
1
  id: capital-one-quicksilver
2
2
  name: Capital One Quicksilver Cash Rewards Credit Card
3
+ short_name: Capital One Quicksilver
4
+ color: '#b8bcc2'
3
5
  issuer: capital-one
4
6
  # The card page never names the network in visible text; its embedded
5
7
  # product data says MasterCard.
@@ -1,5 +1,7 @@
1
1
  id: capital-one-savor
2
2
  name: Capital One Savor Rewards Credit Card
3
+ short_name: Capital One Savor
4
+ color: '#7a4a32'
3
5
  issuer: capital-one
4
6
  # The card page never names the network in visible text; its embedded
5
7
  # product data says MasterCard.
@@ -0,0 +1,80 @@
1
+ id: capital-one-spark-cash-plus
2
+ name: Capital One Spark Cash Plus
3
+ short_name: Spark Cash Plus
4
+ color: '#3a3d42'
5
+ issuer: capital-one
6
+ network: mastercard # World Elite Mastercard for Business (Spark), per capitalone.com/credit-cards/benefits-guide
7
+ currency: cash
8
+ business: true
9
+ last_verified: 2026-11-04
10
+ verified_by: claude
11
+ source_urls:
12
+ - https://www.capitalone.com/small-business/credit-cards/spark-cash-plus/
13
+ # The card page's "View important rates and disclosures" (pricing and
14
+ # rewards FAQ); the number is the page's offer id and changes with it.
15
+ - https://disclosures.capitalone.com/disclosure.41737.en-US.html
16
+ base_rate: 2
17
+ annual_fee: 150
18
+ foreign_transaction_fee: 0
19
+ welcome_offer:
20
+ dollars: 2000
21
+ spend: 30000
22
+ months: 3
23
+ note: Only through the card page; existing or previous account holders may not be eligible. A separate first-year bonus pays another $2,000 for every $500,000 spent in the first 12 months, which isn't counted here.
24
+ rules:
25
+ - id: business-travel
26
+ match:
27
+ {
28
+ merchants:
29
+ [
30
+ capital-one-business-travel-hotels,
31
+ capital-one-business-travel-vacation-rentals,
32
+ capital-one-business-travel-car-rentals,
33
+ ],
34
+ }
35
+ rate: 5
36
+ note: Only when booked through Capital One Business Travel. Hotel incidentals, upgrades and other purchases outside Capital One Business Travel earn the base 2%.
37
+ milestones:
38
+ - id: fee-refund-150k
39
+ spend: 150000
40
+ period: cardmember_year
41
+ rewards:
42
+ - $150 annual fee refunded as a statement credit
43
+ note: Net purchases by the membership anniversary date; the credit posts within two billing cycles after it.
44
+ evidence:
45
+ - rule: base_rate
46
+ url: https://www.capitalone.com/small-business/credit-cards/spark-cash-plus/
47
+ quote: 'Earn unlimited 2% cash back for your business on every purchase, everywhere'
48
+ - rule: base_rate
49
+ url: https://disclosures.capitalone.com/disclosure.41737.en-US.html
50
+ quote: 'and 2% cash back on all other purchases'
51
+ - rule: business-travel
52
+ url: https://www.capitalone.com/small-business/credit-cards/spark-cash-plus/
53
+ quote: 'Earn unlimited 5% cash back on hotels, vacation rentals and rental cars booked through Capital One Business Travel.'
54
+ - rule: business-travel
55
+ url: https://disclosures.capitalone.com/disclosure.41737.en-US.html
56
+ quote: 'You will earn 5% cash back on hotels, vacation rentals and rental cars'
57
+ - rule: business-travel
58
+ url: https://disclosures.capitalone.com/disclosure.41737.en-US.html
59
+ quote: 'such as hotel incidentals, upgrades or other expenses, will not earn the enhanced earn rate'
60
+ - rule: fee-refund-150k
61
+ url: https://www.capitalone.com/small-business/credit-cards/spark-cash-plus/
62
+ quote: 'Get your $150 annual fee refunded every year you spend at least $150,000.'
63
+ - rule: fee-refund-150k
64
+ url: https://disclosures.capitalone.com/disclosure.41737.en-US.html
65
+ quote: 'when you spend at least $150,000 in net purchases by your membership anniversary date'
66
+ - rule: annual_fee
67
+ url: https://disclosures.capitalone.com/disclosure.41737.en-US.html
68
+ quote: 'Annual Fee $150.'
69
+ - rule: welcome_offer
70
+ url: https://www.capitalone.com/small-business/credit-cards/spark-cash-plus/
71
+ quote: 'Earn a $2,000 cash bonus when you spend $30,000 in the first 3 months.'
72
+ - rule: welcome_offer
73
+ url: https://disclosures.capitalone.com/disclosure.41737.en-US.html
74
+ quote: 'You will earn a $2,000 bonus if you spend at least $30,000 within 3 months'
75
+ - rule: foreign_transaction_fee
76
+ url: https://www.capitalone.com/small-business/credit-cards/spark-cash-plus/
77
+ quote: 'Pay zero foreign transaction fees on purchases made outside of the United States'
78
+ todo:
79
+ - "The first-year bonus of $2,000 for every $500,000 spent within 12 months of enrollment isn't modeled: a milestone pays once a period, not once per multiple of a spend total."
80
+ - The rates disclosure lists no foreign transaction fee in its fee table; the 0 comes from the card page's "Pay zero foreign transaction fees".
@@ -0,0 +1,97 @@
1
+ id: capital-one-venture-x-business
2
+ name: Capital One Venture X Business
3
+ short_name: Venture X Business
4
+ color: '#2b2d31'
5
+ issuer: capital-one
6
+ network: mastercard # World Elite Mastercard for Business, per capitalone.com/credit-cards/benefits-guide
7
+ currency: C1
8
+ business: true
9
+ last_verified: 2026-11-04
10
+ verified_by: claude
11
+ source_urls:
12
+ - https://www.capitalone.com/small-business/credit-cards/venture-x-business/
13
+ # The card page's "View important rates and disclosures" (pricing and
14
+ # rewards FAQ); the number is the page's offer id and changes with it.
15
+ - https://disclosures.capitalone.com/disclosure.42243.en-US.html
16
+ base_rate: 2
17
+ annual_fee: 395
18
+ foreign_transaction_fee: 0
19
+ welcome_offer:
20
+ points: 150000
21
+ spend: 40000
22
+ months: 4
23
+ note: 'The first tier of a limited-time two-tier offer: 150,000 miles after $40,000 in the first 4 months, plus another 150,000 miles and a $1,000 Capital One Business Travel credit after $120,000 in the same 4 months. Only through the card page; it may not be available to existing or previous Capital One Business cardholders.'
24
+ rules:
25
+ - id: business-travel-hotels-and-car-rentals
26
+ match:
27
+ {
28
+ merchants:
29
+ [
30
+ capital-one-business-travel-hotels,
31
+ capital-one-business-travel-car-rentals,
32
+ ],
33
+ }
34
+ rate: 10
35
+ note: Only when booked through Capital One Business Travel. Purchases paid with the travel credits earn no miles, and hotel incidentals or upgrades paid outside Capital One Business Travel earn the base 2X.
36
+ - id: business-travel-flights-and-vacation-rentals
37
+ match:
38
+ {
39
+ merchants:
40
+ [
41
+ capital-one-business-travel-flights,
42
+ capital-one-business-travel-vacation-rentals,
43
+ ],
44
+ }
45
+ rate: 5
46
+ note: Only when booked through Capital One Business Travel.
47
+ - id: capital-one-entertainment
48
+ match: { merchants: [capital-one-entertainment] }
49
+ rate: 5
50
+ note: Tickets bought on the Capital One Entertainment ticketing platform only. Cardholder-exclusive pre-sales and tickets bought directly from Capital One Hall or Capital One Arena are excluded.
51
+ evidence:
52
+ - rule: base_rate
53
+ url: https://www.capitalone.com/small-business/credit-cards/venture-x-business/
54
+ quote: 'Earn unlimited 2X miles on every purchase, everywhere, no limits or category restrictions.'
55
+ - rule: base_rate
56
+ url: https://disclosures.capitalone.com/disclosure.42243.en-US.html
57
+ quote: 'and 2 miles per dollar on all other purchases'
58
+ - rule: business-travel-hotels-and-car-rentals
59
+ url: https://www.capitalone.com/small-business/credit-cards/venture-x-business/
60
+ quote: 'Book through Capital One Business Travel to earn 10X miles on hotels and rental cars'
61
+ - rule: business-travel-hotels-and-car-rentals
62
+ url: https://disclosures.capitalone.com/disclosure.42243.en-US.html
63
+ quote: 'You will earn 10 miles per dollar on hotels and rental cars'
64
+ - rule: business-travel-hotels-and-car-rentals
65
+ url: https://disclosures.capitalone.com/disclosure.42243.en-US.html
66
+ quote: 'such as hotel incidentals, upgrades or other expenses, will not earn the enhanced earn rate'
67
+ - rule: business-travel-flights-and-vacation-rentals
68
+ url: https://www.capitalone.com/small-business/credit-cards/venture-x-business/
69
+ quote: 'and 5X miles on flights and vacation rentals.'
70
+ - rule: business-travel-flights-and-vacation-rentals
71
+ url: https://disclosures.capitalone.com/disclosure.42243.en-US.html
72
+ quote: '5 miles per dollar on flights and vacation rentals booked through Capital One Business Travel'
73
+ - rule: capital-one-entertainment
74
+ url: https://disclosures.capitalone.com/disclosure.42243.en-US.html
75
+ quote: 'You will earn 5 miles per dollar spent on Capital One Entertainment purchases.'
76
+ - rule: capital-one-entertainment
77
+ url: https://disclosures.capitalone.com/disclosure.42243.en-US.html
78
+ quote: 'Tickets purchased through the Capital One cardholder exclusive pre-sales'
79
+ - rule: annual_fee
80
+ url: https://www.capitalone.com/small-business/credit-cards/venture-x-business/
81
+ quote: '$395 annual fee'
82
+ - rule: annual_fee
83
+ url: https://disclosures.capitalone.com/disclosure.42243.en-US.html
84
+ quote: 'Annual Fee $395.'
85
+ - rule: welcome_offer
86
+ url: https://www.capitalone.com/small-business/credit-cards/venture-x-business/
87
+ quote: 'Spend $40,000 in the first four months and earn 150,000 miles.'
88
+ - rule: welcome_offer
89
+ url: https://disclosures.capitalone.com/disclosure.42243.en-US.html
90
+ quote: 'You will earn 150,000 bonus miles when you spend $40,000'
91
+ - rule: foreign_transaction_fee
92
+ url: https://www.capitalone.com/small-business/credit-cards/venture-x-business/
93
+ quote: 'Pay zero foreign transaction fees on purchases made outside of the United States'
94
+ todo:
95
+ - "The welcome offer's second tier (another 150,000 miles and a $1,000 Capital One Business Travel credit after $120,000 in the first 4 months) isn't modeled: a welcome offer has one spend threshold."
96
+ - Not modeled (credits and perks, not miles per dollar) the $300 annual Capital One Business Travel credit, the 10,000-mile anniversary bonus, the $120 Global Entry/TSA PreCheck credit and lounge access.
97
+ - The rates disclosure lists no foreign transaction fee in its fee table; the 0 comes from the card page's "Pay zero foreign transaction fees".