Setup guide

Full installation from the pre-built packages: node, wallet, web interface and mining β€” on Ubuntu 24 (or compatible). In a hurry? The quick-start guide (GUI wallet) is all you need.

πŸ–₯️ Using the GUI wallet (Windows / macOS / Linux)? This guide is NOT for you. The GUI version includes everything β€” node, wallet, interface β€” and needs none of the "console" packages described here. Just follow the quick-start guide. This guide is only for people installing a node from the command line (server or Linux without a graphical interface) using the pre-built packages.
⚠️ Only one "bank" per local network (LAN). On a given network, only one node or GUI wallet can run: any additional one will not be able to synchronize. This is not an annoying limitation β€” a single node (or a single GUI wallet, which contains the node) is enough: every machine on the LAN mines on that one. Details in the "Multiple machines (LAN)" section at the bottom of this page.

0.Download the package for your machine

  1. Open the Downloads section of the site.
  2. Pick the package matching your CPU:
    • lscpu | grep -o avx512f β†’ if it answers avx512f: AVX-512 package
    • otherwise: AVX2 (zen1 β€” most compatible) package

From the command line (instead of the browser):

wget https://privbank.finance/fichiers/pbc_node_avx2_zen1.tar.gz

Then:

tar xzf pbc_node_*.tar.gz
cd pbc_node

The package contains: bin/ (node + wallets + web interface), web/ (interface), miner/ (CPU miner).

1.Start your node

cd pbc_node
screen -dmS node ./bin/pbcd --log-file $PWD/pbcd.log
⚠️ Several machines on the same network (LAN)? Only one machine on the network may run a node (or a GUI wallet), and it must be started with the external bind β€” see the "Multiple machines (LAN)" section below.

Your node automatically connects to the network seeds. To check that it is running and synchronizing:

curl -s http://127.0.0.1:18831/get_info | grep -E '"height"|connections'

(screen -r node to see the console; Ctrl+A then D to detach.)

2.Create your wallet

./bin/pbc-wallet-cli --generate-new-wallet ~/mywallet

3.Start the wallet-RPC

screen -dmS wallet-rpc ./bin/pbc-wallet-rpc \
  --daemon-address 127.0.0.1:18831 \
  --wallet-file ~/mywallet \
  --password "YOUR_WALLET_PASSWORD" \
  --rpc-bind-port 18083 \
  --disable-rpc-login \
  --log-file /tmp/pbc-wallet-rpc.log
⚠️ Replace YOUR_WALLET_PASSWORD with the password chosen at step 2. If you leave the placeholder text, the wallet-RPC crashes immediately with invalid password β€” check with tail -3 /tmp/pbc-wallet-rpc.log that the startup went well.

4.Start the wallet web interface

screen -dmS webui ./bin/pbc-webui \
  --rpc-port 18083 \
  --web-dir $PWD/web \
  --wallet-log /tmp/pbc-wallet-rpc.log

5.Open your private bank in the browser

http://<your-machine-IP>:8880

(From the machine itself: http://127.0.0.1:8880.)

You will find: dashboard, term deposits (30 d to 365 d), rewards to claim (CLAIM), bond marketplace, inheritance, and the bank statement.

6.Mine

  1. Edit miner/config.json and set your address (step 2) in place of YOUR_PBC_ADDRESS_HERE:
    "user": "PbcYourAddressHere"
  2. Start the miner with sudo (recommended β€” much better performance: huge pages + CPU MSR optimization, which require root):
    sudo screen -dmS miner ./miner/pbcminer --config miner/config.json -t $(($(nproc) - 2))
    Recommendation: all threads minus 2 (keeps the machine responsive). The -t parameter sets the thread count β€” use any value you like, e.g. -t 8.

Without sudo, the miner still works (screen -dmS miner ./miner/pbcminer --config miner/config.json) but with reduced performance.

The miner works against your own node (solo mining, RandomX V2 algorithm rx/pbc, CPU only).

⏳ Expected behavior: your mining rewards arrive in 4 locked parts that unlock at ~24 h / ~30 d / ~60 d / ~90 d (protocol built-in vesting). Your unlocked balance will grow progressively.
πŸ’‘ Tip: once your first rewards are unlocked, put them into a term deposit from the web interface to earn yield β€” that is the heart of PBC.

Multiple machines on the same network (LAN)

⚠️ Golden rule: only one node β€” or one GUI wallet β€” per local network. If you run several, the extra ones will not be able to synchronize. And one is enough anyway: the GUI wallet contains the node, and every other machine on the LAN will solo-mine on it.

On the "bank" machine (the one hosting the node or GUI wallet), the node must accept miners from the network. The GUI wallet does this automatically; from the command line, start the node with the external bind:

screen -dmS node ./bin/pbcd --rpc-bind-ip 0.0.0.0 --confirm-external-bind --log-file $PWD/pbcd.log

On the other machines (miners only β€” no node, no GUI wallet):

  1. Edit miner/config.json and point it to the local IP of the "bank" machine:
    "url": "192.168.X.X:18831"
    (replace 192.168.X.X with that machine's LAN IP β€” ip a to find it; "daemon": true stays as is)
  2. Start the miner normally:
    sudo screen -dmS miner ./miner/pbcminer --config miner/config.json -t $(($(nproc) - 2))

Rewards go to the address configured in config.json, whichever node is used.

Troubleshooting