Global Metrics ๐๏ธ
- Total Bitcoin-accepting merchants: 26,073 -> 26,575 (+502 +1.9%)
- Total Bitcoin-accepting places: 28,572 -> 29,061 (+489 +1.7%)
- Recently verified (1y): 16,990 -> 16,860 (-130 -0.8%)
- Avg. days since last verification: 402 -> 418 (+16 +4.0%)
- Merchants boosted: 11 -> 14 (+3 +27.3%)
- Total boost duration: 390 -> 1,605 (+1,215 +311.5%) days
- Comments posted: 34 -> 25 (-9 -26.5%)


Find current stats over at the BTC Map Dashboard.
Note: the charts above track merchant growth only. The total places metric includes merchants plus exchanges/ATMs.
Country Activity ๐
Here are this month’s most active countries in terms of merchant data editing.
| Name | Total | Created | Updated | Deleted | Comments |
|---|---|---|---|---|---|
| ๐บ๐ธ United States of America | 663 | 378 | 242 | 36 | 7 |
| ๐ฏ๐ต Japan | 133 | 9 | 118 | 6 | 0 |
| ๐ฟ๐ฆ South Africa | 76 | 30 | 39 | 7 | 0 |
| ๐จ๐ญ Switzerland | 49 | 3 | 34 | 12 | 0 |
| ๐ฎ๐น Italy | 48 | 12 | 29 | 6 | 1 |
| ๐ง๐ท Brazil | 42 | 6 | 32 | 3 | 1 |
| ๐จ๐ด Colombia | 41 | 9 | 32 | 0 | 0 |
| ๐ซ๐ท France | 39 | 2 | 34 | 3 | 0 |
| ๐น๐ญ Thailand | 34 | 10 | 22 | 2 | 0 |
| ๐ฉ๐ช Germany | 28 | 6 | 18 | 2 | 2 |
Community Activity ๐
Here are this month’s most active communities in terms of merchant data editing.
| Name | Total | Created | Updated | Deleted | Comments |
|---|---|---|---|---|---|
| ๐ฏ๐ต Tokyo Bitcoin Base | 103 | 6 | 93 | 4 | 0 |
| ๐บ๐ธ BitPlebs Los Angeles | 68 | 30 | 37 | 1 | 0 |
| ๐จ๐ด Satoshi Team - Antioquia | 52 | 23 | 29 | 0 | 0 |
| ๐จ๐ด Cafeteros Bitcoiners | 42 | 13 | 29 | 0 | 0 |
| ๐น๐ญ BOB Space | 24 | 5 | 17 | 2 | 0 |
| ๐บ๐ธ Indy Bitcoin | 24 | 2 | 1 | 21 | 0 |
New Communities ๐ซ
We welcomed the following new communities over the past month.
- ๐บ๐ธ Freedom Lab NYC
- ๐บ๐พ Punta Bitcoin
We now have 686+ Communities scattered across the planet. ๐๏ธ
Active Taggers ๐
Here are this month’s most active contributors adding and updating merchant data on BTC Map.
๐ฃ Shoutout to the top 3:
- ๐ฅ Rockedf with 272 edits
- ๐ฅ RoseBTCmap with 257 edits
- ๐ฅ Comino with 155 edits
| Name | Total Edits | Created | Updated | Deleted |
|---|---|---|---|---|
| Rockedf | 272 | 233 | 39 | 0 |
| RoseBTCmap | 257 | 187 | 70 | 0 |
| Comino | 155 | 17 | 122 | 16 |
| ch0meji | 68 | 8 | 57 | 3 |
| geomaster01 | 59 | 0 | 59 | 0 |
| Satoshi Team | 52 | 23 | 29 | 0 |
| BTCGVA | 40 | 3 | 20 | 17 |
| mrjonesza | 39 | 31 | 2 | 6 |
| rimugu | 36 | 0 | 36 | 0 |
| wikimax | 29 | 0 | 29 | 0 |
| Ja Pe | 25 | 0 | 1 | 24 |
| ArancioneMilano | 20 | 19 | 1 | 0 |
| tbbsatoko | 19 | 1 | 14 | 4 |
| Hans Jรผrgen von Lengerke | 19 | 0 | 18 | 1 |
| GA_Kevin | 18 | 0 | 18 | 0 |
Find current and historical stats on the Tagger Leaderboard.
Web App ๐ธ๏ธ
July saw 22 merged PRs on the Web App, led by the new omnisearch experience.
- Omnisearch – you can now search places by address and other OSM tags, with results ranked by their localized names. Search as you know it is gone; everything is one box.
- Search bar refactor – the desktop floating search bar is now a button facade that expands on demand, and the input no longer scrambles your text while typing.
- RTL text on the map – Arabic, Hebrew, and Persian labels now render correctly.
- Community icons – now served from the new v4 area image endpoint.
- Short URLs – support for community short links.
- Beta APK downloads – the Android beta APK can now be grabbed straight from the Apps page.
- Apps page – Trustless iOS wallet added, and Club Orange joined as a sponsor on the supporters page.
- Dutch translations – thanks to Edwin Comino / LighthouseFR.
- Fixes – the
?outdatedURL query filter works again, community area pages got a shared loader, and the Netlify_redirectsmove unbreaks deep links.
Infrastructure โ๏ธ
Another big month on the API with 47 commits. Most of the effort went into a new wallet subsystem:
- Wallet xpub tracking – the API now tracks wallet xpubs for internal transparency, with a balance and history cache so the dashboard reads from a snapshot instead of probing Electrum on every request.
- Electrum server management – Electrum endpoints moved from a single config string to a dedicated table managed by four new RPCs with priority ordering and soft deletion, plus an experimental SPKI-pinned client for self-hosted servers with self-signed certs.
- Platform stats – the API now reports which platforms and client apps call us over 1/7/30-day windows, helping prioritize resources and spot anomalies.
- Omnisearch backend – search now covers areas as well as places, matching on address and any other OSM tag, with sane ranking and pagination.
- Events – new
update_eventRPC with PATCH semantics,area_idandcron_scheduleexposed on event queries, and admins can now fetch events. - Config – boost element prices moved from hardcoded columns to a configurable JSON list, and CORS config moved into the database.
- Maintenance – clippy 1.96 lints fixed and
strum::AsRefStrderived across the DB layer.
Dashboard
The internal dashboard gained platform stats, wallet stats with a snapshot timestamp, and a per-wallet transaction popup.
Event Admin
A new internal tool was born: Event Admin is a small static site that lets admins browse events directly on the map, rename them inline from the marker popup, and open a full edit form – all via the API.
CLI
The btcmap-cli gained wrappers for the new wallet and Electrum server RPCs, an event update-event command, and type-specific search commands.
Android App ๐ค
Some important refactoring enabled us to shed roughly 500 lines of code, simplifying the structure. We also worked on:
- Viewport caches – merchants, events, and exchanges each got a dedicated cache built on a shared
ViewportCachebase, with proper async queries, antimeridian bounds-splitting, and id-based deduplication. This also fixed merchants drifting out of sync with the viewport. - Controllers – map setup, place/event/exchange selection, search, and location logic were each extracted into their own controller.
- Fixes – no more empty map viewport on startup or filter switches, and no map blink when sync completes after the bundled places import.
- Area screen – upcoming events now show as clickable cards with icons, one-off events are listed too, and everything sorts by date. Phuket’s area screen got a website URL override.
- Activity feed – the local activity feed can now be filtered by area and period.
- Publishing – a
publish.shhelper streamlines cutting new builds. A new release is on the runway.
Analytics ๐
Our July website stats are as follows:

Check out the BTC Map Analytics Dashboard. Track our growth and see where users are coming from in real time.
Credits ๐ซถ
Thanks to everyone who contributed to the project this month, including the Shadowy Supertaggers:
- Hannes / escapedcat – omnisearch on both web and API, search UX refactors and fixes, RTL map rendering, v4 area images, and the outdated-filter fix.
- Igor Bubelov – wallet xpub tracking, Electrum server RPCs, platform stats, events API work, the Android MapFragment refactor, dashboard wallet/platform stats, the new Event Admin tool, CLI updates, and admin RPC rename.
- Nathan / dadofsambonzuki – apps page additions, Lightning identifier migration, Club Orange sponsorship, and admin app maintenance.
- Edwin Comino / LighthouseFR – Dutch translations.
- Dave Day – admin app deploy workflow.
- Rockedf, RoseBTCmap, Comino, and all the active taggers listed above.
Support Us ๐ค
There are many ways in which you can support us:
- Become a Shadowy Supertagger and help maintain your local area or pitch in with the never-ending global effort.
- Help improve or maintain our code. Check out our GitHub Team and hop into our Matrix Space.
- Consider donating to the project here.