I succeeded in using Haveno (Called RetoSwap when used on the mainnet). It was quite confusing so I will document the TLDR here and give a guide about the use on Linux.
First confusion
- Haveno is the software used, it comes with a testnet for trying it and the software releases are basically useless apart from trying it out.
- RetoSwap is the haveno app but connecting to the monero mainnet, allowing to actually buy monero. But the RetoSwap app is called Haveno when installed!
Installation
I installed the .flatpak application from the latest Github release. You need to setup flatpak and flathub before.
There are many ways to install it, for ease of sandboxing and graphical configuration I recommend the .flatpak file.
TODO: Verify the download! There is a .sig file but I didnt find their key yet
You can install the .flatpak file from a graphical app store by opening it with that, or via flatpak install appname.flatpak from the terminal.
Once installed, it will appear in your app menu.
Wallet
Opening the app, it creates a trading wallet for you. This will receive the monero you buy and you can pay from it directly, or transfer to a personal wallet first. But the wallet is not protected with a password yet!
Backup
It is important to back up the wallet first, then encrypt that backup, for example using an AES encrypted .zip archive, or the tomb utility, or gpg/sequoia or many other ways.
That backup is apparently important, though I was able to load the wallet in feather wallet just using its seee and creation time.
Password
Now create a wallet password. You will need to enter it every time you open the app, and to unlock the wallet when using it in another sofware like Feather or Monerujo.
Credentials
Store the following in a password manager like KeepassXC:
- seed
- creation time in ISO format, like 2026-01-30
- password
These are essential, especially the creation date which can be easily forgotten. Otherwise you will not be able to retrieve your trading wallet and lose any amount stored on there.
Payment
Now you can configure any payment method you like, if it is supported. As far as I understood, these are all methods where you actively pay a person, like Bank transfer, Paypal, Wise etc. I do not know if you need to configure one if you just want to pay, as the XMR seller should mark a payment as sold, while the exchange has no insight.
Buying XMR
Important: to buy XMR, you need XMR! So if you start with zero, try to get XMR from a friend, or use another exchange like Bisq (not sure if possible) or the many centralized ones.
Haveno requires to spend monero intermittently, the most amount is used as deposit, while a small amount is the transaction fee.
Depending on the lowest available offer, you need more or less XMR to start. You can pay the XMR from your trading wallet or an external one, and then use the bought XMR to fund bigger payments.
Buying XMR is pretty straightforward, while I haven't understood the signing and trust system yet. You may preferrably buy from long existing sellers with a checkmark next to the account.
Initiating a payment, you can select the amount of XMR. You can use this to buy just as much as your existing deposit allows. Be sure to check the price per XMR, some people might try and rip you off!
After having started a payment, expect to wait over an hour for the payment to be confirmed on many monero nodes (afaik). This improves safety by storing that info further in the blockchain. From this point on (afaik) you cannot cancel a payment, or otherwise weird things may happen.
You may open the trader chat to contact the seller and discuss if you need to enter a specific payment reference for example.
Once the seller receives your payment, your XMR will quickly arrive in your trading wallet.
Using the XMR
I dont know the issues with using that wallet to pay directly. Sending the XMR to your personal wallet involves a small transaction fee though.
You can directly import the wallet in Feather, Monerujo or other wallet apps, where you can use it to send and receive XMR. Make sure to store the credentials and store the password manager backup file in multiple places!