BtcPayServer Monero Integration
What the proposal is about.
BtcPayServer is an open-source, self-hosted cryptocurrency payment processor that allows merchants to not depend on any third-party to accept payments. Each deployment requires users to have their own full node.
Currently, BtcPay supports bitcoin(along with a few forks such as Litecoin, etc that are identical in design and rpc) and its lightning network. The only way for a merchant to accept any other non-compatible coins is to enable third-party integrations such as Changelly and Coinswitch which is far from ideal and often causes issues and headaches due to the way they function.
Integration would consist of allowing a user to specify a view-key in your BTCPay store and import that into the monero node. We then generate a subaddress for each invoice and monitor address while invoice is active.
Who will complete the proposal?
My name is Andrew Camilleri but I go by the handle Kukks
. I'm a .NET full stack developer and have been coding professionally in all sorts of industries for around 10 years. I've been contributing to BTCPay for around a year now and have switched to doing it full time a few months ago.
You can find me on the btcpay mattermost chat at https://chat.btcpayserver.org
Twitter: https://twitter.com/mrkukks
Github: https://github.com/kukks
Why it is important for Monero and the community.
There has been a relatively high demand for Monero to be integrated into BTCPay. Links for Monero support requests:
- https://github.com/btcpayserver/btcpayserver/issues/160
- https://github.com/btcpayserver/btcpayserver/issues/163
- https://www.reddit.com/r/Monero/comments/9a57h2/btcpay_server_for_monero/
- https://www.reddit.com/r/Monero/comments/9izyj9/monero_is_coming_to_btcpayserver_the_open_source/
- https://www.reddit.com/r/Monero/comments/9zd9nh/request_for_information_on_progress_of_several/
- https://www.reddit.com/r/Monero/comments/7n1wqy/integration_with_btcpay/
- https://www.reddit.com/r/Monero/comments/afunma/btcpayserver_integration_updates/
Your milestones and projected timeline
I estimate to have a shippable version within a 2 month time-frame. The bulk of the work will be spent abstracting BTCPay's bitcoin logic to handle the differences in Monero. I will also need to write a .NET client for Monero's RPC seeing as the only library available has been untouched for over 2 years. Once BTCPay can handle monero and communictae with the monero node, I will start work on adding Monero to the Btcpay Docker installer.
An expiration date for the proposal.
4 months from proposal being funded so that there is adequate time to plan.