Skip to content

Monero Merchant is a RESTful API wrapper for the official Monero wallet RPC. This project is mainly for merchants who hope to accept Monero as payment, which is currently the most robust and privacy-oriented cryptocurrency with extremely low transaction fees.

License

Notifications You must be signed in to change notification settings

RuiSiang/monero-merchant

Repository files navigation

Monero Merchant

nodejs-ci njsscan sarif CodeQL GitHub repo size Docker Image Size (tag)

About

Monero Merchant is a RESTful API based on the official Monero wallet RPC. This project is mainly for merchants who hope to accept Monero as payment, which is currently the most robust and privacy-oriented cryptocurrency with extremely low transaction fees.

Prerequisites

Installation

Docker image available on Docker Hub

Clone repo and install dependencies

git clone https://github.com/RuiSiang/monero-merchant
npm install

Configure settings by editting .env.example and renaming it to .env, options are as follows

  • BASE_URL: base url of the api, change this to fit your domain name
  • PORT: port for monero merchant to listen on
  • CRYPTO_MOCK: whether to use stub wallet, for testing use
  • CRYPTO_HOST: Monero wallet RPC hostname
  • CRYPTO_PORT: Monero wallet RPC port
  • MIN_CONFIRMATIONS: minimum number of confirmations to consider as received
  • INVOICE_EXPIRY: time (seconds) until invoice expires

Test Config and Code Integrity

npm run test

Build and Run

npm run build
npm start

If you wish to run monero-merchant with Docker, see docker-compose.example.yaml for more information

Methods

GET /new

  • query: amount, description, refund
  • response: id, address

GET /info

  • query: id
  • response: status, amount, address, refund, expiry, description

Interactive Swagger docs at /swagger-html and /swagger-json

Buy me a coffee

XMR address: 8BCaS8k6ag34JwruWhNHRBFwucWgYP7UfGXEMovdgLvtevoPps1XFipK4Fw2Kh5hPvLL1dBnpD6UKXWK8v8zFeVsPAXpAZG

Todos

  • api key authentication to add security
  • unit test method for mocking real wallet rpc to increase coverage
  • additional endpoints (new features)

Please feel free to provide suggestions and feature requests

About

Monero Merchant is a RESTful API wrapper for the official Monero wallet RPC. This project is mainly for merchants who hope to accept Monero as payment, which is currently the most robust and privacy-oriented cryptocurrency with extremely low transaction fees.

Topics

Resources

License

Stars

Watchers

Forks