# TESTPAYSAN (FP stage) — deltas Generic CLI: [README.md](./README.md). **cwd = this tree.** Instance/template via env, not in this file. | | | |--|--| | `-d` | `stage.lefrancpaysan.ch` (same as `stage.monnaie…`) | | Currency | TESTPAYSAN | | Public | `https://stage.{bank,exchange,monnaie}.lefrancpaysan.ch` | | Live UNIX | **`testpaysan`** · Quadlet **`stage-testpaysan`** · ports **9030–9032** · data **`/mnt/data/testpaysan`** | | SSH (this laptop) | Host **`francpaysan`**, then `sudo -n -u testpaysan` | | Stale | `stagepaysan` / `stage-lfp-*` / `francpaysan-stage-user` + `id_ed` — harness `-d` still prints those INSIDE_* flags; public URLs are correct | | HALT | no Quadlet recreate of `stage-testpaysan`; no prod `*.lefrancpaysan.ch` without `stage.` | | Config | persist under `/data/etc/…-overrides.conf`, never `/usr/share` | | Pasta | guest `/etc/hosts` → `169.254.1.2` for those FQDNs | ```bash ./taler-monitoring.sh -d stage.lefrancpaysan.ch urls E2E_WALLET_SERVE=1 E2E_TIMEOUT=480 ./taler-monitoring.sh -d stage.lefrancpaysan.ch e2e # mini ladder: LADDER_STEPS=5 (not 3). Pay instance = env LADDER_PAY_TEMPLATE_INSTANCE COUNT=1 ./taler-monitoring.sh -d stage.lefrancpaysan.ch zero-pay # needs a funded wallet # own sqlite (Android/iOS export): --wallet-db PATH [--wallet-migrate] ``` **Smoke 2026-08-30:** `urls` HTTPS OK; **3 ERROR** `stats.json` stuck **2026-08-29 13:36 CEST**. `zero-pay` COUNT=1 **FAIL** insufficient balance without prior `e2e` withdraw.