/walletudo

Monero wallet server.

Primary LanguageGoMIT LicenseMIT

Walletudo

Caution

This is very early stage software. Expect to lose your Monero if you use it!!!

Walletudo is a Monero wallet server. The server provides a simple JSON-RPC protocol over NATS for most common wallet interactions. The main goal of this software is to provide a reasonably secure backend system to aid the development of lightweight wallets for personal and ecommerce use.

Features

  • Manage accounts.
  • Send and receive Monero.
  • Receive transaction notifications.

Feature wishlist

  • User privileges and shared accounts.
  • Create invoices.
  • Receive payment notifications.
  • Issue refunds.

This software was developed during Monerokon hackathon that took place between 7th and 9th of June 2024 in Prague.

Installation

Build from source:

$ go install github.com/harmhazard/walletudo@latest

Usage

$ git clone https://github.com/harmhazard/walletudo
$ cd walletudo/
$ docker-compose up --detach # Be cool and use podman!
$ walletudo --nats-server=wss://user:password@connect.walletudo.com --nats-rpc-subject=wallets.demo1.rpc --nats-discovery-subject "wallets.discover"

Deployment architecture

Clients communicate with Walletudo server through NATS server using Request-Reply pattern. If deployed correctly, the used architecture lowers the attack surface as a computer running the Walletudo server is on a private network and does not bind any ports. The monero-wallet-rpc, the most sensitive component of the system, is available through the localhost. The only component that must be addressable is the NATS server itself.

diagram

Documentation