Methodology
Every "effective %" on this site is computed the same way, for every card: take the real tier data, apply fees and caps, subtract FX cost and staking risk, and rank by what's actually left over. No card gets a better formula than another.
Last verified: 2026-07-12
How does tier selection work?
A card can have several tiers — free, fee-gated, staking-gated. For a given spend, I compute the net $/month for every tier of a card and keep whichever one wins. That means the engine assumes you'd pay a tier's membership fee if the math says it's worth it, and skip it if it isn't. It never assumes you're stuck on a card's worst tier.
How does banded cashback work?
Marginally, not flatly. If a tier pays 3% on the first $2,000/month and 0.5% after that, spending $2,500 doesn't earn 3% on the whole $2,500. It earns 3% on the first $2,000 ($60) plus 0.5% on the next $500 ($2.50) — $62.50 total, an effective 2.5%, not 3%. Every band threshold in the data is applied this way, band by band, until your spend runs out.
Are fees and caps included?
Yes. Annual and monthly fees come straight off the top, converted to a monthly cost — a $120/year fee is -$10/month against your reward. A one-time issuance fee is amortized over year one (a $60 issuance fee is -$5/month for 12 months, then drops out — worth remembering if you're comparing year-two economics by hand). If a tier caps rewards at a flat dollar amount instead of a band structure, the reward stops growing at that cap.
How is FX cost calculated?
The calculator asks what share of your spend is in a foreign currency. Only that share gets hit with the card's FX fee — spend $1,000/month with 20% abroad on a card with a 3% FX fee, and the FX cost is $1,000 × 20% × 3% = $6/month, not $30.
What's the 15% staking haircut?
Some cards only unlock their real rate if you lock up a volatile token — not a stablecoin, something that can lose value while it's stuck there. I assume a conservative 15% annual depreciation on that locked capital and charge it against the card's reward, prorated monthly. A card requiring $5,000 staked costs an assumed $62.50/month in haircut (5,000 × 15% ÷ 12), regardless of how much you spend on the card itself — which is why a staking-gated card can show a negative net $/month at low spend: the lockup cost outweighs the reward. This 15% figure isn't mine — it's the same conservative assumption a competitor in this space uses, kept for consistency. The haircut is skipped entirely for tiers you unlock through spend volume alone (no token lockup), and you can exclude staking-gated cards from the ranking completely with the toggle on the home page.
Does the haircut cover cards that pay rewards in Bitcoin or another volatile token?
No, and that's a real gap worth stating plainly. The 15% haircut only applies to capital you have to lock up to unlock a rate. A card that pays cashback directly in a volatile token — Bitcoin, say — with no staking requirement at all still shows its nominal rate at face value, with no discount for the fact that the reward itself can lose value after you receive it. That's a different kind of risk than the haircut measures, and this calculator doesn't currently price it in. Each card's own page states plainly what asset its rewards pay out in.
What if a card's rate isn't confirmed?
It doesn't default to 0%, and it doesn't get excluded silently either — it just doesn't show up in the ranking until the number is real. Two cards are in the dataset right now with no rankable rate at all: Crypto.com, whose own official pages currently publish two different cashback percentages for the same tier, and Brighty, which doesn't publish a fixed rate at all. Cards that DO rank but have some other unconfirmed detail (a fee, a cap) carry a visible "unconfirmed details" flag in the table. The full dataset, including exactly which fields are confirmed and which aren't, is public at /data.
How often is this re-verified?
At minimum monthly, against each issuer's own site — not against cached notes, and not against other comparison sites. Nerfs and new launches get scanned for weekly and logged the same day I catch them. Every data change, dated, is on /report.
Found something wrong?
Tell me — t.me/bullishsbangers — with a source. Confirmed errors get fixed the same day, with a dated changelog entry, no exceptions for cards I'd rather rank well.