◢ living roadmap · not a pitch deck

This is the wall.
Not the roadmap slide.

No progress bars, no fake quarters. Pins on a board: what's shipped, what's public and early, and what's still just an idea taped up so we don't lose it. Drag the notes around. Nothing here is a promise.

green border = shipped amber border = public / early dashed = idea, not started click "+ more" for the honest tradeoffs
// the board — xmr-pay core + every adapter on top of it
~/core.md
shipped · the engine

xmr-pay core

Everything pinned around this card is a thin adapter. The shared substrate isn't us — it's Monero + the merchant's keys. An address + view key is a portable, sovereign receiving identity. Widget, verifier, watch agent: one engine, reused everywhere below.

v1.1.0 · source ↗
If every integration below disappeared tomorrow, the merchant still gets paid straight to their address and still verifies on their own node. No platform in the payment path, ever — that's the constraint every adapter has to respect.
shipped

WooCommerce

v1.1.4 on GitHub and WordPress.org

source ↗
shipped

PHP engine

v0.1.0, install from Packagist

source ↗
shipped

Laravel

v0.1.0 on Packagist

source ↗
shipped

Joomla

HikaShop + VirtueMart releases

shipped · Joomla

HikaShop + VirtueMart

Installable checkout plugins with public releases and shared payment behavior.

HikaShop v1.0.8 ↗
VirtueMart v1.0.6 ↗
public · early

Jekyll

A static-site checkout and donation widget. Public source, no tagged release yet.

source ↗
public · early

Adapter core

The shared PHP spine behind cart integrations. Public source, intentionally platform-agnostic.

source ↗
public · early

Joomla build

Reproducible package builder for the HikaShop and VirtueMart installers.

source ↗
idea

Telegram bot

Long-polling behind NAT, with a per-order subaddress and QR in chat.

// discussed, not a public release
Paywall, tips or a digital store all reuse the same agent. Only the action taken after payment changes.
idea

Nostr + Monero

Relays as a decentralized notification bus, without a central webhook service.

// explored locally, not presented as shipped
idea

Ghost

Self-hosted Ghost can reuse the Node library; hosted Ghost needs a thin adapter.

// stub, not started
exploring

xmrpay-escrow

Non-custodial escrow. The server should never be able to become the wallet.

// today: researched Onyx (FROST/WASM) + a custodial-marketplace contrast case
Existing escrow (Haveno, Bisq, XmrBazaar) is desktop-only, human-arbitrated, and slow. Existing embeddable "marketplace" code (the custodial kind) puts a hot wallet where multisig should be. The gap: browser-native, non-custodial, embeddable escrow — nobody ships that combination yet.
◢ someday, not a plan yet

Unify all of this into a suite.

Not a monolith. Every card above stays standalone and installable on its own — that doesn't change. The direction is just: once there are enough thin adapters, give them one shared install/config path so picking your channels (Woo + Telegram + Nostr, or just PHP alone) feels like snapping in modules, not repeating setup for each one. Segmented, plug-and-play, opt-in per piece.

~/someday.txt
              ┌────────────────────┐
              │     xmr-pay core   │   address + view key
              │  widget · verify   │   = the merchant's own
              │  watch agent       │   sovereign identity
              └──────────┬─────────┘
        ┌───────┬────────┼──────────┬─────────┬─────────┐
      [woo]   [php]  [laravel]  [joomla]  [jekyll]  [more]
       shipped       shipped    shipped   public

      // each bracket: standalone today. "the suite" = one shared
      // spine to install/configure them, later — not a rewrite.