MoneroMaps — a map of physical places and merchants that accept Monero.
  • JavaScript 35.9%
  • HTML 25.6%
  • CSS 24.3%
  • Python 13.2%
  • Shell 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Monerica b726f9e1d3 Initial commit: MoneroMaps static site
Interactive Leaflet/OpenStreetMap map of real-world Monero-accepting businesses
(Monerica Network). Static site, no build step. MIT licensed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-19 21:44:37 -04:00
css Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
data Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
img Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
js Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
tools Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
vendor/leaflet Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
.gitignore Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
favicon.ico Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
index.html Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
LICENSE Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
network.html Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
README.md Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
serve.sh Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00
sponsors.html Initial commit: MoneroMaps static site 2026-08-19 21:44:37 -04:00

MoneroMaps

An interactive map of real-world businesses that accept Monero (XMR) — part of the Monerica Network. Non-Google mapping: Leaflet + OpenStreetMap tiles (no API key).

This is a local preview to decide whether to buy a domain and launch it. It's a plain static site — no build step, deployable to any static host (Bunny, GitHub Pages, nginx, etc.).

Run it locally

./serve.sh            # http://localhost:8477
./serve.sh 9000       # or pick a port

Then open the printed URL. Zoom/pan the map, click a pin or a place in the left list to fly to it. (The map tiles load from OpenStreetMap, so you need internet; the Leaflet library itself is vendored under vendor/leaflet/.)

Data

data/businesses.json holds the mapped places (name, address, coordinates, website, and a link back to the Monerica listing). It currently contains the Monero-accepting IRL businesses pulled from Monerica's food-and-drink listings plus Ward's ACE & Country Store.

Refreshing / adding places

Addresses are geocoded to coordinates with OpenStreetMap Nominatim:

python3 tools/geocode.py      # rewrites data/businesses.json

Edit the BIZ list in tools/geocode.py to add businesses (slug, name, address, website, country, short description). Nominatim is rate-limited (~1 request/second) and the script respects that. Rural/grid-style addresses sometimes need a simpler fallback query (city + ZIP).

Structure

index.html            # page shell
css/style.css         # Monerica-orange styling
js/app.js             # Leaflet map + markers + list
data/businesses.json  # the mapped places
vendor/leaflet/       # Leaflet 1.9.4 (vendored, offline-capable)
tools/geocode.py      # address -> coordinates (Nominatim)
serve.sh              # local static server

Notes for going live

  • The whole thing is static, so hosting is cheap/free.
  • Coordinates are cached in businesses.json — the live site never calls a geocoder, it just reads the JSON, so it's fast and has no per-load API dependency.
  • Attribution to OpenStreetMap is required and is shown on the map (keep it).

License

MIT — see the LICENSE file.