earnrate 0.2.16 → 0.2.18
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.
- package/README.md +22 -10
- package/data/CHANGELOG.md +33 -1
- package/data/VERSION +1 -1
- package/data/cards/amex-business-gold.yaml +1 -0
- package/data/cards/amex-business-platinum.yaml +15 -1
- package/data/cards/amex-platinum.yaml +1 -1
- package/data/cards/barclays-jetblue-plus.yaml +19 -1
- package/data/cards/chase-freedom-flex.yaml +9 -12
- package/data/cards/chase-ihg-one-rewards-business.yaml +19 -3
- package/data/cards/chase-ihg-one-rewards-premier-select.yaml +5 -1
- package/data/cards/chase-ihg-one-rewards-premier.yaml +7 -1
- package/data/cards/chase-ihg-one-rewards.yaml +13 -2
- package/data/cards/chase-ink-business-cash.yaml +5 -1
- package/data/cards/chase-ink-business-unlimited.yaml +5 -1
- package/data/cards/chase-prime-visa.yaml +3 -3
- package/data/cards/chase-sapphire-reserve.yaml +12 -3
- package/data/cards/chase-united-business.yaml +8 -1
- package/data/cards/chase-united-club-business.yaml +10 -1
- package/data/cards/chase-united-club.yaml +5 -1
- package/data/cards/chase-united-explorer.yaml +5 -1
- package/data/cards/chase-united-quest.yaml +5 -1
- package/data/cards/citi-aadvantage-business.yaml +5 -0
- package/data/cards/citi-aadvantage-executive.yaml +2 -0
- package/data/cards/citi-aadvantage-globe.yaml +2 -0
- package/data/cards/citi-aadvantage-mileup.yaml +4 -0
- package/data/cards/citi-aadvantage-platinum-select.yaml +4 -0
- package/data/cards/citi-costco-anywhere-visa-business.yaml +2 -0
- package/data/cards/citi-costco-anywhere-visa.yaml +2 -0
- package/data/cards/citi-custom-cash.yaml +8 -10
- package/data/cards/citi-double-cash.yaml +1 -0
- package/data/cards/citi-my-best-buy-visa.yaml +1 -0
- package/data/cards/citi-strata-elite.yaml +2 -0
- package/data/cards/citi-strata-premier.yaml +16 -1
- package/data/cards/td-bank-nordstrom-credit-card.yaml +1 -0
- package/data/cards/td-bank-nordstrom-visa.yaml +1 -0
- package/data/cards/wells-fargo-autograph-journey.yaml +16 -1
- package/data/changes.yaml +2840 -0
- package/data/merchants/overrides.yaml +3 -3
- package/dist/cli/args.js +13 -7
- package/dist/cli/offers.js +21 -5
- package/dist/cli/run.js +18 -3
- package/dist/cli/wallet.js +46 -11
- package/dist/data/change-integrity.js +105 -0
- package/dist/data/file-store.js +5 -2
- package/dist/data/integrity.js +20 -0
- package/dist/data/load.js +5 -0
- package/dist/data/store.js +4 -1
- package/dist/data/wallet-edit.js +21 -5
- package/dist/engine/changes.js +124 -0
- package/dist/engine/checklist.js +42 -7
- package/dist/engine/credits.js +56 -7
- package/dist/engine/evaluate.js +21 -1
- package/dist/engine/explore.js +52 -15
- package/dist/engine/memberships.js +21 -9
- package/dist/engine/milestones.js +11 -3
- package/dist/engine/offers.js +60 -6
- package/dist/engine/periods.js +7 -0
- package/dist/engine/recommend.js +21 -2
- package/dist/engine/renewal.js +101 -0
- package/dist/engine/rule-text.js +21 -13
- package/dist/engine/setup.js +12 -8
- package/dist/engine/simulate.js +57 -17
- package/dist/engine/text.js +110 -5
- package/dist/engine/wallet-change.js +34 -15
- package/dist/engine/wallet-summary.js +29 -10
- package/dist/format/card-text.js +10 -11
- package/dist/format/explore.js +12 -8
- package/dist/format/offers.js +5 -3
- package/dist/format/wallet-yaml.js +3 -0
- package/dist/format/wallet.js +8 -1
- package/dist/mcp/context.js +11 -3
- package/dist/mcp/inputs.js +12 -2
- package/dist/mcp/prompts.js +3 -3
- package/dist/mcp/schemas.js +47 -0
- package/dist/mcp/tools/account.js +1 -1
- package/dist/mcp/tools/answers.js +42 -24
- package/dist/mcp/tools/wallet.js +33 -9
- package/dist/schema/card.js +18 -0
- package/dist/schema/changes.js +73 -0
- package/dist/schema/wallet.js +11 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,14 +9,14 @@ I wanted a ghost card: one card that always charges the best of my cards. The ca
|
|
|
9
9
|
|
|
10
10
|
**earnrate is the best-card decision layer for people and AI agents.** Give it a merchant, and it tells you which credit card earns the most there, from your own cards or from every card it knows, and why. Save your cards and it tracks your caps and chosen categories. It's valuation-aware and transparent about its assumptions. It never sees a card number.
|
|
11
11
|
|
|
12
|
-
- Runs on your machine, in your browser at [earnrate.dev](https://earnrate.dev) (which you can add to your phone's Home Screen and use offline), or in Claude as a connector at `https://mcp.earnrate.dev`, with nothing to install. No account and no affiliate links; the hosted server counts requests by tool name, nothing about what you ask. See the [privacy page](https://earnrate.dev/privacy).
|
|
12
|
+
- Runs on your machine, in your browser at [earnrate.dev](https://earnrate.dev) (which you can add to your phone's Home Screen and use offline), or in Claude as a connector at `https://mcp.earnrate.dev`, with nothing to install. earnrate.dev and Claude can share one wallet. No account and no affiliate links; the hosted server counts requests by tool name, nothing about what you ask. See the [privacy page](https://earnrate.dev/privacy).
|
|
13
13
|
- U.S. cards and U.S. merchants, for now.
|
|
14
14
|
|
|
15
15
|
> **Status:** early, and it works: the engine, CLI, optional Claude merchant lookup, MCP server and the hosted Claude connector. See [the benchmark](docs/benchmark.md) (run 2026-11-03) for how it compares to an existing card-picking MCP server.
|
|
16
16
|
|
|
17
17
|
## Try it
|
|
18
18
|
|
|
19
|
-
Needs Node 22 or later.
|
|
19
|
+
Needs Node 22 or later (the published package is compiled JavaScript).
|
|
20
20
|
|
|
21
21
|
```sh
|
|
22
22
|
npm install -g earnrate
|
|
@@ -55,14 +55,16 @@ Use Blue Cash Preferred: 6% back, about $4.80. High confidence.
|
|
|
55
55
|
Amex Gold beats Blue Cash Preferred here if Amex Membership Rewards (MR) points are worth more than 1.5¢ (you value them at 1¢).
|
|
56
56
|
|
|
57
57
|
Assumes Whole Foods Market codes as supermarkets (MCC 5411).
|
|
58
|
-
|
|
58
|
+
Point values: Amex Membership Rewards (MR) at 1¢, SoFi Member Rewards at 1¢ and Chase Ultimate Rewards (UR) at 1¢.
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
Options: `--online` or `--in-store`, `--paying card|apple-pay|google-pay|paypal`, `--valuation flat|points-heavy`, `--cards`, `--member`, `--category`, `--all`, `--json`, `--date`, `--country`. Run `earnrate --help` for details. To keep the wallet somewhere else, set `EARNRATE_WALLET` to its path.
|
|
62
62
|
|
|
63
63
|
`earnrate cheatsheet` prints the card to use for each everyday kind of purchase this quarter (groceries, dining, gas, Amazon, Costco, travel, streaming, drugstores, everything else), with your caps, picks and activations as they are now. `--cards` uses cards you name instead, and `--every-card` picks from every card to show what's worth getting. It's also in the My wallet tab on [earnrate.dev](https://earnrate.dev).
|
|
64
64
|
|
|
65
|
-
`earnrate todo` lists what your saved cards need this quarter, soonest first: bonuses to activate (with Chase's deadline), categories to pick, caps running low, welcome bonuses to finish, spend bonuses you're close to, statement credits to enroll in or use,
|
|
65
|
+
`earnrate todo` lists what your saved cards need this quarter, soonest first: bonuses to activate (with Chase's deadline), categories to pick, caps running low, welcome bonuses to finish, spend bonuses you're close to, statement credits to enroll in or use, first-year rates ending, and a renewal check for each fee card in the month before its anniversary. `--ics earnrate.ics` also writes the dates as a calendar file with reminders. My wallet on earnrate.dev shows the same list as "To do now", with an "Add the dates to your calendar" button.
|
|
66
|
+
|
|
67
|
+
The renewal check weighs your wallet with the card against your wallet without it, where your other cards pick up its spending: "Amex Gold renews around Nov 20 ($325 fee). At typical spending, it earns about $30 a year more than your other cards would, plus $184 in credits you use: about $111 a year short of the fee." A card that's well ahead gets one short line. It uses your My spending amounts on earnrate.dev and typical amounts elsewhere, and needs the card's anniversary (`earnrate update amex-gold --anniversary 11-20`) or its opening date. It gives the math, not a downgrade recommendation: issuers don't publish downgrade paths or retention offers.
|
|
66
68
|
|
|
67
69
|
`earnrate missed` lists the stores earnrate didn't recognize when you asked here, most asked about first. They're kept only on your computer; [open an issue](https://github.com/cwasley/earnrate/issues) to suggest one for the data.
|
|
68
70
|
|
|
@@ -157,13 +159,19 @@ Every purchase on the card counts. Once earnrate knows how much you've spent on
|
|
|
157
159
|
|
|
158
160
|
Some cards give dollars back for spending at a named store, up to a limit each period: Amex Platinum's $75 a quarter at lululemon, Amex Gold's $7 a month at Dunkin', Blue Cash Preferred's $10 a month on Disney+, Hulu or ESPN subscriptions. The purchase still earns the card's rate; the credit comes on top. Asking about the store with no cards saved lists the cards with a credit there first, "With a statement credit", in dollars ("$75 back each quarter, then 1x Amex Membership Rewards"), then the usual ranking by rate. A search for a kind of purchase ("clothing") doesn't.
|
|
159
161
|
|
|
160
|
-
With a saved wallet, a credit counts only once you mark it enrolled (
|
|
162
|
+
With a saved wallet, a credit that needs enrolling with the issuer counts only once you mark it enrolled, one that doesn't (like Amex Gold's Uber Cash) counts right away, and either only while some is left this period. Given an amount, its dollars count toward that card's return and can make it the pick; without one, the answer shows what's left. Recording a purchase from an AI assistant uses it up, and `earnrate todo` reminds you to enroll and to use what's left before the period ends:
|
|
161
163
|
|
|
162
164
|
```sh
|
|
163
165
|
earnrate update amex-platinum --enrolled lululemon --credit-used lululemon=40
|
|
164
166
|
```
|
|
165
167
|
|
|
166
|
-
In the wallet file that's `enrolled: [lululemon]` and `credit_usage: { lululemon: { period: 2026-Q4, used: 40 } }` on the card. On earnrate.dev it's in the card's settings
|
|
168
|
+
In the wallet file that's `enrolled: [lululemon]` and `credit_usage: { lululemon: { period: 2026-Q4, used: 40 } }` on the card. On earnrate.dev it's in the card's settings, where each credit is "Enrolled", "Not yet" or "I don't use this" (or "Using it" for one that needs no enrolling).
|
|
169
|
+
|
|
170
|
+
A credit you don't use can be marked so: `earnrate update amex-gold --skipped-credits dunkin`, `skipped_credits: [dunkin]` in the file. It then counts nowhere: not toward a pick, not against the fee, and not on the to-do list. For cards named with `--cards`, `--enrolled amex-platinum=lululemon` and `--skipped-credits amex-gold=dunkin` do the same for one answer.
|
|
171
|
+
|
|
172
|
+
Some credits pay only on a purchase of a certain size (Citi Strata Premier's $100 off a Citi Travel hotel stay of $500 or more), and some end on a date the issuer sets (Sapphire Reserve's Lyft credit, through Sep 30, 2027). Card listings say so; a purchase too small earns no credit, and after the end date the credit counts nowhere. Rules work the same way: Amex Business Platinum's 2x on a purchase of $5,000 or more applies only when the amount is given, and an answer without one says what it would earn.
|
|
173
|
+
|
|
174
|
+
Annual-fee math counts the credits you use on cards you hold, a full period's worth each period: simulating spending with your own cards says "Amex Gold's fee counts $204 a year of credits you use: Dunkin' and Uber." For a card you don't hold, the ranking leaves its credits out, since they're worth it only if you'd spend at those places anyway, and shows what it would net if you used them all beside it: in `simulate`, `offers`, the annual-fee math on each card's page and the site's spending tab. The cheat sheet picks by rate alone and leaves credits out.
|
|
167
175
|
|
|
168
176
|
### Which new card?
|
|
169
177
|
|
|
@@ -181,7 +189,11 @@ earnrate simulate groceries=600 other=1000 --wallet # what a new card would ad
|
|
|
181
189
|
earnrate offers --cash
|
|
182
190
|
```
|
|
183
191
|
|
|
184
|
-
Ranks the
|
|
192
|
+
Ranks the cards you don't have by their first two years together, to answer "which card next?": what each adds to your cards at typical spending (it takes the purchases where it earns more than they do), plus its welcome bonus at your point values in year one if the minimum spend fits in the window with all your spending on it, less each year's annual fee and any membership it needs. Each card shows year one, year two, how many weeks of spending the minimum takes, and the bonus alone. Year one counts the card at its standard rates.
|
|
193
|
+
|
|
194
|
+
If you can't or won't get cards from an issuer (Chase, over its 5/24 rule), `earnrate skip-issuers chase` saves that, and next-card answers here, in "would another card help?" and in Claude leave its cards out; `--skip-issuer chase` does it for one answer, and `--none` clears the list. earnrate never assumes an issuer's application rules, since they aren't published as terms it can quote.
|
|
195
|
+
|
|
196
|
+
An offer the issuer rules out because of a card in your wallet (or one you name with `--cards`) is marked "likely not eligible" and listed last. `--points`, `--no-fee` and `--business` narrow it down. Each offer is the public one on the issuer's page, checked weekly like the earning rules, with the issuer's eligibility rules in its note. Offers can differ by person and by how you apply, and it covers only the cards earnrate knows. There are no affiliate or apply links.
|
|
185
197
|
|
|
186
198
|
### Import a statement
|
|
187
199
|
|
|
@@ -225,7 +237,7 @@ Spotted a wrong rate, or want a card added? [Open an issue](https://github.com/c
|
|
|
225
237
|
|
|
226
238
|
## Use it in an AI assistant (MCP)
|
|
227
239
|
|
|
228
|
-
**In Claude, nothing to install:** add a custom connector (Settings → Connectors) with the address `https://mcp.earnrate.dev`. It works in Claude on the web, desktop and phone. When you add it, an earnrate page opens once, where you start an anonymous wallet: no email, just a recovery code you keep. Then ask anything: with no cards saved it answers from every card. Name your cards for answers about yours, and save them to track caps and welcome bonuses across your Claude apps. From the chat you can export the wallet for the command line, switch to another one, or delete it. In Claude Code:
|
|
240
|
+
**In Claude, nothing to install:** add a custom connector (Settings → Connectors) with the address `https://mcp.earnrate.dev`. It works in Claude on the web, desktop and phone. When you add it, an earnrate page opens once, where you start an anonymous wallet: no email, just a recovery code you keep. Then ask anything: with no cards saved it answers from every card. Name your cards for answers about yours, and save them to track caps and welcome bonuses across your Claude apps. From the chat you can export the wallet for the command line, switch to another one, or delete it. To use the same wallet on earnrate.dev, choose "Use the same wallet as Claude" in My wallet there. In Claude Code:
|
|
229
241
|
|
|
230
242
|
```sh
|
|
231
243
|
claude mcp add --transport http earnrate https://mcp.earnrate.dev
|
|
@@ -315,14 +327,14 @@ earnrate needs no account. The local version has no telemetry; the hosted server
|
|
|
315
327
|
- **What it stores locally:** your wallet, a YAML file on your computer (`~/.earnrate/wallet.yaml` unless you set `EARNRATE_WALLET`). It lists cards by product ID, like `amex-gold`, plus your category picks, activations and how much you've spent toward caps. earnrate never asks for or stores card numbers, expiry dates, security codes or bank logins. When you ask about a store earnrate doesn't recognize, its name goes in `~/.earnrate/missed-merchants.json` (`earnrate missed` lists them; `EARNRATE_MISSED_MERCHANTS=off` keeps no list).
|
|
316
328
|
- **What the local version sends:** nothing, by default. The optional merchant lookup (off unless you turn it on with your own Anthropic API key) sends only the name of a store earnrate doesn't recognize to Anthropic's API, and saves the answer in `~/.earnrate/merchant-cache.json`.
|
|
317
329
|
- **AI assistants:** when you use earnrate through Claude or another assistant, that assistant's provider sees the conversation, including earnrate's answers, under its own privacy policy.
|
|
318
|
-
- **earnrate.dev:** everything you enter on the site stays in your browser, except when you add the cheat sheet to Apple Wallet: then pass.earnrate.dev receives what the pass needs (card IDs, picks, activations, checkout names, memberships and the date) and keeps none of it. If you turn on syncing with Claude, the wallet (cards, picks, activations, memberships, point values, cap and spending totals, credits used, opening dates) goes to mcp.earnrate.dev and is stored encrypted, like the connector's; a purchase you record is sent so its totals can be updated, and only the totals are kept. Searches, stores and amounts you ask about still never leave the browser. The sign-in stays in a cookie the page's scripts can't read. The site counts which of its parts get used, by name only, and counts visits with Cloudflare Web Analytics, without cookies.
|
|
330
|
+
- **earnrate.dev:** everything you enter on the site stays in your browser, except when you add the cheat sheet to Apple Wallet: then pass.earnrate.dev receives what the pass needs (card IDs, picks, activations, checkout names, memberships and the date) and keeps none of it. If you turn on syncing with Claude, the wallet (cards, picks, activations, memberships, point values, cap and spending totals, credits used and not used, opening dates, issuers left out of next-card answers) goes to mcp.earnrate.dev and is stored encrypted, like the connector's; a purchase you record is sent so its totals can be updated, and only the totals are kept. Searches, stores and amounts you ask about still never leave the browser. The sign-in stays in a cookie the page's scripts can't read. The site counts which of its parts get used, by name only, and counts visits with Cloudflare Web Analytics, without cookies.
|
|
319
331
|
- **Retention:** locally, your data lives only in files you control, for as long as you keep them. Delete the wallet file, or clear the site's data in your browser, to remove it. A saved wallet on mcp.earnrate.dev lasts until you delete it or leave it unused for 13 months (a week, if it's never used); the record that an app is connected goes after 90 days unused.
|
|
320
332
|
- **Terms:** [earnrate.dev/terms](https://earnrate.dev/terms).
|
|
321
333
|
- **Contact:** [hello@earnrate.dev](mailto:hello@earnrate.dev).
|
|
322
334
|
|
|
323
335
|
## Working on earnrate
|
|
324
336
|
|
|
325
|
-
Development needs Node 24 or later.
|
|
337
|
+
Development needs Node 24 or later: the repo runs its TypeScript directly, with no build step. The published package is compiled and runs on Node 22 or later.
|
|
326
338
|
|
|
327
339
|
```sh
|
|
328
340
|
git clone https://github.com/cwasley/earnrate.git && cd earnrate
|
package/data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
# Data changelog
|
|
2
2
|
|
|
3
|
-
Every change to card rules, merchants, categories or currencies under `data/`. Bump `data/VERSION` (`YYYY.MM.DD`, plus `.N` for a second release on the same day) and add a section here in the same commit. Each row cites the issuer page the new value came from.
|
|
3
|
+
Every change to card rules, merchants, categories or currencies under `data/`. Bump `data/VERSION` (`YYYY.MM.DD`, plus `.N` for a second release on the same day) and add a section here in the same commit, with the same release's entries in `data/changes.yaml` (the structured record, each change tagged by cause). Each row cites the issuer page the new value came from.
|
|
4
|
+
|
|
5
|
+
## 2026.11.07.3
|
|
6
|
+
|
|
7
|
+
- `chase-freedom-flex`: the limited-time $250 welcome offer has ended; it's $200 after $500 in purchases in the first 3 months again. A card-page quote that ran two category names together ("Dining American Red Cross") is removed; the Q4 dining rule keeps its quotes from Chase's learn-more page. Source: [Chase](https://creditcards.chase.com/cash-back-credit-cards/freedom/flex).
|
|
8
|
+
- `amex-platinum`: the Equinox credit quotes Amex's new wording (still up to $300 each calendar year). Source: [Amex terms](https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/platinum-card/25330-10-0).
|
|
9
|
+
|
|
10
|
+
## 2026.11.07.2
|
|
11
|
+
|
|
12
|
+
- `citi-custom-cash` and `amex-business-gold`: their bonus categories are marked `automatic: true`, since the issuer applies the bonus to the categories with the most spending each billing period; the cardholder doesn't pick. Answers and pages now say "the category you spend the most in each month" instead of "the category you pick". No rate changes. Sources: [Citi ThankYou terms](https://www.thankyou.com/ccterms), [Amex offer terms](https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/businessgold-card/64573-9-0#offer-terms).
|
|
13
|
+
|
|
14
|
+
## 2026.11.07.1
|
|
15
|
+
|
|
16
|
+
Evidence quotes only; no rates, fees, offers or credits changed. No issuer changes.
|
|
17
|
+
|
|
18
|
+
- 39 quotes on 16 cards live in popups the page builds from its embedded data only when opened. Each now has `in_popup: true`, after the quote was seen in the open popup: Chase's benefit popups (`chase-ihg-one-rewards-premier`, `chase-united-business`, `chase-united-club-business`), Citi's "Additional Information" panel (`citi-aadvantage-business`, `citi-aadvantage-executive`, `citi-aadvantage-globe`, `citi-aadvantage-mileup`, `citi-aadvantage-platinum-select`, `citi-costco-anywhere-visa`, `citi-costco-anywhere-visa-business`, `citi-double-cash`, `citi-my-best-buy-visa`, `citi-strata-elite`, `citi-strata-premier`) and Nordstrom's "Terms Apply" popup (`td-bank-nordstrom-credit-card`, `td-bank-nordstrom-visa`).
|
|
19
|
+
- `citi-custom-cash`: the card page shows only that applications closed on May 28, 2026, so its 1% base rate and 5% top-category quotes now come from the card's ThankYou terms ("1 ThankYou Point for each $1 you spend on purchases", "5 ThankYou Points for each $1 You spend in Your highest eligible spend category each billing cycle"), and the Citi Travel rule keeps only its ThankYou terms quote. Same rates. Source: [ThankYou terms](https://www.thankyou.com/ccterms).
|
|
20
|
+
|
|
21
|
+
## 2026.11.07
|
|
22
|
+
|
|
23
|
+
New terms the engine can now express, each quoted from the issuer:
|
|
24
|
+
|
|
25
|
+
- `amex-business-platinum`: 2X on any single eligible purchase of $5,000 or more (`large-purchases`, `min_amount: 5000`), inside the $2 million yearly cap shared with its 2X categories. Sources: [Amex](https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/american-express-business-platinum-credit-card-amex/), [offer terms](https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/business-platinum-charge-card/64281-9-0#offer-terms).
|
|
26
|
+
- New statement credits with a minimum purchase: `citi-strata-premier`'s $100 Annual Hotel Benefit (a Citi Travel hotel stay of $500 or more, once a calendar year), `wells-fargo-autograph-journey`'s $50 airline credit (an airline purchase of $50 or more, once a year) and `barclays-jetblue-plus`'s $100 JetBlue Vacations credit (a package of $100 or more, once a calendar year). Sources: [Citi](https://www.citi.com/credit-cards/citi-strata-premier-credit-card), [Wells Fargo](https://creditcards.wellsfargo.com/autograph-journey-visa-credit-card/), [Barclays terms](https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255).
|
|
27
|
+
- Credits that end on a date take `valid_to`, quoted from each card's page: the Instacart credits on 10 Chase cards and `chase-sapphire-reserve`'s StubHub and Peloton credits (through 2027-12-31) and Lyft credit (through 2027-09-30). They stop counting after that day.
|
|
28
|
+
- Spend milestones that start later take `valid_from`: `chase-ihg-one-rewards`'s 4th Reward Night free after $5,000 a calendar year and `chase-ihg-one-rewards-business`'s Diamond Elite status after $50,000, both from 2027-01-01. Source: [Chase](https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/one-rewards), [Chase business](https://creditcards.chase.com/business-credit-cards/IHG/business).
|
|
29
|
+
- `chase-prime-visa`'s welcome offer is a $200 Amazon Gift Card for Prime members (was $150), labeled limited-time with no end date. Source: [Chase](https://creditcards.chase.com/cash-back-credit-cards/amazon-prime-rewards).
|
|
30
|
+
|
|
31
|
+
## 2026.11.06.2
|
|
32
|
+
|
|
33
|
+
Wording only; no rates changed. `chase-freedom-flex`'s Q4 2026 dining, grocery and American Red Cross rules list their explanatory quote first ("For Dining purchases, you will earn 7% cash back…"), so answers show it rather than a run-together category list. The notes for O'Reilly Auto Parts, Advance Auto Parts and NAPA Auto Parts say "An auto parts store" (was "A auto parts store").
|
|
4
34
|
|
|
5
35
|
## 2026.11.06.1
|
|
6
36
|
|
|
@@ -649,6 +679,8 @@ Cards can name a paid membership they need (`requires_membership`). Costco Anywh
|
|
|
649
679
|
| citi-costco-anywhere-visa, citi-costco-anywhere-visa-business | requires_membership | Costco membership, $65 a year | [Citi card page](https://www.citi.com/credit-cards/citi-costco-anywhere-visa-credit-card), [Costco membership page](https://www.costco.com/join-costco.html) |
|
|
650
680
|
| citi-aadvantage-globe | evidence | quotes follow Citi's new wording (same rates) | [card page](https://www.citi.com/credit-cards/citi-aadvantage-globe-mastercard) |
|
|
651
681
|
|
|
682
|
+
Recorded late: changes made on 2026-10-31 without a section of their own, first shipped in this release. New public welcome offers: Atmos Rewards Ascent 70,000 points after $2,500 (was 50,000 after $1,500) and Summit 80,000 after $4,000 (was 70,000 after $3,000); Southwest Plus 80,000 (was 50,000), Premier 85,000 after $2,000 (was 55,000 after $1,500) and Priority 90,000 after $3,000 (was 60,000 after $2,000), all limited-time; Southwest Premier Business back to 60,000 (was a limited-time 80,000); AAdvantage Business 75,000 after $5,000 in 5 months (was 65,000 after $4,000 in 4); AAdvantage Platinum Select 50,000 after $2,500 in 3 months (was a limited-time 80,000 after $3,500 in 4). Each card was re-checked against its issuer's page. The five Amex "as high as" offers take `varies: true`; Blue Cash Preferred, Blue Cash Everyday and Costco Anywhere Business quotes follow their pages' new wording; Freedom Flex's Q4 dining note says the stacking with 3% is unstated; Costco.com takes Visa and Mastercard. Sources: each card's `welcome_offer` evidence.
|
|
683
|
+
|
|
652
684
|
## 2026.10.30.3
|
|
653
685
|
|
|
654
686
|
More everyday words find categories, for questions asked without a store name ("coffee shop", "dinner", "train"). Each maps to the category those purchases already fall under. No rates changed.
|
package/data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2026.11.
|
|
1
|
+
2026.11.07.3
|
|
@@ -56,6 +56,12 @@ rules:
|
|
|
56
56
|
geography: us_only
|
|
57
57
|
cap: key-business-categories
|
|
58
58
|
note: U.S. shipping providers. Shares the $2 million yearly cap.
|
|
59
|
+
- id: large-purchases
|
|
60
|
+
match: { any: true }
|
|
61
|
+
rate: 2
|
|
62
|
+
min_amount: 5000
|
|
63
|
+
cap: key-business-categories
|
|
64
|
+
note: A single eligible purchase of $5,000 or more, anywhere. It doesn't count if the merchant splits a purchase into charges under $5,000. A large purchase in a 2X category earns 2X once, and 5X travel wins over it. Shares the $2 million yearly cap.
|
|
59
65
|
# Not modeled: the hotel and Airbnb credits (only some Amex Travel bookings),
|
|
60
66
|
# the airline fee credit (an airline you pick), Adobe and the extra Dell
|
|
61
67
|
# credit (after a spending total), the 35% Pay with Points airline bonus and
|
|
@@ -99,6 +105,15 @@ credits:
|
|
|
99
105
|
note: "Bought directly from Dell Technologies in the U.S. The extra $1,000 after $5,000 of Dell purchases in a year isn't modeled."
|
|
100
106
|
# Issuer text backing each rule; `yarn check-sources` checks it weekly.
|
|
101
107
|
evidence:
|
|
108
|
+
- rule: large-purchases
|
|
109
|
+
url: https://www.americanexpress.com/us/credit-cards/business/business-credit-cards/american-express-business-platinum-credit-card-amex/
|
|
110
|
+
quote: 'Earn 2X points on eligible purchases in key business categories, or on single purchases of $5K or more.'
|
|
111
|
+
- rule: large-purchases
|
|
112
|
+
url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/business-platinum-charge-card/64281-9-0#offer-terms
|
|
113
|
+
quote: 'or (4) eligible purchases of $5,000 or more'
|
|
114
|
+
- rule: large-purchases
|
|
115
|
+
url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/business-platinum-charge-card/64281-9-0#offer-terms
|
|
116
|
+
quote: 'a purchase transaction of $5,000 or more will not qualify if the merchant divides the purchase'
|
|
102
117
|
- rule: base_rate
|
|
103
118
|
url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/business-platinum-charge-card/64281-9-0#offer-terms
|
|
104
119
|
quote: 'Basic Card Members will get 1 Membership Rewards® point for each dollar charged for eligible purchases'
|
|
@@ -178,7 +193,6 @@ evidence:
|
|
|
178
193
|
url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/business/prospect/business-platinum-charge-card/64281-9-0#offer-terms
|
|
179
194
|
quote: 'Each Card Account can receive up to $150 in statement credits for eligible purchases with Dell Technologies'
|
|
180
195
|
todo:
|
|
181
|
-
- "Any eligible purchase of $5,000 or more earns 2X (inside the same $2 million yearly cap). earnrate has no rule condition on purchase size, so this isn't modeled."
|
|
182
196
|
- "Software and cloud system providers count toward the electronics category, but earnrate has no software or cloud category, so only electronics stores are modeled. Construction material and hardware suppliers are modeled as earnrate's home improvement category."
|
|
183
197
|
- 'From February 17, 2027, U.S. shipping providers count only when bought directly from UPS, FedEx, USPS, Auctane, DHL, Worldwide Express and Old Dominion Freight Line. Not modeled yet.'
|
|
184
198
|
- 'Amex''s rewards terms count eligible purchases as "purchases for goods and services minus returns and other credits" and don''t say whether that takes out benefit statement credits. Its credits are modeled as earning the card''s rate on the whole purchase, with the credit on top.'
|
|
@@ -202,7 +202,7 @@ evidence:
|
|
|
202
202
|
quote: 'The Wall Street Journal, YouTube Premium, and YouTube TV.'
|
|
203
203
|
- rule: equinox
|
|
204
204
|
url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/platinum-card/25330-10-0#offer-terms
|
|
205
|
-
quote: '
|
|
205
|
+
quote: 'Enrolled Basic Card Members can earn up to $300 in statement credits each calendar year'
|
|
206
206
|
- rule: oura
|
|
207
207
|
url: https://www.americanexpress.com/en-us/credit-cards/apply/terms/personal/platinum-card/25330-10-0#offer-terms
|
|
208
208
|
quote: 'Enrolled Basic Card Members can receive up to $200 in statement credits each calendar year'
|
|
@@ -32,7 +32,24 @@ rules:
|
|
|
32
32
|
exclude: { categories: [superstore, warehouse_club] }
|
|
33
33
|
rate: 2
|
|
34
34
|
note: Grocery stores and supermarkets, by merchant category code. Warehouse-type stores like Target and Walmart generally don't count.
|
|
35
|
+
# Merchant statement credits, on top of what the purchase earns.
|
|
36
|
+
credits:
|
|
37
|
+
- id: jetblue-vacations
|
|
38
|
+
match: { merchants: [jetblue-vacations] }
|
|
39
|
+
amount: 100
|
|
40
|
+
period: calendar_year
|
|
41
|
+
min_amount: 100
|
|
42
|
+
note: One $100 credit a calendar year on a JetBlue Vacations package of $100 or more (after returns and credits), booked at jetbluevacations.com or 844-JB-VACAY. It posts 6-8 weeks after the purchase.
|
|
35
43
|
evidence:
|
|
44
|
+
- rule: jetblue-vacations
|
|
45
|
+
url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
|
|
46
|
+
quote: 'For each calendar year that you purchase a JetBlue Vacations package of $100 or more with your Card Account'
|
|
47
|
+
- rule: jetblue-vacations
|
|
48
|
+
url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
|
|
49
|
+
quote: 'Limit of one $100 statement credit per calendar year per Card Account.'
|
|
50
|
+
- rule: jetblue-vacations
|
|
51
|
+
url: https://cards.barclaycardus.com/banking/cards/jetblue-plus-card/
|
|
52
|
+
quote: 'after you purchase a JetBlue Vacations package of $100 or more with your JetBlue Plus Card.'
|
|
36
53
|
- rule: base_rate
|
|
37
54
|
url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
|
|
38
55
|
quote: 'You earn 1 TrueBlue point for every $1 spent on all other Net Purchases'
|
|
@@ -82,5 +99,6 @@ evidence:
|
|
|
82
99
|
url: https://www.barclaycardus.com/applycontent/TnCs.jsp?tc48255
|
|
83
100
|
quote: 'Foreign Transaction 0% of each transaction in U.S. dollars.'
|
|
84
101
|
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
|
|
102
|
+
- 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 and the free first checked bag.
|
|
86
103
|
- Card spending earns Mosaic tiles toward JetBlue elite status, which isn't modeled.
|
|
104
|
+
- "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
|
|
@@ -16,10 +16,10 @@ base_rate: 1
|
|
|
16
16
|
annual_fee: 0
|
|
17
17
|
foreign_transaction_fee: 0
|
|
18
18
|
welcome_offer:
|
|
19
|
-
dollars:
|
|
19
|
+
dollars: 200
|
|
20
20
|
spend: 500
|
|
21
21
|
months: 3
|
|
22
|
-
note: '
|
|
22
|
+
note: 'Chase: "available to you if you do not have this card and have not received a new cardmember bonus for this card in the past 24 months."'
|
|
23
23
|
# Its cash back is earned as points, which Chase lets you move to another
|
|
24
24
|
# Ultimate Rewards card on your account.
|
|
25
25
|
pools_into:
|
|
@@ -139,10 +139,10 @@ evidence:
|
|
|
139
139
|
quote: 'Earn 2% total cash back on Lyft rides with your Freedom Flex card through September 30, 2027'
|
|
140
140
|
- rule: q4-2026-grocery
|
|
141
141
|
url: https://creditcards.chase.com/cash-back-credit-cards/freedom/flex
|
|
142
|
-
quote: '
|
|
142
|
+
quote: 'Activate each quarter to earn 5% cash back on up to $1,500 in combined purchases'
|
|
143
143
|
- rule: q4-2026-grocery
|
|
144
144
|
url: https://creditcards.chase.com/cash-back-credit-cards/freedom/flex
|
|
145
|
-
quote: '
|
|
145
|
+
quote: 'CURRENT QUARTER Grocery Stores'
|
|
146
146
|
- rule: q4-2026-grocery
|
|
147
147
|
url: https://www.chase.com/personal/credit-cards/rewards-category-faq
|
|
148
148
|
quote: 'Purchases made at gas stations from merchants who also operate grocery stores are not included'
|
|
@@ -150,20 +150,17 @@ evidence:
|
|
|
150
150
|
url: https://www.chase.com/personal/credit-cards/freedom/flex-learnmore
|
|
151
151
|
quote: 'This quarter, the deadline for activation is December 14, 2026'
|
|
152
152
|
- rule: q4-2026-dining
|
|
153
|
-
url: https://
|
|
154
|
-
quote: 'Dining
|
|
153
|
+
url: https://www.chase.com/personal/credit-cards/freedom/flex-learnmore
|
|
154
|
+
quote: 'For Dining purchases, you will earn 7% cash back (3% Dining cash back + 4% bonus category cash back)'
|
|
155
155
|
- rule: q4-2026-dining
|
|
156
156
|
url: https://creditcards.chase.com/cash-back-credit-cards/freedom/flex
|
|
157
157
|
quote: '5% Cash Back rewards total for each $1 spent until $1,500 is spent'
|
|
158
|
-
- rule: q4-2026-
|
|
158
|
+
- rule: q4-2026-american-red-cross
|
|
159
159
|
url: https://www.chase.com/personal/credit-cards/freedom/flex-learnmore
|
|
160
|
-
quote: '
|
|
160
|
+
quote: 'To ensure your charitable donation is eligible for the 5% total Cash Back reward'
|
|
161
161
|
- rule: q4-2026-american-red-cross
|
|
162
162
|
url: https://creditcards.chase.com/cash-back-credit-cards/freedom/flex
|
|
163
163
|
quote: 'American Red Cross'
|
|
164
|
-
- rule: q4-2026-american-red-cross
|
|
165
|
-
url: https://www.chase.com/personal/credit-cards/freedom/flex-learnmore
|
|
166
|
-
quote: 'To ensure your charitable donation is eligible for the 5% total Cash Back reward'
|
|
167
164
|
- rule: q4-2026-american-red-cross
|
|
168
165
|
url: https://www.chase.com/personal/credit-cards/freedom/flex-learnmore
|
|
169
166
|
quote: 'Local chapters may not be eligible due to transaction processing procedures'
|
|
@@ -187,7 +184,7 @@ evidence:
|
|
|
187
184
|
quote: 'Annual Membership Fee None'
|
|
188
185
|
- rule: welcome_offer
|
|
189
186
|
url: https://creditcards.chase.com/cash-back-credit-cards/freedom/flex
|
|
190
|
-
quote: 'Earn a $
|
|
187
|
+
quote: 'Earn a $200 bonus after you spend $500 on purchases in the first 3 months from account opening'
|
|
191
188
|
- rule: foreign_transaction_fee
|
|
192
189
|
url: https://sites.chase.com/services/creatives/pricingandterms.html/content/dam/pricingandterms/LGC65280.html
|
|
193
190
|
quote: 'Foreign Transactions None Penalty Fees'
|
|
@@ -56,20 +56,37 @@ milestones:
|
|
|
56
56
|
rewards:
|
|
57
57
|
- a free night at IHG hotels (up to 50,000 points)
|
|
58
58
|
note: 'Use it within 12 months.'
|
|
59
|
-
# Merchant statement credits, on top of what the purchase earns.
|
|
59
|
+
# Merchant statement credits, on top of what the purchase earns.
|
|
60
|
+
- id: diamond-status
|
|
61
|
+
spend: 50000
|
|
62
|
+
period: calendar_year
|
|
63
|
+
rewards:
|
|
64
|
+
- Diamond Elite status
|
|
65
|
+
valid_from: 2027-01-01
|
|
66
|
+
note: For the primary cardmember only. Status lasts the rest of the calendar year you qualify and the next.
|
|
60
67
|
credits:
|
|
61
68
|
- id: instacart
|
|
62
69
|
match: { merchants: [instacart] }
|
|
63
70
|
amount: 10
|
|
64
71
|
period: month
|
|
65
72
|
enroll: true
|
|
66
|
-
|
|
73
|
+
valid_to: 2027-12-31
|
|
74
|
+
note: "Instacart credits, which need an active Instacart+ membership: activate Chase's complimentary one with the card."
|
|
67
75
|
- id: expensify
|
|
68
76
|
match: { merchants: [expensify] }
|
|
69
77
|
amount: 100
|
|
70
78
|
period: calendar_year
|
|
71
79
|
note: 'Bought directly from Expensify on expensify.com or in its app, applied automatically.'
|
|
72
80
|
evidence:
|
|
81
|
+
- rule: diamond-status
|
|
82
|
+
url: https://creditcards.chase.com/business-credit-cards/IHG/business
|
|
83
|
+
quote: 'Starting January 1, 2027, after spending $50,000 with your IHG One Rewards Business Credit Card'
|
|
84
|
+
- rule: diamond-status
|
|
85
|
+
url: https://creditcards.chase.com/business-credit-cards/IHG/business
|
|
86
|
+
quote: 'will qualify for IHG One Rewards Diamond Elite Status for the remainder of the calendar year'
|
|
87
|
+
- rule: instacart
|
|
88
|
+
url: https://creditcards.chase.com/business-credit-cards/IHG/business
|
|
89
|
+
quote: 'from 5/1/2025 through 12/31/2027'
|
|
73
90
|
- rule: base_rate
|
|
74
91
|
url: https://creditcards.chase.com/business-credit-cards/IHG/business
|
|
75
92
|
quote: 'Earn 3X points per $1 spent on all other purchases.'
|
|
@@ -143,6 +160,5 @@ evidence:
|
|
|
143
160
|
url: https://creditcards.chase.com/business-credit-cards/IHG/business
|
|
144
161
|
quote: 'Enjoy up to $100 in statement credits towards Expensify purchases each calendar year.'
|
|
145
162
|
todo:
|
|
146
|
-
- "Starting January 1, 2027, $50,000 of purchases in a calendar year earns Diamond Elite status. It isn't listed as a milestone yet, because a milestone has no start date."
|
|
147
163
|
- The $100 airline statement credit (after $250 on flights bought directly each calendar year) isn't modeled.
|
|
148
164
|
- "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
|
|
@@ -55,10 +55,14 @@ credits:
|
|
|
55
55
|
amount: 10
|
|
56
56
|
period: month
|
|
57
57
|
enroll: true
|
|
58
|
-
|
|
58
|
+
valid_to: 2027-12-31
|
|
59
|
+
note: "Instacart credits, which need an active Instacart+ membership: activate Chase's complimentary one with the card."
|
|
59
60
|
todo:
|
|
60
61
|
- "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
|
|
61
62
|
evidence:
|
|
63
|
+
- rule: instacart
|
|
64
|
+
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/premier-select
|
|
65
|
+
quote: 'from 5/1/2025 through 12/31/2027'
|
|
62
66
|
- rule: base_rate
|
|
63
67
|
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/premier-select
|
|
64
68
|
quote: 'Earn 3X points per $1 spent on all other purchases.'
|
|
@@ -59,8 +59,12 @@ credits:
|
|
|
59
59
|
amount: 10
|
|
60
60
|
period: month
|
|
61
61
|
enroll: true
|
|
62
|
-
|
|
62
|
+
valid_to: 2027-12-31
|
|
63
|
+
note: "Instacart credits, which need an active Instacart+ membership: activate Chase's complimentary one with the card."
|
|
63
64
|
evidence:
|
|
65
|
+
- rule: instacart
|
|
66
|
+
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/premier
|
|
67
|
+
quote: 'from 5/1/2025 through 12/31/2027'
|
|
64
68
|
- rule: base_rate
|
|
65
69
|
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/premier
|
|
66
70
|
quote: 'Earn 3X points per $1 spent on all other purchases.'
|
|
@@ -109,6 +113,7 @@ evidence:
|
|
|
109
113
|
- rule: spend-15k
|
|
110
114
|
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/premier
|
|
111
115
|
quote: 'Earn 15,000 bonus points after you spend $15,000 on purchases each calendar year.'
|
|
116
|
+
in_popup: true
|
|
112
117
|
- rule: spend-15k
|
|
113
118
|
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/premier
|
|
114
119
|
quote: 'will qualify for Platinum Elite Status, 5 Elite Night credits and 15,000 bonus points'
|
|
@@ -124,6 +129,7 @@ evidence:
|
|
|
124
129
|
- rule: instacart
|
|
125
130
|
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/premier
|
|
126
131
|
quote: 'Active Instacart+ membership is required to receive your $10 monthly credit.'
|
|
132
|
+
in_popup: true
|
|
127
133
|
todo:
|
|
128
134
|
- The $100 airline statement credit (after $250 on flights bought directly each calendar year, through 12/31/27) isn't modeled.
|
|
129
135
|
- "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
|
|
@@ -70,7 +70,20 @@ milestones:
|
|
|
70
70
|
rewards:
|
|
71
71
|
- Gold Elite status
|
|
72
72
|
note: "Every purchase on the card counts, by transaction date; balance transfers, cash advances and cash-like transactions don't. Status lasts through the end of the next calendar year. Chase says to allow 6-8 weeks for it to post."
|
|
73
|
+
- id: fourth-night-free
|
|
74
|
+
spend: 5000
|
|
75
|
+
period: calendar_year
|
|
76
|
+
rewards:
|
|
77
|
+
- a 4th Reward Night free on four-night award stays
|
|
78
|
+
valid_from: 2027-01-01
|
|
79
|
+
note: 'From 2027 the benefit needs this spending; through 2026 it comes with the card. It lasts the rest of the year you qualify and the next, on consecutive four-night standard-room Reward Night stays at one hotel (not paid or Points & Cash stays). Chase says to allow 6-8 weeks for it to be turned on.'
|
|
73
80
|
evidence:
|
|
81
|
+
- rule: fourth-night-free
|
|
82
|
+
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/one-rewards
|
|
83
|
+
quote: 'Starting in 2027, spend $5,000 on purchases in a calendar year and unlock a 4th Reward Night free'
|
|
84
|
+
- rule: fourth-night-free
|
|
85
|
+
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/one-rewards
|
|
86
|
+
quote: 'After December 31, 2026: You will have to meet an annual spend requirement to enjoy this benefit.'
|
|
74
87
|
- rule: base_rate
|
|
75
88
|
url: https://creditcards.chase.com/travel-credit-cards/ihg-rewards-club/one-rewards
|
|
76
89
|
quote: 'Earn 2X points per $1 spent on all other purchases.'
|
|
@@ -122,5 +135,3 @@ evidence:
|
|
|
122
135
|
- rule: foreign_transaction_fee
|
|
123
136
|
url: https://sites.chase.com/services/creatives/pricingandterms.html/content/dam/pricingandterms/LGC65295.html
|
|
124
137
|
quote: 'Foreign Transactions None Penalty Fees'
|
|
125
|
-
todo:
|
|
126
|
-
- "Starting in 2027, $5,000 of purchases in a calendar year unlocks a 4th Reward Night free on four-night award stays. It isn't listed as a milestone yet, because a milestone has no start date."
|
|
@@ -70,11 +70,15 @@ credits:
|
|
|
70
70
|
amount: 20
|
|
71
71
|
period: month
|
|
72
72
|
enroll: true
|
|
73
|
-
|
|
73
|
+
valid_to: 2027-12-31
|
|
74
|
+
note: "Instacart credits in an Instacart Business account, which need an active Instacart+ membership: activate Chase's complimentary one with the card."
|
|
74
75
|
todo:
|
|
75
76
|
- "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
|
|
76
77
|
# Issuer text backing each rule; `yarn check-sources` checks it weekly.
|
|
77
78
|
evidence:
|
|
79
|
+
- rule: instacart
|
|
80
|
+
url: https://creditcards.chase.com/business-credit-cards/ink/cash
|
|
81
|
+
quote: 'from 5/1/2025 through 12/31/2027'
|
|
78
82
|
- rule: base_rate
|
|
79
83
|
url: https://creditcards.chase.com/business-credit-cards/ink/cash
|
|
80
84
|
quote: 'Earn 1% cash back on all other purchases'
|
|
@@ -43,11 +43,15 @@ credits:
|
|
|
43
43
|
amount: 20
|
|
44
44
|
period: month
|
|
45
45
|
enroll: true
|
|
46
|
-
|
|
46
|
+
valid_to: 2027-12-31
|
|
47
|
+
note: "Instacart credits in an Instacart Business account, which need an active Instacart+ membership: activate Chase's complimentary one with the card."
|
|
47
48
|
todo:
|
|
48
49
|
- "The issuer's terms don't say whether purchases a credit pays for earn rewards. Its credits are modeled as earning the card's rate on the whole purchase, with the credit on top."
|
|
49
50
|
# Issuer text backing each rule; `yarn check-sources` checks it weekly.
|
|
50
51
|
evidence:
|
|
52
|
+
- rule: instacart
|
|
53
|
+
url: https://creditcards.chase.com/business-credit-cards/ink/unlimited
|
|
54
|
+
quote: 'from 5/1/2025 through 12/31/2027'
|
|
51
55
|
- rule: base_rate
|
|
52
56
|
url: https://creditcards.chase.com/business-credit-cards/ink/unlimited
|
|
53
57
|
quote: 'Earn unlimited 1.5% Cash Back rewards on every purchase made for your business.'
|
|
@@ -14,10 +14,10 @@ base_rate: 1
|
|
|
14
14
|
annual_fee: 0
|
|
15
15
|
foreign_transaction_fee: 0
|
|
16
16
|
welcome_offer:
|
|
17
|
-
dollars:
|
|
17
|
+
dollars: 200
|
|
18
18
|
spend: 0
|
|
19
19
|
months: 1
|
|
20
|
-
note: '
|
|
20
|
+
note: 'Labeled a limited-time offer (up from $150), with no end date given. A $200 Amazon Gift Card loaded into your Amazon account on approval, not cash back; there''s no spend requirement, so spend 0 and months 1 stand in for "on approval". For Prime members; without Prime it''s $60. Chase: available "if you do not currently have an Amazon Visa or Prime Visa credit card", and the gift card "is only awarded to new cardmembers and at the time of card approval."'
|
|
21
21
|
rules:
|
|
22
22
|
- id: amazon
|
|
23
23
|
match: { merchants: [amazon] }
|
|
@@ -132,7 +132,7 @@ evidence:
|
|
|
132
132
|
quote: 'Annual Membership Fee None'
|
|
133
133
|
- rule: welcome_offer
|
|
134
134
|
url: https://creditcards.chase.com/cash-back-credit-cards/amazon-prime-rewards
|
|
135
|
-
quote: "Prime members, get a $
|
|
135
|
+
quote: "Prime members, get a $200 Amazon Gift Card instantly loaded into your Amazon account's Gift Card Balance"
|
|
136
136
|
- rule: foreign_transaction_fee
|
|
137
137
|
url: https://sites.chase.com/services/creatives/pricingandterms.html/content/dam/pricingandterms/LGC59329.html
|
|
138
138
|
quote: 'Foreign Transactions None Penalty Fees'
|
|
@@ -70,20 +70,29 @@ credits:
|
|
|
70
70
|
amount: 150
|
|
71
71
|
period: half_year
|
|
72
72
|
enroll: true
|
|
73
|
-
|
|
73
|
+
valid_to: 2027-12-31
|
|
74
|
+
note: 'StubHub and viagogo. Activate once on chase.com.'
|
|
74
75
|
- id: lyft-credit
|
|
75
76
|
match: { merchants: [lyft] }
|
|
76
77
|
amount: 10
|
|
77
78
|
period: month
|
|
78
|
-
|
|
79
|
+
valid_to: 2027-09-30
|
|
80
|
+
note: 'A $10 Lyft credit in the app each month, once the card is added to Lyft. Rides only, not memberships, fees, tips or taxes.'
|
|
79
81
|
- id: peloton-credit
|
|
80
82
|
match: { merchants: [peloton-membership] }
|
|
81
83
|
amount: 10
|
|
82
84
|
period: month
|
|
83
85
|
enroll: true
|
|
84
|
-
|
|
86
|
+
valid_to: 2027-12-31
|
|
87
|
+
note: 'Peloton memberships (All-Access, Rental, App+, Guide, App One, Strength+). Activate once on chase.com.'
|
|
85
88
|
# Issuer text backing each rule; `yarn check-sources` checks it weekly.
|
|
86
89
|
evidence:
|
|
90
|
+
- rule: stubhub
|
|
91
|
+
url: https://creditcards.chase.com/rewards-credit-cards/sapphire/reserve
|
|
92
|
+
quote: 'for a maximum of $300 annually for StubHub and viagogo purchases through 12/31/2027'
|
|
93
|
+
- rule: peloton-credit
|
|
94
|
+
url: https://creditcards.chase.com/rewards-credit-cards/sapphire/reserve
|
|
95
|
+
quote: 'Get $10 in statement credits per month on eligible Peloton memberships through 12/31/2027'
|
|
87
96
|
- rule: base_rate
|
|
88
97
|
url: https://creditcards.chase.com/rewards-credit-cards/sapphire/reserve
|
|
89
98
|
quote: "You'll earn 1 point for each $1 spent on all other purchases"
|
|
@@ -57,7 +57,8 @@ credits:
|
|
|
57
57
|
amount: 10
|
|
58
58
|
period: month
|
|
59
59
|
enroll: true
|
|
60
|
-
|
|
60
|
+
valid_to: 2027-12-31
|
|
61
|
+
note: "Instacart credits, which need an active Instacart+ membership: activate Chase's complimentary one with the card."
|
|
61
62
|
- id: rideshare
|
|
62
63
|
match: { categories: [transit.rideshare] }
|
|
63
64
|
amount: 8
|
|
@@ -71,6 +72,9 @@ credits:
|
|
|
71
72
|
note: 'Flights booked directly with JSX.'
|
|
72
73
|
# Issuer text backing each rule; `yarn check-sources` checks it weekly.
|
|
73
74
|
evidence:
|
|
75
|
+
- rule: instacart
|
|
76
|
+
url: https://creditcards.chase.com/business-credit-cards/united/united-business-card
|
|
77
|
+
quote: 'from 3/23/2025 through 12/31/2027'
|
|
74
78
|
- rule: annual_fee
|
|
75
79
|
url: https://creditcards.chase.com/business-credit-cards/united/united-business-card
|
|
76
80
|
quote: '$150 Annual Fee'
|
|
@@ -125,9 +129,12 @@ evidence:
|
|
|
125
129
|
- rule: rideshare
|
|
126
130
|
url: https://creditcards.chase.com/business-credit-cards/united/united-business-card
|
|
127
131
|
quote: 'up to $8 back as a statement credit each month from January through November'
|
|
132
|
+
in_popup: true
|
|
128
133
|
- rule: rideshare
|
|
129
134
|
url: https://creditcards.chase.com/business-credit-cards/united/united-business-card
|
|
130
135
|
quote: 'Yearly opt-in is required.'
|
|
136
|
+
in_popup: true
|
|
131
137
|
- rule: jsx
|
|
132
138
|
url: https://creditcards.chase.com/business-credit-cards/united/united-business-card
|
|
133
139
|
quote: 'Get up to $100 back as a statement credit each anniversary year when you book flights directly with JSX'
|
|
140
|
+
in_popup: true
|