RetoSwap (previously Haveno-reto), a P2P Monero DEX
How to set up RetoSwap (previously Haveno-reto) - a P2P decentralized exchange (DEX) based on Monero - in Whonix
Introduction[edit]
Name[edit]
The name of the app was changed from Haveno-reto to RetoSwap on 22 November 2024[1], but the old name can still be seen when launching the app, and people online may variously refer to it as either name or even as plain "Haveno" (technically, Haveno or Haveno DEX is the name of the upstream project).
Background[edit]
RetoSwap is a fork of Haveno (Haveno DEX), which is itself a fork of Bisq.
RetoSwap is a peer-to-peer (P2P) decentralized exchange (DEX), meaning that each user that runs the RetoSwap software is running their own server (built into the software) for trades; there is no central server where trades are coordinated.
RetoSwap has a built-in Monero (currency code: XMR) wallet and uses Monero as the base pair for all trades on its platform.
Haveno (Haveno DEX) is the upstream (parent) project of RetoSwap and doesn't feature any actual live trading with real cryptocurrencies (it only has testnet/stagenet trading).
Bisq[2] is the project that Haveno was forked from. It is a P2P DEX with a built-in Bitcoin (BTC) wallet and uses Bitcoin as the base pair for all trades on its platform.
Links[edit]
RetoSwap Links[edit]
RetoSwap official website:
https://retoswap.com/
RetoSwap official X/Twitter account:
https://x.com/RetoSwap/
RetoSwap GitHub project homepage:
https://github.com/retoaccess1/haveno-reto
RetoSwap GitHub project releases page (downloads available here):
https://github.com/retoaccess1/haveno-reto/releases/
RetoSwap old homepage (redirects to retoswap.com):
https://haveno-reto.com
Haveno (Haveno DEX) Links[edit]
Haveno official website:
https://haveno.exchange/
Haveno official FAQ:
https://haveno.exchange/faq/
Haveno GitHub project homepage:
https://github.com/haveno-dex/haveno
Haveno GitHub project issues page (issues with RetoSwap can generally be reported there):
https://github.com/haveno-dex/haveno/issues
Other Guides[edit]
boldsucks's Haveno Documentation:
https://boldsuck.codeberg.page/haveno-docs/
boldsucks's guide to setting up RetoSwap on Whonix:
https://boldsuck.codeberg.page/haveno-docs/haveno-ui/tor_advanced/#whonix
Installation[edit]
-
This guide was created in February 2025 and is based on Whonix 17.2.8.5 and RetoSwap 10.0.18. As the app's name was recently changed from Haveno-reto, some file paths referenced below use the name
haveno
orhaveno-reto
. This may change in the future.
System Requirements[edit]
Generally, RetoSwap doesn't use a lot of system resources, as it connects to remote Monero nodes by default and doesn't download any full blockchains to the user's computer. It can also be set up to use a local Monero node, but that is beyond the scope of this guide.
Generally, the storage space used by RetoSwap will be under 100 MB.
Downloading & Installing RetoSwap[edit]
- All of the steps for downloading & installing the RetoSwap .deb file take place on Whonix-Workstation
1. Download RetoSwap: Download the latest .deb version of RetoSwap from:
https://github.com/retoaccess1/haveno-reto/releases/
(For example, for RetoSwap v1.0.18, download
https://github.com/retoaccess1/haveno-reto/releases/download/v1.0.18/haveno-linux-deb.zip).
You can also go to the official RetoSwap website's download section:
https://retoswap.com/#download
and under "RetoSwap for Linux," click the .deb button.
It should download automatically to:
/home/user/.tb/tor-browser/Browser/Downloads/
.
2. Verify the signature (out of scope for this guide)
- Digital signatures are a tool enhancing download security. They are commonly used across the internet and nothing special to worry about.
- Optional, not required: Digital signatures are optional and not mandatory for using Whonix, but an extra security measure for advanced users. If you've never used them before, it might be overwhelming to look into them at this stage. Just ignore them for now.
- Learn more: Curious? If you are interested in becoming more familiar with advanced computer security concepts, you can learn more about digital signatures here digital software signatures.
3. Extract the archive: Right-click on the downloaded .zip (e.g., /home/user/.tb/tor-browser/Browser/Downloads/haveno-linux-deb.zip
) and click “Extract Here.”
4. Install the .deb: Open the newly extracted folder (e.g., /home/user/.tb/tor-browser/Browser/Downloads/haveno-linux-deb/
) and in a terminal window type (with a trailing space):
sudo dpkg -i
Then, drag the .deb installer from the folder into the terminal to complete the file path (e.g., for RetoSwap v1.0.18, it should read
sudo dpkg -i '/home/user/.tb/tor-browser/Browser/Downloads/haveno-linux-deb/haveno-v1.0.18-linux-x86_64-installer.deb'
).
Press enter; RetoSwap should be installed to /opt/haveno/
.
If it fails because of missing dependencies, run the command:
sudo apt install -f
to download and install the missing dependencies, and then try the original sudo dpkg -i '[...].deb'
command again.
5. Create a desktop shortcut: Copy (or drag) /opt/haveno/lib/haveno-Haveno.desktop
to your desktop.
Setting Up the Tor Hidden Service[edit]
- All of the steps for setting up the Tor hidden service take place on Whonix-Gateway
6. Create the Tor hidden service: Open file /usr/local/etc/torrc.d/50_user.conf
in an editor with root rights.
Non-Qubes-Whonix™
See
Open File with Root Rights
for detailed instructions on why to use
sudoedit
for better security and how to use it.
Note: Mousepad (or the chosen text editor) must be closed before running the sudoedit
command.
sudoedit /usr/local/etc/torrc.d/50_user.conf
Qubes-Whonix™
NOTES:
- When using Qubes-Whonix, this needs to be done inside the Template.
sudoedit /usr/local/etc/torrc.d/50_user.conf
- After applying this change, shutdown the Template.
- All App Qubes based on the Template need to be restarted if they were already running.
- This is a general procedure required for Qubes and unspecific to Qubes-Whonix™.
Others and Alternatives
- This is just an example. Other tools could achieve the same goal.
- If this example does not work for you or if you are not using Whonix, please refer to this link.
sudoedit /usr/local/etc/torrc.d/50_user.conf
Edit the file to add the following:[3]
# RetoSwap (Haveno-reto) incoming anonymity connections HiddenServiceDir /var/lib/tor/haveno/ HiddenServicePort 9999 10.152.152.11:9999
Save and close the file.
7. Reload Tor: sudo systemctl reload tor
8. Get your hidden service address: Retrieve your newly generated hidden service .onion address:
sudo cat /var/lib/tor/haveno/hostname
It should look something like:
exampleonionaddress52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion
Copy and keep your .onion address handy for the next steps.
Setting Up the Firewall[edit]
- All of the steps for setting up the firewall take place on Whonix-Workstation
9. Open the firewall port: Open file /etc/whonix_firewall.d/50_user.conf
in an editor with root rights.
Non-Qubes-Whonix™
See
Open File with Root Rights
for detailed instructions on why to use
sudoedit
for better security and how to use it.
Note: Mousepad (or the chosen text editor) must be closed before running the sudoedit
command.
sudoedit /etc/whonix_firewall.d/50_user.conf
Qubes-Whonix™
NOTES:
- When using Qubes-Whonix, this needs to be done inside the Template.
sudoedit /etc/whonix_firewall.d/50_user.conf
- After applying this change, shutdown the Template.
- All App Qubes based on the Template need to be restarted if they were already running.
- This is a general procedure required for Qubes and unspecific to Qubes-Whonix™.
Others and Alternatives
- This is just an example. Other tools could achieve the same goal.
- If this example does not work for you or if you are not using Whonix, please refer to this link.
sudoedit /etc/whonix_firewall.d/50_user.conf
Edit the file to add the following:[4]
# RetoSwap (Haveno-reto) firewall TCP port 9999 EXTERNAL_OPEN_PORTS+=" 9999 "
Save and close the file.
10. Reload the firewall: sudo whonix_firewall
Setting Up RetoSwap[edit]
- All of the steps for setting up RetoSwap take place on Whonix-Workstation
11. Set your hidden service address: Open the file /home/user/.local/share/Haveno-reto/haveno.properties
in an editor.
- This filepath uses the old name "Haveno-reto"; this might change in a future update of RetoSwap.
Edit the file to add the following:
hiddenServiceAddress=
followed by your hidden service .onion address from the section "Setting Up the Tor Hidden Service."
It should look something like this:
hiddenServiceAddress=exampleonionaddress52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion
Save and close the file.
12. You're done! You can now run RetoSwap, and it should connect. If it fails, see the Troubleshooting section.
Troubleshooting[edit]
If RetoSwap fails to connect or gives errors on startup, try launching the app several times. This could be a network issue.
There is also a forum topic dedicated to setting up RetoSwap on Whonix, where you can get support:
https://forums.whonix.org/t/installing-haveno-in-whonix/20014
Footnotes[edit]
- ↑ https://x.com/RetoSwap/status/1859903768164532588
- ↑ See the Whonix wiki page on Bisq
- ↑ 10.152.152.11 refers to the internal IP address of Whonix-Workstation. You can verify this by running the command
ifconfig
on Whonix-Workstation. TCP port 9999 is the default port for RetoSwap. - ↑ TCP port 9999 is the default port for RetoSwap.

We believe security software like Whonix needs to remain open source and independent. Would you help sustain and grow the project? Learn more about our 13 year success story and maybe DONATE!