Skip to content

feat: Integrate BTC Map module for merchant discovery and listing#374

Open
JordyPirata wants to merge 2 commits into
developmentfrom
Feature/btcmap
Open

feat: Integrate BTC Map module for merchant discovery and listing#374
JordyPirata wants to merge 2 commits into
developmentfrom
Feature/btcmap

Conversation

@JordyPirata

@JordyPirata JordyPirata commented Jan 25, 2026

Copy link
Copy Markdown
Collaborator

This PR integrates BTC Map directly into the Ambrosia POS dashboard as a dedicated module. This feature allows merchants to view a global map of businesses that accept Bitcoin and provides a seamless interface for them to list their own business.

Screenshot from 2026-01-24 21-02-04

Key Changes

  • New Module: Added src/modules/btcmap/MapEmbed.jsx which embeds the BTC Map interface using an iframe.
  • Dual Mode: Implemented a toggle allowing users to switch between the standard "Map View" (for discovery) and "Add Location" mode (to streamline the listing process).
  • Integration: Wrapped within the StoreLayout to maintain consistent navigation and UI/UX.
  • Localization: Added translation keys (btcmap) to support internationalization.

Justification

  • Ecosystem Growth: By making it easier for merchants to see the growing network of Bitcoin-accepting businesses, we reinforce the value of their decision to accept Bitcoin.
  • Merchant Visibility: The "Add Location" integration lowers the friction for merchants to list their own business, directly increasing their visibility to customers who use BTC Map to find places to spend sats.
  • Unified Workflow: Keeps the merchant within the POS environment, avoiding the need to navigate away to external browser tabs for these ecosystem-related tasks.

Risks & Considerations

  • External Dependency: This feature relies entirely on the availability and stability of btcmap.org. If their service experiences downtime or API changes, this module may break.
  • Iframe Security: Embedding external content always introduces a potential attack surface. We are using the sandbox="allow-scripts allow-same-origin allow-forms" attribute to restrict the iframe's capabilities, but we must trust the upstream source (btcmap.org) to remain secure.
  • Privacy: Loading the map connects the client directly to BTC Map's servers, which exposes the user's IP address and potential geolocation data (if granted) to the third-party service.
  • Performance: Map applications can be resource-intensive. While loaded in an iframe, it may still impact the memory usage of the POS client, especially on lower-end hardware.

@JordyPirata JordyPirata changed the base branch from main to development January 25, 2026 02:43
@JordyPirata JordyPirata marked this pull request as ready for review January 29, 2026 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant