LIBEUFIN-BANK(1)

πŸ“¦ version 1.3.0, in nixos 26.05, nixpkgs unstable

πŸ’– LIBEUFIN-BANK πŸ’–

okay so bestie, welcome to the libeufin-bank(1) page β€” this is the GNU Taler manual, and today we're learning about libeufin-bank, which is literally an implementation of a regional currency bank. yes. a whole bank. in a program. slay. 🏦✨


🌸 NAME 🌸

libeufin-bank β€” implementation of a regional currency bank 🫢


✨ SYNOPSIS ✨

libeufin-bank [-h | --help] [--version] COMMAND [ARGS...]

Subcommands: dbinit, passwd, create-token, serve, create-account,
edit-account, gc, bench-pwh, config

like, yes, that's the whole shape of it β€” one binary, a bunch of commands. iykyk πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

libeufin-bank is a program that implements a simple core banking system with account and REST APIs β€” including REST APIs for a Web interface and REST APIs to interact with GNU Taler components. so it's not just a bank, it's a bank with a whole social life. main character energy fr fr πŸ‘‘

Its options are as follows:

  • -h | --help β€” Print short help on options.
  • –version β€” Print version information.
yes bestie, that dash in –version is an en dash in the original page. we do not fix it. we respect the lore. πŸ’€

The interaction model is as follows β€” think of it as the get-ready-with-me routine:

  • Configure the database with commands dbinit.
  • Set admin account password with commands passwd.
  • Start the HTTP server with command serve. Let this run in a shell, writing logs to stderr.

The following sections describe each command in detail. buckle up πŸŽ€


πŸ—„οΈ dbinit

This command defines the database schema for LibEuFin Bank. It is mandatory to run this command before invoking the passwd or serve commands. like, do not skip this step. do not pass go. do not collect $200. πŸ™ˆ

Its options are as follows:

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -r | --reset β€” Reset database (DANGEROUS: All existing data is lost)
  • -h | --help β€” Print short help on options.
⚠️ real talk: --reset is DANGEROUS and all existing data is lost. no cap. don't come crying to me. 😭

πŸ”‘ passwd

This command change any account password.

It takes two arguments, the account username and the account new password.

Its options are as follows:

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -h | --help β€” Print short help on options.

🎟️ create-token

Create authentication token for a userword. (yes, "userword". that's what it says. iconic typo behavior, we keep it πŸ’…)

Its options are as follows:

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -u | --user | --username USERNAME β€” Account username.
  • -s | --scope SCOPE β€” Scope for the token.
  • -d | --duration forever|MICROS β€” Custom token validity duration.
  • --description DESCRIPTION β€” Optional token description.
  • --refreshable β€” Make the token refreshable into a new token.
  • --current-token TOKEN β€” Current token to reuse if still valid.
  • -h | --help β€” Print short help on options.

πŸ–₯️ serve

This command starts the HTTP server. let it run in a shell, writing logs to stderr β€” that's the vibe, don't fight it 🌈

Its options are as follows:

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -h | --help β€” Print short help on options.

πŸ‘€ create-account

This command create a bank account and prints its payto://-URI to STDOUT. new account, who dis πŸŽ€

Its options are as follows:

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -u | --user | --username USERNAME β€” Account unique username.
  • -p | --password PASSWORD β€” Account password used for authentication.
  • --name NAME β€” Legal name of the account owner.
  • --public β€” Make this account visible to anyone.
  • --exchange β€” Make this account a taler exchange.
  • --email EMAIL β€” E-Mail address used for TAN transmission.
  • --phone PHONE_NUMBER β€” Phone number used for TAN transmission.
  • --cashout_payto_uri PAYTO_URI β€” Payto URI of a fiant account who receive cashout amount.
  • --payto_uri PAYTO_URI β€” Payto URI of this account.
  • --debit_threshold AMOUNT β€” Max debit allowed for this account.
  • --tan_channel TAN_CHANNEL β€” Enables 2FA and set the TAN channel used for challenges.
  • -h | --help β€” Print short help on options.

✏️ edit-account

This command edit an existing account.

It takes one argument, the account username.

Its options are as follows:

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • --name NAME β€” Legal name of the account owner.
  • --public true|false β€” Make this account visible to anyone.
  • --email EMAIL β€” E-Mail address used for TAN transmission.
  • --phone PHONE_NUMBER β€” Phone number used for TAN transmission.
  • --cashout_payto_uri PAYTO_URI β€” Payto URI of this account.
  • --debit_threshold AMOUNT β€” Max debit allowed for this account.
  • --tan_channel TAN_CHANNEL β€” Enables 2FA and set the TAN channel used for challenges.
  • -h | --help β€” Print short help on options.
🫢 little heads-up bestie: on create-account that --cashout_payto_uri says "Payto URI of a fiant account who receive cashout amount", and here on edit-account it just says "Payto URI of this account". two different sentences, both canon, both staying. 🧚

🧹 gc

This command performs garbage collection: abort expired operations and clean expired data. literally taking out the trash, but for a bank πŸ“

Its options are as follows:

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -h | --help β€” Print short help on options.

βš™οΈ config

This command inspect or change the configuration.

  • -h | --help β€” Print short help on options.

Subcommands: get, dump, pathsub


πŸ” config get

This command lookup config value.

It takes two arguments, the section name and the option name

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -f | --filename β€” Interpret value as path with dollar-expansion.
  • -h | --help β€” Print short help on options.

πŸ“€ config dump

This command dump the configuration. everything. on main. πŸ’€

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -h | --help β€” Print short help on options.

🧩 config pathsub

This command substitute variables in a path.

It takes one argument, a path expression.

  • -c | --config config_file β€” Specifies the configuration file.
  • -L | --log LOGLEVEL β€” Configure logging to use LOGLEVEL.
  • -h | --help β€” Print short help on options.

πŸ‘€ SEE ALSO πŸ‘€

libeufin-bank.conf(5)


πŸ’€ BUGS πŸ’€

Report bugs by using https://bugs.taler.net or by sending electronic mail to <taler@gnu.org>. please do, the contributors genuinely want to know 🫢


🌟 AUTHOR 🌟

GNU Taler contributors


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


and that's the page bestie!! πŸ’–βœ¨ version 1.0, dated Dec 22, 2025 β€” LIBEUFIN-BANK(1), and it's giving documentation that ate. go configure your database before you touch passwd or serve, and remember: --reset will delete everything and not feel bad about it. mwah πŸŽ€πŸ’…πŸ¦‹

πŸ“¦ where this page comes from