LIBEUFIN-BANK.CONF(5)

NAME
libeufin-bank.conf - LibEuFin Bank configuration file

DESCRIPTION

The configuration file is line-oriented. Blank lines and whitespace at the beginning and end of a line are ignored. Comments start with # or % in the first column (after any beginning-of-line whitespace) and go to the end of the line.

The file is split into sections. Every section begins with [SECTIONNAME] and contains a number of options of the form OPTION=VALUE. There may be whitespace around the = (equal sign). Section names and options are case-insensitive.

The values, however, are case-sensitive. In particular, boolean values are one of YES or NO. Values can include whitespace by surrounding the entire value with " (double quote). Note, however, that there are no escape characters in such strings; all characters between the double quotes (including other double quotes) are taken verbatim.

Values that represent a time duration are represented as a series of one or more NUMBER UNIT pairs, e.g. 60 s, 4 weeks 1 day, 5 years 2 minutes.

Values that represent an amount are in the usual amount syntax: CURRENCY:VALUE.FRACTION, e.g. EUR:1.50. The FRACTION portion may extend up to 8 places.

Values that represent filenames can begin with a /bin/sh-like variable reference. This can be simple, such as $TMPDIR/foo, or complex, such as ${TMPDIR:-${TMP:-/tmp}}/foo. The variables are expanded either using key-values from the [PATHS] section (see below) or from the environment (getenv()). The values from [PATHS] take precedence over those from the environment. If the variable name is found in neither [PATHS] nor the environment, a warning is printed and the value is left unchanged. Variables (including those from the environment) are expanded recursively, so if FOO=$BAR and BAR=buzz then the result is FOO=buzz. Recursion is bounded to at most 128 levels to avoid undefined behavior for mutually recursive expansions like if BAR=$FOO in the example above.

The [PATHS] section is special in that it contains paths that can be referenced using $ in other configuration values that specify filenames. Note that configuration options that are not specifically retrieved by the application as filenames will not see “$”-expressions expanded. To expand $-expressions when using taler-config, you must pass the -f command-line option.

The system automatically pre-populates the [PATHS] section with a few values at run-time (in addition to the values that are in the actual configuration file and automatically overwriting those values if they are present). These automatically generated values refer to installation properties from GNU autoconf. The values are usually dependent on an INSTALL_PREFIX which is determined by the --prefix option given to configure. The canonical values are:

•   LIBEXECDIR = $INSTALL_PREFIX/taler/libexec/

•   DOCDIR = $INSTALL_PREFIX/share/doc/taler/

•   ICONDIR = $INSTALL_PREFIX/share/icons/

•   LOCALEDIR = $INSTALL_PREFIX/share/locale/

•   PREFIX = $INSTALL_PREFIX/

•   BINDIR = $INSTALL_PREFIX/bin/

•   LIBDIR = $INSTALL_PREFIX/lib/taler/

•   DATADIR = $INSTALL_PREFIX/share/taler/

    Note that on some platforms, the given paths may differ depending on how the system was compiled or installed, the above are just the canonical locations of the various resources. These automatically generated values are never written to disk.

    Files containing default values for many of the options described below are installed under $LIBEUFIN_BANK_PREFIX/share/libeufin-bank/config.d/. The configuration file given with -c to Taler binaries overrides these defaults.

    A configuration file may include another, by using the @INLINE@ directive, for example, in main.conf, you could write @INLINE@ sub.conf to include the entirety of sub.conf at that point in main.conf.

  GLOBAL OPTIONS

The following options are from the “[libeufin-bank]” section.

CURRENCY
    Internal currency of the libeufin-bank, e.g. “EUR” for Euro.

WIRE_TYPE
    Supported payment target type, this can either be iban or x-taler-bank

IBAN_PAYTO_BIC
    Bank BIC used in generated iban payto URI. Required if WIRE_TYPE``is ``iban

X_TALER_BANK_PAYTO_HOSTNAME
    Bank hostname used in generated x-taler-bank payto URI. Required if WIRE_TYPE``is ``x-taler-bank

NAME
    Bank display name, used in webui and TAN messages. Defaults to Taler Bank if not specified.

BASE_URL
    The advertised base URL

WIRE_TRANSFER_FEES
    Wire transfer execution fees. Only applies to bank transactions and withdrawals. Defaults to CURRENCY:0 if not specified.

MIN_WIRE_TRANSFER_AMOUNT
    Minimum wire transfer amount allowed. Only applies to bank transactions and withdrawals. Defaults to no limit.

MAX_WIRE_TRANSFER_AMOUNT
    Maximum wire transfer amount allowed. Only applies to bank transactions and withdrawals. Defaults to no limit.

DEFAULT_DEBT_LIMIT
    Default debt limit for newly created accounts. Defaults to CURRENCY:0 if not specified.

REGISTRATION_BONUS
    Value of the registration bonus for new users. Defaults to CURRENCY:0 if not specified.

ALLOW_REGISTRATION
    Whether anyone can create a new account or whether this action is reserved for the admin. Defaults to NO if not specified.

ALLOW_ACCOUNT_DELETION
    Whether anyone can delete its account or whether this action is reserved for the admin. Defaults to NO if not specified.

ALLOW_EDIT_NAME
    Whether anyone can edit their legal name or whether this action is reserved for the admin. Defaults to NO if not specified.

ALLOW_EDIT_CASHOUT_PAYTO_URI
    Whether anyone can edit their cashout account or whether this action is reserved for the admin. Defaults to NO if not specified.

ALLOW_CONVERSION
    Whether regional currency conversion is enabled. Defaults to NO if not specified.

FIAT_CURRENCY
    External currency used during cashin and cashout. Only used if ALLOW_CONVERSION is YES.

TAN_SMS
    Path to TAN challenge transmission script via sms. If not specified, this TAN channel will not be supported. Only used if ALLOW_CONVERSION is YES.

TAN_EMAIL
    Path to TAN challenge transmission script via email. If not specified, this TAN channel will not be supported. Only used if ALLOW_CONVERSION is YES.

TAN_SMS_ENV
    Environment variables for the sms TAN script as a single-line JSON object Only used if TAN_SMS is set.

TAN_EMAIL_ENV
    Environment variables for the email TAN script as a single-line JSON object Only used if TAN_EMAIL is set.

SERVE
    This can either be tcp or unix.

PORT
    Port on which the HTTP server listens, e.g. 9967. Only used if SERVE is tcp.

BIND_TO
    Which IP address should we bind to? E.g. 127.0.0.1 or ::1``for loopback. Can also be given as a hostname. Only used if ``SERVE is tcp.

UNIXPATH
    Which unix domain path should we bind to? Only used if SERVE is unix.

SUGGESTED_WITHDRAWAL_EXCHANGE
    Exchange that is suggested to wallets when withdrawing

PWD_HASH_ALGORITHM
    Password hash algorithm, this can only be bcrypt

PWD_HASH_CONFIG
    Password hash algorithm configuration as a single-line JSON object When PWD_HASH_ALGORITHM is bcrypt you can configure cost

PWD_CHECK
    Whether to check password quality Unstable flag, will become a non configurable default in a future version

PWD_AUTH_COMPAT
    Whether to allow password auth everywhere Unstable flag, will become a non configurable default in a future version

GC_ABORT_AFTER
    Time after which pending operations are aborted during garbage collection

GC_CLEAN_AFTER
    Time after which aborted operations and expired items are deleted during garbage collection

GC_DELETE_AFTER
    Time after which all bank transactions, operations and deleted accounts are deleted during garbage collection

  DATABASE OPTIONS

Setting the database belongs to the “[libeufin-bankdb-postgres]” section and the following value.

CONFIG
    PostgreSQL connection string.

SQL_DIR
    Where are the SQL files to setup our tables?

SEE ALSO

libeufin-bank(1).

BUGS

Report bugs by using https://bugs.taler.net/ or by sending electronic mail to <taler@gnu.org>.

AUTHOR
GNU Taler contributors

COPYRIGHT
2014-2025 Taler Systems SA (GPLv3+ or GFDL 1.3+)