who watches the neobanks?
an independent, open-source directory of 365 verified-active neobanks across three waves:
traditional (Chime, Nubank, Kaspi…) · hybrid fiat+crypto (Revolut, Cash App, RedotPay…) · web3-native self-custodial money apps (MetaMask, Gnosis Pay, Payy…)
plus the niche-audience generation and super-app wallets.
inspired by Walletbeat and L2Beat. built accordingly.
a 57-page designed PDF measuring the industry every month — custody, licences, cards, stablecoins, geography, niches, future narratives — generated entirely from data.json.
| edition | full pdf (free, gated) | preview online |
|---|---|---|
| № 01 — July 2026 | get the report | first 5 chapters |
subscribing to the (free) newsletter is the only gate — the download starts instantly on the site. every figure is reproducible from the open dataset.
pie showData title 365 neobanks by category
"traditional (fiat, custodial)" : 257
"hybrid (fiat + custodial crypto)" : 57
"web3-native (self-custodial)" : 51
the three waves are visible in the founding years — challengers after 2011, the mobile-first boom peaking in 2019, and the web3-native wave arriving after 2020:
xychart-beta
title "neobanks founded per year"
x-axis ["<'10", "'10", "'11", "'12", "'13", "'14", "'15", "'16", "'17", "'18", "'19", "'20", "'21", "'22", "'23", "'24", "'25"]
y-axis "founded" 0 --> 50
bar [17, 1, 5, 8, 17, 13, 28, 27, 31, 40, 45, 23, 35, 25, 22, 16, 4]
xychart-beta horizontal
title "where they operate (multi-region players counted in every region)"
x-axis ["Europe", "Asia", "North America", "Latin America", "Africa", "MENA", "Oceania"]
y-axis "active neobanks" 0 --> 140
bar [131, 120, 111, 102, 79, 72, 61]
more numbers from the current dataset:
| niche-audience neobanks (women-first, gen z, immigrants, faith-based…) | 117 |
| with stablecoin support | 103 |
| licensed banks (charters, digital-bank licences) | 92 |
| verified terms & privacy links (checked, not guessed) | 126 |
| official X handles on file | 151 |
| no-KYC self-custodial wallets | 12 |
- directory — 365 verified-active entities; filter by category, custody, region, country, audience niche, regulation, stablecoin support; side-by-side compare tray. filters live in the URL, so views are shareable:
?cat=W&map=AF= web3-native in Africa - map — dot-matrix world map with region → country drill-down, plus a floating mini-map
- data — nine charts: reported users, founding waves, researched volume watch (every figure links to its filing), the stablecoin card curve, region × category matrix, the neobank paradox, global banked adults, stablecoin supply 2030 scenarios, how stablecoins get spent
- profiles — verified terms & privacy links, official X handles, founder LinkedIns (verified tier only), countries of operation, users/volume tiles, peers, regulation type with links to the official registers (ESMA MiCA, EBA, FCA, SEC EDGAR, NMLS)
- library — 14 vetted industry reports (direct PDFs flagged) + the full resources stack
- news — curated headline watch
neobankbeat is built to be a source of truth for agents, not just humans:
| resource | what it is |
|---|---|
data.json |
the full dataset as clean JSON — all 365 entities, every field, with sources. no HTML parsing needed |
llms.txt |
agent guide: what this site is, data semantics, field caveats, how to cite |
| JSON-LD in the page head | WebSite + Dataset schema, marks the directory as a citable open dataset |
data.json is regenerated from the live page (so it can never drift from the site):
cd tests && node export-data.jsthe whole app is one self-contained index.html — no build step, no backend, no framework. deploy the repo root anywhere static (Vercel: drop it in, done). the root also ships data.json, llms.txt, robots.txt, sitemap.xml and the OG/icon images.
index.html the entire app: CSS + data + logic
├── const D=[...] 365 entities, one row each
├── const X={...} enrichment: founders, licences, funding, stories
├── const INV={...} notable early investors per entity (public rounds)
└── const V={...} verified links: terms, privacy, X handles, countries
data.json machine-readable export (generated, committed)
llms.txt agent-facing guide
blog/ static deep dives + RSS feed
jobs/ live job board pulled from official ATS APIs (+ data.json feed)
report/ gated landing page for the monthly PDF report
reports/ generated report source + PDF (robots-disallowed)
n/ 365 generated entity profile pages (SEO surface)
vs/ 60 generated head-to-head comparison pages
tests/
├── flowtest.js 167 assertions across 23 user flows (JSDOM)
├── export-data.js regenerates data.json from index.html
├── build-pages.mjs regenerates /n/, /vs/ and sitemap.xml from data.json
├── build-jobs.mjs refreshes /jobs/ from Greenhouse/Lever/Ashby APIs
└── build-report.mjs generates the monthly 50+ page State of Neobanks PDF
tracked on neobankbeat? embed the badge — it links people to your verified profile:
[](https://www.neobankbeat.com/n/YOUR-SLUG/)- verified-active only — defunct neobanks and pure BaaS/infrastructure are excluded by design
- no fabricated links — unverified fields fall back to honest search links, never guessed URLs
- sources on everything — volume figures link to filings; charts cite their reports
- "up to" rates — cashback/yield figures change constantly; always confirm with the issuer
the dataset lives in index.html as const D=[...] (one row per entity) with a verified-links layer in const V={...}. two ways in:
- + submit a neobank — pre-filled issue form
- suggest a correction — spotted a wrong figure or dead link?
or PR directly — see CONTRIBUTING.md for the row schema. before submitting:
cd tests && npm install
node flowtest.js # 167 assertions must pass
node export-data.js # regenerate data.json, commit it with your change
node build-pages.mjs # regenerate /n/, /vs/ and sitemap.xmlmonthly report (edit the MONTH/EDITION constants, then):
cd tests && node build-report.mjs
# print reports/report-src.html to PDF with headless Chrome (A4, no headers)MIT — do whatever, credit appreciated. made with ❤ & 🦊 by francesco · still early

