monero-ccs-proposals/btcpayserver-plugin.md
luigi1111 b0f65f8218 Merge branch 'btc_bounties' into 'master'
btcpayserver: donate bounty funds

See merge request monero-project/ccs-proposals!582
2025-09-17 21:51:56 +00:00

8.3 KiB
Raw Blame History

layout title author date amount milestones payouts
wip BTCPay Server Monero Plugin Deverickapollo & Napoly January 6, 2025 273
name funds done status
Requirements analysis and core infrastructure 41 16 June 2025 finished
name funds done status
Improve functionality and UI/UX for managing daemon and wallet-rpc 68 unfinished
name funds done status
Creating MVP for Monero Plugin to support multiwallet 96 unfinished
name funds done status
Final UI/UX Enhancements, Bug Fixing, Merchant Migration 68 unfinished
date amount
26 August 2025 41
date amount

Note: 27.16 XMR has been donated to this proposal from bounties 1 / 2 / 3

Overview

Hello everyone!

We are thrilled to announce our plans to refactor the Monero integration for BTCPay Server. With the release of BTCPay Server 2.0, the platform has undergone a major update, introducing breaking changes to the Monero integration. This redesign transitions non-core features, such as Monero support, into a plugin-based architecture. This shift provides an excellent opportunity for the Monero community to take ownership of the integration and ensure its long-term development. The BTCPay team has expressed their support for this initiative, and we are fully committed to making it a success. To prepare for this work, the Monero codebase has already been migrated into its own repository, paving the way for its transition into a standalone plugin.

Wed like to thank the BTCPay development team, particularly @NicolasDorier, for laying the groundwork for the Monero plugin and ensuring a stable transition from core integration. As they noted in PR #6535, the move to plugins empowers the Monero community to take full control of its development and lifecycle—without being bottlenecked by core BTCPay priorities or unfamiliarity with Moneros internals.

How did we get here?

The initial integration was developed by @kukks of the BTCPay team and funded through a CCS proposal by an anonymous donor. While this implementation successfully introduced Monero support to BTCPay Server, there is an opportunity to expand its functionality by adding features such as multi-wallet support and enhanced wallet management tools. During our work on open bounties and 2 for the Monero community, we identified the need to realign our efforts on the plugin migration to ensure continued support for Monero within BTCPay Server.

Thanks to funding from the Magic Grants and Coincards, we had the opportunity to meet at Monerotopia 2024 and analyze this challenge in depth. During this collaboration, we established a comprehensive roadmap and a plugin repository with CI/CD support for stable releases and development. The plugin is currently in the proof-of-concept stage, with a focus on establishing a solid foundation for the plugin.

There was initial confusion in the Monero community about whether BTCPay Server would continue maintaining the Monero integration after 2.0. To clarify: the plugin is now fully community-owned. BTCPay Server will no longer hosts or manages the Monero integration beyond platform-level support and docker artifacts following BTCPayServer v2.1. This proposal is intended to ensure the plugin remains functional, actively developed, and aligned with Monero users expectations.

What's next?

We are seeking funding to continue developing and maintaining the Monero plugin for BTCPay Server. This includes building a robust proof of concept and minimum viable product (MVP), improving the user interface, addressing bugs, and assisting with merchant migration from the legacy Monero integration. Our near-term goal is to merge earlier boilerplate work, developed after Monerotopia 2024, into the current plugin repository and begin its migration to the new btcpay-monero GitHub organization. This move will help formalize community ownership and better organize contributions going forward.

We aim to extend the plugin with capabilities to manage multiple Monero wallets within a single BTCPay Server instance. This enhancement will enable third-party hosting scenarios, allowing service providers to support multiple vendors without requiring each vendor to manage their own infrastructure. This is particularly beneficial for merchants who prefer a hosted solution over self-deployment.

In addition, there are several open bounties currently available for the Monero integration:

We propose incorporating these bounty funds into the broader plugin development effort, ensuring that all outstanding tasks align with our roadmap and long-term strategy.

As part of this transition, we also plan to eventually migrate Dockerfiles and supporting infrastructure currently hosted under the BTCPay organization to the btcpay-monero GitHub org. This reduces reliance on BTCPays infrastructure and aligns with their recommendation that each altcoin community manage its own deployment lifecycle and testing.

Support Channels:

Contributors:

Milestones

Milestone 1: Requirements Analysis and Core Infrastructure

  • Deliverables:
    • Plugin repository established and accessible.
    • Operational CI/CD pipeline for plugin development and releases.
    • Testing framework and code coverage
    • Support for existing merchants and users
  • Funds: 15% of funds
  • Timeline: Week 1-4
  • Status: Mostly done

Milestone 2: Refactor of UI and Improvements

  • Deliverables:
    • UI improvements for Monero daemon configuration.
    • Refactor wallet setup interface.
    • Release as v0.1.0
  • Funds: 25%
  • Timeline: Week 5-10
  • Status: Not started

Milestone 3: Minimum Viable Product (MVP) for Multiwallet Support

  • Deliverables:
    • Basic monero-lws support tested and integrated.
    • Release as 0.2.0
  • Funds: 35%
  • Timeline: Week 11-18
  • Status: Not started

Milestone 4: Final Release (Polishing and Merchant Migration)

  • Deliverables:
    • UI/UX enhancements for seamless user experience.
    • Comprehensive documentation (installation, usage, troubleshooting, migration).
    • Bug fixing and testing.
    • Review remote node implementation
    • Final release of the plugin.
    • Post-release support and maintenance plan.
  • Funds: 25%
  • Timeline: Week 19-24
  • Status: Not started

Timeline

The integration process is expected to take approximately 16-24 weeks.

Future Roadmap

  • Plans for ongoing maintenance and support for the plugin.
  • Launch first community instance of BTCPay
  • Expand wallet features and functionality.
  • Continue reviewing open pull request, complete testing and manage releases