# Demo merchant instance `goa-demo-cp4zqk` Created **2026-07-09** via self-provisioning (`POST /instances`, no SMS TAN). ## Merchant | Field | Value | |-------|--------| | SPA | https://taler.hacktivism.ch/webui/ | | Instance ID | `goa-demo-cp4zqk` | | Display name | GOA Demo Shop cp4zqk | | Instance password | **not in this repo** — `koopa-admin-secrets/koopa/host-root/taler-merchant/merchant-goa-demo-cp4zqk-password.txt` → `/root/…` | | Backend base | `https://taler.hacktivism.ch/instances/goa-demo-cp4zqk/` | | Self-provisioning | YES; `mandatory_tan_channels: []` | Login: SPA → instance id + password (or bearer `secret-token:$PASSWORD`). ## Bank account (linked) | Field | Value | |-------|--------| | Bank SPA | https://bank.hacktivism.ch/webui/ | | Username | `goa-demo-cp4zqk` | | Password | **not in this repo** — `koopa-admin-secrets/koopa/host-root/taler-bank/bank-goa-demo-cp4zqk-password.txt` → `/root/…` | | Payto | `payto://x-taler-bank/bank.hacktivism.ch/goa-demo-cp4zqk?receiver-name=GOA%20Demo%20Shop%20cp4zqk` | | Seed balance | **GOA:5000** (admin credit) | | Debit threshold | GOA:100000 (default) | Merchant wire account (private API): ```http POST /instances/goa-demo-cp4zqk/private/accounts Authorization: Bearer secret-token:… { "payto_uri": "payto://x-taler-bank/bank.hacktivism.ch/goa-demo-cp4zqk?receiver-name=GOA%20Demo%20Shop%20cp4zqk" } ``` Verified: account **active**, `h_wire` present. ### Credit facade (automatic settlement import) Merchant **wirewatch** imports bank credits via the **Taler Revenue API** (not the exchange wire-gateway): | Field | Value | |-------|--------| | `credit_facade_url` | `https://bank.hacktivism.ch/accounts/goa-demo-cp4zqk/taler-revenue/` | | credentials | **bearer** bank access token (Basic is rejected on history) | | process | `taler-merchant-wirewatch` (+ `depositcheck`) | Setup helper (host root): `scripts/taler-merchant/setup_credit_facade.sh` Without this facade, bank credits still land (exchange→merchant), but orders stay `wired=false` / `private/transfers` empty. ## Related config - Exchanges: **CHF** `taler-ops` + **GOA** `exchange.hacktivism.ch` (both enabled) - SMS TAN: off - Bank DEFAULT_EXCHANGE: `https://exchange.hacktivism.ch/` - Container hosts: public IP `212.51.151.254` for `exchange.hacktivism.ch` (not 127.0.0.1) ### SPA / KYC for this GOA payto - **hacktivism / GOA:** `status=ready` (settlement path) - **taler-ops / CHF:** `unsupported-account` — expected (x-taler-bank vs CHF/IBAN)