Methodology
The ranking is a formula, not an opinion. Every card is scored with the same arithmetic for the stake and spend you set. No field tied to commission enters the score. Formula version v1.2; a change of version is recorded on /changes/.
Net value per year
cashback_yr = cap.scope == reward ? min(rate × spend_yr, cap × periods)
: cap.scope == spend ? rate × min(spend_yr, cap × periods)
: rate × spend_yr
effective_fx = fx + (conversion_spread ?? (stablecoin card ? 0.5% : 0))
net_value = cashback_yr
− annual − 12 × monthly − subscription
− effective_fx × fx_share × spend_yr
− stake_usd × 5.0%Constants and where they come from
| Constant | Value | Source |
|---|---|---|
| Opportunity cost of locked stake | 5.0% / yr | assumed; to be tied to the 12-month USD treasury yield at build date |
| Undisclosed FX fee | 1.0% | assumed; shown as “assumed” on every card that uses it |
| Undisclosed conversion spread, stablecoin cards | 0.5% | assumed |
| Share of spend in foreign currency | US 10.0% · GB 15.0% · DE 15.0% · FR 15.0% · IT 15.0% · ES 15.0% · BR 15.0% · AU 15.0% · IE 15.0% · NL 15.0% · PT 15.0% · PL 15.0% · GR 15.0% · RO 15.0% · FI 15.0% · DK 15.0% · SE 15.0% · CZ 15.0% · AT 15.0% · CH 15.0% · CA 15.0% · BE 15.0% · MT 20.0% · CY 20.0% · LV 15.0% · LT 15.0% · LU 20.0% · SK 15.0% · SI 15.0% · HR 15.0% · BG 15.0% · EE 15.0% · LI 25.0% · NO 20.0% · HU 15.0% · IS 25.0% · AE 25.0% · SG 30.0% · JP 8.0% · KR 10.0% · TW 15.0% · MY 20.0% · NZ 25.0% · TH 20.0% · PH 25.0% · VN 20.0% · ZA 12.0% · AR 30.0% · MX 15.0% · CO 18.0% · CL 18.0% · PE 15.0% · EC 5.0% · PA 12.0% · GT 20.0% · SV 10.0% · BO 25.0% · DO 22.0% · KZ 15.0% · GH 20.0% · KE 20.0% · AD 25.0% · MC 30.0% | assumed per country; 1.0 when the card cannot hold the country's currency (every purchase converts) |
| Default monthly spend | US 1000 USD · GB 800 GBP · DE 1000 EUR · FR 1000 EUR · IT 900 EUR · ES 900 EUR · BR 3000 BRL · AU 1500 AUD · IE 1000 EUR · NL 1000 EUR · PT 900 EUR · PL 3500 PLN · GR 800 EUR · RO 4000 RON · FI 1000 EUR · DK 7500 DKK · SE 11000 SEK · CZ 22000 CZK · AT 1000 EUR · CH 1200 CHF · CA 1300 CAD · BE 1000 EUR · MT 900 EUR · CY 800 EUR · LV 700 EUR · LT 700 EUR · LU 1400 EUR · SK 700 EUR · SI 800 EUR · HR 700 EUR · BG 600 EUR · EE 800 EUR · LI 1500 CHF · NO 12000 NOK · HU 300000 HUF · IS 150000 ISK · AE 6000 AED · SG 2000 SGD · JP 150000 JPY · KR 1500000 KRW · TW 30000 TWD · MY 3000 MYR · NZ 2000 NZD · TH 20000 THB · PH 25000 PHP · VN 12000000 VND · ZA 8000 ZAR · AR 900000 ARS · MX 12000 MXN · CO 2000000 COP · CL 500000 CLP · PE 2500 PEN · EC 600 USD · PA 800 USD · GT 4000 GTQ · SV 700 USD · BO 3000 BOB · DO 25000 DOP · KZ 300000 KZT · GH 3000 GHS · KE 50000 KES · AD 2000 EUR · MC 5000 EUR | assumed per country; editable on every page |
| Stake thresholds in USD | token price at build date | CoinGecko daily snapshot; the date is shown next to every USD threshold |
Three states of a figure
- $0 — verified: the issuer's page says zero, and the quote is on the card page.
- — — not disclosed: we looked and the issuer does not say. Never treated as zero in display. In scoring, an undisclosed FX fee is assumed 1.0%; an undisclosed fixed fee is treated as zero and flagged.
- Varies by tier — the value depends on the tier; see the tier table.
- Sources disagree — two official pages give different numbers; both quotes are shown and the more authoritative source (legal › fees page › help centre › landing) is used.
Confidence
A — an official source plus an independent one (regulator register, network announcement, or our own captured evidence). B — official sources only. C — no verified official figure; net value is not computed and no partner link is shown. Today: A 20 · B 41 · C 7.
How figures are verified
Every figure is extracted from the issuer's own pages, stored as a checksummed snapshot, and quoted on the card page under Sources. A script matches each quote against the snapshot; a quote that cannot be found downgrades the figure to “not disclosed”. 437 figures are verified as of 7 Sep 2026. Figures not checked for 90 days carry a warning on the card.
The extraction itself is done by a language model (Claude): it reads the snapshot and returns each figure with the verbatim sentence it came from. The quote check is what keeps a misread from reaching the page — a figure the model cannot tie to a sentence in the snapshot never becomes verified. Fields the model leaves unsourced, and any two sources that disagree, are checked by the editor by hand before they are published.
Corrections
Report a wrong figure from any card page. We answer within 5 working days; every correction is logged on /changes/ with what it was, what it is now and who reported it.
Scraping policy
One request per five seconds per host, an identifying user agent with a contact address, robots.txt respected. Snapshots are private; only quotes of 25 words or fewer are published.