BTC Map Weekly Recap
May 12, 2024  |  BTC Map  ·  Projects

Previous post


BTC Map always had an offline-first architecture, meaning that you don’t need an Internet connection in order to see all the bitcoin-accepting merchants in your area or even globally. Our users are the only real owners of their apps and their copies of BTC Map data, they can keep it forever and there is nothing we can do to change that.

That said, fetching the recent changes and updates is often desirable, as well as downloading new map tiles to cover more regions. BTC Map API is strictly read only, and it’s sole purpose is to provide the most recent changes to all the interested users. Keeping all the data locally has its price, and the storage and transfer requirements are growing together with global Bitcoin adoption.

API V3 is our latest attempt to optimize the size of the data which needs to be transferred in order to keep your data snapshot up to date. My tests are showing 30% reduction in data transfers, so you only need to fetch ~3 KB a day in order to stay up to date. It shouldn’t be a big deal even if you’re using Tor or a chain of VPN servers.

Key Metrics

The number of verified merchants has increased by 60, which is a significant improvement both in terms of quality and quantity. Most locations were verified by Rockedf and the local mappers.

Here are the top 5 countries by the number of new merchants:

  • Brazil
  • Australia
  • South Africa
  • Switzerland
  • El Salvador

The total number of merchants has increased by 39, which is slightly below average. The main reason is Argentina data cleanup, it had many outdated merchants so their removal boosted our signal-to-noise ratio in that region.

The average number of days since the last verification decreased from 269 to 267, which serves as another confirmation of our improving data reliability. I expected no change, so I once again underestimated the local mappers.

What’s Next: Delivery

The problem: many users are living in areas with a low number of local bitcoin-accepting merchants. While this number is growing steadily, life is short, and people want to build circular economies and escape the fiat system ASAP.

The solution: we need to identify all the merchants who offer either nationwide or global delivery, which would significantly expand the choice of goods and services available to an average BTC Map user. Of course, distance requires trust, and that’s one of the reasons we don’t support pure services with no physical location. If you made an order, and you aren’t happy with the result, it shouldn’t be possible for a merchant to avoid any responsibility. Please note that we can’t really guarantee that all locations are real, the final judgement call is on you, you should carefully investigate merchants before making remote orders and sending your sats God knows where.

What’s Next: Improving Resilience

BTC Map client apps are pretty resilient already, but they tend to depend heavily on the following components:

  • Tile servers (for rendering maps)
  • BTC Map API (for merchant data updates)

In light mode, the app uses OSM tile servers, and we’re also hosting Stadia Maps tile server in case you’re joined the dark side. It would be cool to give the users more choices, as well as to allow setting their own tile server URLs. We can’t embed the tiles into the app, because a full tile set would require terabytes of storage, so the second-best thing is to let the users choose their own tile servers, in case the default options aren’t available or aren’t desirable for some reason. Some people may even prefer to self-host their own map tiles, self-hosting is not uncommon among hardcore bitcoiners who value their privacy and don’t want anyone to know which map regions they viewed.

Our API is fully open source, so you can also self-host your own instance, if you feel like it. While you can do it by recompiling the app, it’s better to let users change their API URL in settings.