RetoSwap (previously Haveno-reto), a P2P Monero DEX

From Whonix
Jump to navigation Jump to search

How to set up RetoSwap (previously Haveno-reto) - a P2P decentralized exchange (DEX) based on Monero - in Whonix

Info COMMUNITY SUPPORT ONLY : THIS WHOLE WIKI PAGE is only supported by the community. Whonix developers are very unlikely to provide free support for this content. See Community Support for further information, including implications and possible alternatives.

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 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/archive.org iconarchive.today icon

RetoSwap official X/Twitter account: https://x.com/RetoSwap/archive.org iconarchive.today icon

RetoSwap GitHub project homepage: https://github.com/retoaccess1/haveno-retoarchive.org iconarchive.today icon

RetoSwap GitHub project releases page (downloads available here): https://github.com/retoaccess1/haveno-reto/releases/archive.org iconarchive.today icon

RetoSwap old homepage (redirects to retoswap.com): https://haveno-reto.comarchive.org iconarchive.today icon

Haveno (Haveno DEX) Links[edit]

Haveno official website: https://haveno.exchange/archive.org iconarchive.today icon

Haveno official FAQ: https://haveno.exchange/faq/archive.org iconarchive.today icon

Haveno GitHub project homepage: https://github.com/haveno-dex/havenoarchive.org iconarchive.today icon

Haveno GitHub project issues page (issues with RetoSwap can generally be reported there): https://github.com/haveno-dex/haveno/issuesarchive.org iconarchive.today icon

Other Guides[edit]

boldsucks's Haveno Documentation: https://boldsuck.codeberg.page/haveno-docs/archive.org iconarchive.today icon

boldsucks's guide to setting up RetoSwap on Whonix: https://boldsuck.codeberg.page/haveno-reto-docs/tor-config/DirectBindTor/#whonixarchive.org iconarchive.today icon

RetoSwap official redirect (Github mirror): https://docs.retoswap.com/tor-config/DirectBindTor/#whonixarchive.org iconarchive.today icon

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 or haveno-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/archive.org iconarchive.today icon

(For example, for RetoSwap v1.0.18, download https://github.com/retoaccess1/haveno-reto/releases/download/v1.0.18/haveno-linux-deb.ziparchive.org iconarchive.today icon).

You can also go to the official RetoSwap website's download section:

https://retoswap.com/#downloadarchive.org iconarchive.today icon

and under "RetoSwap for Linux," click the .deb button.

It should download automatically to:

/home/user/.tb/tor-browser/Browser/Downloads/

Related: Navigating Tor Browser Downloads

2. Note

  • 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. Verify the signature

Undocumented. Out of scope for this guide. Refer to upstream documentation (if any exists) or general third-party documentation on digital software signature verification.

4. 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.

5. 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.

6. Create a desktop shortcut:

Optional. 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

7. Create the Tor hidden service:

Open file /usr/local/etc/torrc.d/50_user.conf in an editor with root rights.

Select your platform.

Non-Qubes-Whonix

See Kicksecure logo Open File with Root RightsOnion network Logo 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:[2]

# RetoSwap (Haveno-reto) incoming anonymity connections
HiddenServiceDir /var/lib/tor/haveno/
HiddenServicePort 9999 10.152.152.11:9999

Save and close the file.

8. Reload Tor.

After changing Tor configuration, Tor must be reloaded for changes to take effect.

Note: If Tor does not connect after completing all these steps, then a user mistake is the most likely explanation. Recheck /usr/local/etc/torrc.d/50_user.conf and repeat the steps outlined in the sections above. If Tor then connects successfully, all the necessary changes have been made.

If you are using Qubes-Whonix, complete the following steps.

Qubes App Launcher (blue/grey "Q")Whonix-Gateway ProxyVM (commonly named 'sys-whonix')Reload Tor

If you are using a graphical Whonix-Gateway, complete the following steps.

Start MenuApplicationsSettingsReload Tor

If you are using a terminal-only Whonix-Gateway, click HERE for instructions.

Complete the following steps.

Reload Tor.

sudo service tor@default reload

Check Tor's daemon status.

sudo service tor@default status

It should include a a message saying.

Active: active (running) since ...

In case of issues, try the following debugging steps.

Check Tor's config.

sudo -u debian-tor tor --verify-config

The output should be similar to the following.

Sep 17 17:40:41.416 [notice] Read configuration file "/usr/local/etc/torrc.d/50_user.conf".
Configuration was valid

9. Get your hidden service address:

Retrieve the 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

10. Open the firewall port:

Modify Whonix-Workstation User Firewall Settings

Note: If no changes have yet been made to Whonix Firewall Settings, then the Whonix User Firewall Settings File /etc/whonix_firewall.d/50_user.conf appears empty (because it does not exist). This is expected.

If using Qubes-Whonix, complete these steps.
In Whonix-Workstation App Qube. Make sure folder /usr/local/etc/whonix_firewall.d exists.

sudo mkdir -p /usr/local/etc/whonix_firewall.d

Qubes App Launcher (blue/grey "Q")Whonix-Workstation App Qube (commonly called anon-whonix)Whonix User Firewall Settings

If using a graphical Whonix-Workstation, complete these steps.

Start MenuApplicationsSystemUser Firewall Settings

If using a terminal-only Whonix-Workstation, complete these steps.

Open file /usr/local/etc/whonix_firewall.d/50_user.conf with root rights.

sudoedit /usr/local/etc/whonix_firewall.d/50_user.conf

For more help, press on Expand on the right.

Note: This is for informational purposes only! Do not edit /etc/whonix_firewall.d/30_whonix_workstation_default.conf.

The Whonix Global Firewall Settings File /etc/whonix_firewall.d/30_whonix_workstation_default.conf contains default settings and explanatory comments about their purpose. By default, the file is opened read-only and is not meant to be directly edited. Below, it is recommended to open the file without root rights. The file contains an explanatory comment on how to change firewall settings.

## Please use "/etc/whonix_firewall.d/50_user.conf" for your custom configuration,
## which will override the defaults found here. When {{project_name_short}} is updated, this
## file may be overwritten.

Also see: Whonix modular flexible .d style configuration folders.

To view the file, follow these instructions.

If using Qubes-Whonix, complete these steps.

Qubes App Launcher (blue/grey "Q")Template: whonix-workstation-17Whonix Global Firewall Settings

If using a graphical Whonix-Workstation, complete these steps.

Start MenuApplicationsSettingsGlobal Firewall Settings

If using a terminal-only Whonix-Workstation, complete these steps.

In Whonix-Workstation, open the whonix_firewall configuration file in an editor. nano /etc/whonix_firewall.d/30_whonix_workstation_default.conf

Edit the file to add the following: [3]

# RetoSwap (Haveno-reto) firewall TCP port 9999
EXTERNAL_OPEN_PORTS+=" 9999 "

Save and close the file.

11. Reload the firewall:

Reload Whonix-Workstation Firewall.

If you are using Qubes-Whonix, complete the following steps.

Qubes App Launcher (blue/grey "Q")Whonix-Workstation App Qube (commonly named anon-whonix)Reload Whonix Firewall

If you are using a graphical Whonix-Workstation, complete the following steps.

Start MenuApplicationsSystemReload Whonix Firewall

If you are using a terminal-only Whonix-Workstation, run. sudo whonix_firewall

Setting Up RetoSwap[edit]

  • All of the steps for setting up RetoSwap take place on Whonix-Workstation

12. 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.

13. 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/20014archive.org iconarchive.today icon

Footnotes[edit]

  1. https://x.com/RetoSwap/status/1859903768164532588archive.org iconarchive.today icon
  2. 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 P2P port for RetoSwap.
  3. TCP port 9999 is the default P2P port for RetoSwap.
Notification image

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!