commit 13511a7e31d8ce44608a1e7c6a6176e7ffe87712
parent 0cb17605ccf92e8235a2ccb2ebbdb04782349d0f
Author: Antoine A <>
Date: Wed, 21 Feb 2024 16:59:39 +0100
Improve regional currency manual
Diffstat:
2 files changed, 47 insertions(+), 10 deletions(-)
diff --git a/frags/nexus-ebics-setup.rst b/frags/nexus-ebics-setup.rst
@@ -59,7 +59,7 @@ command should start the EBICS setup process:
$ libeufin-nexus ebics-setup -c "$CONFIG_FILE"
If the previous command failed when running EBICS INI with an error code of
-``EBICS_INVALID_USER_STATE``, you need to confirm your keys to your bank to
+``EBICS_INVALID_USER_OR_USER_STATE``, you need to confirm your keys to your bank to
activate your account.
To that end, the previous run should have left a PDF document that you can
diff --git a/libeufin/regional-automated-manual.rst b/libeufin/regional-automated-manual.rst
@@ -89,26 +89,26 @@ Navigate into the *regional-currency/* directory and run *main.sh* as **root**:
The script will start by installing required packages and then asking you fundamental questions about the desired setup, in particular :
-* The name of the regional currency. It must have 3 to 11 letters.
-* The ISO code of the fiat currency. Use 'CHF' or 'EUR'.
-* The name of the regional currency bank. It will be shown to business
+#. The name of the regional currency. It must have 3 to 11 letters.
+#. The ISO code of the fiat currency. Use 'CHF' or 'EUR'.
+#. The name of the regional currency bank. It will be shown to business
users when they interact with the system.
-* The DNS domain name of your setup (i.e: domain.tld). The installer will
+#. The DNS domain name of your setup (i.e: domain.tld). The installer will
create by itself all the needed subdomains for your domain name,
as (``bank.$DOMAIN``, ``exchange.$DOMAIN`` and ``backend.$DOMAIN``).
But, these subdomain names as explained before, must have been added beforehand to your
DNS domain control panel, and they must be pointing to the
IP address of the server on which you are running the
installation (before you execute the installer).
-* Whether to use TLS or not. You should answer ``y`` in most cases.
-* Whether to store Taler Exchange keys on this server or externally on another server. Unless you need a high-security
+#. Whether to use TLS or not. You should answer ``y`` in most cases.
+#. Whether to store Taler Exchange keys on this server or externally on another server. Unless you need a high-security
setup and expect to run an offline key management process, say ``y``.
If you say ``n``, you will need to run ``taler-exchange-offline setup``
on your offline system and provide the master public key. Furthermore,
you should then study the exchange manual on offline key management to
finish the exchange setup process later.
-* Whether to setup sms two-factor authentication using Telesign. You should answer ``y`` in most cases.
-* The admin password for the bank. Be absolutely sure to enter a very,
+#. Whether to setup sms two-factor authentication using Telesign. You should answer ``y`` in most cases.
+#. The admin password for the bank. Be absolutely sure to enter a very,
very long and high-entropy password, preferably use the autogenerated one.
The information you entered as well as the generated bank admin password will
@@ -158,10 +158,47 @@ By default, the regional currency conversion rates are 1:1. You can change the c
Connecting to a Fiat Bank: the EBICS setup
++++++++++++++++++++++++++++++++++++++++++
-To complete the conversion setup, you have to set up an EBICS subscriber using a bank account at a bank dealing in fiat currency that offers an online banking protocol supported by LibEuFin Nexus.
+To complete the conversion setup, you have to set up an EBICS subscriber using a fiat bank account at a bank dealing in fiat currency that offers an online banking protocol supported by LibEuFin Nexus.
.. include:: ../frags/nexus-ebics-setup.rst
+Configuring the Exchange for Conversion
++++++++++++++++++++++++++++++++++++++++
+
+This section explains how to enable currency conversion at the exchange,
+which is critical for wallets to know how to wire fiat currency to an
+exchange to obtain regional currency.
+
+You will need to use the ``taler-exchange-offline`` tool to inform the
+exchange about the **fiat** bank account that can be used for cash in
+operations and also specify the URL for currency conversion. Additionally,
+you may also configure restrictions on the bank accounts that may originate
+the funds, for example, to prevent international wire transfers that may expose
+you to additional compliance risks.
+
+Given the ``$IBAN`` of the fiat currency bank account and ``$NAME`` as
+the (URL-encoded) name of the exchange-account owner, the following
+``taler-exchange-offline`` invocation can be used to notify wallets about
+the possibility of currency conversion (cash in):
+
+.. code-block:: console
+
+ # taler-exchange-offline \
+ enable-account \
+ payto://iban/$IBAN?receiver-name=$NAME \
+ conversion-url "$CONVERSION_URL" \
+ upload
+
+Here, the ``$CONVERSION_URL`` must be set to the base URL of the conversion
+endpoint of the bank, which should be ``https://bank.$DOMAIN/conversion-info/``
+in our setup.
+
+.. note::
+
+ The above command adds a **second** bank account to the exchange.
+ You (or the guided setup script) should have already enabled the
+ regional currency bank account (without any "conversion-url").
+
System ON!
++++++++++