Find Bark Wallet and select Install. The service appears on your Services page.
Bark Wallet in the Start9 Registry
3
Run the Set UI Password task
The onboarding tasks sit on the service’s Dashboard, under Tasks. This one generates your login password and displays it. Save it somewhere secure.
4
Acknowledge the Backup Safety task
Read and accept this disclaimer. With Bark, restoring an out-of-date copy of your wallet can cause permanent loss of bitcoin, so only ever restore your most recent backup. The Wallet backups page explains why.
5
Configure an external backup target
Run the Configure Backups task and enable at least one target on a different machine: Google Drive, Dropbox, Nextcloud, or SFTP.
In .env.byob, set BARKD_URL and BARKD_AUTH_TOKEN, and match BARK_NETWORK, ARK_SERVER, and CHAIN_SOURCE to your daemon’s network; the file ships signet defaults. The token stays server-side and never reaches the browser.
Pick your network. Mainnet moves real bitcoin; signet is for testing with free bitcoin.
Mainnet
Signet
docker compose --env-file .env.mainnet up --build
npm run dev:mainnet
By default you’ll connect to Second’s Ark server at ark.second.tech.
docker compose --env-file .env.signet up --build
npm run dev:signet
By default you’ll connect to Second’s signet Ark server.
Setup will take a few minutes during your first run. Leave the terminal running.
The first start creates the Docker volume that will hold your wallet. A storage mirror (RAID, ZFS, or BTRFS) keeps a hot spare of your VTXOs through a disk failure. To use one, move Docker’s storage onto the mirrored disk before the first start.
Docker Engine: set data-root in /etc/docker/daemon.json.
Out of the box the wallet app has no login. Anyone who can open the wallet page, on your machine or from any device on your local network, can spend from it. To enable password protection on the app, follow these steps.
1
Create the password file
In the repository directory, create .auth-dev/ui_password containing only your password (replace your-strong-password with your preferred password in the command below).
docker compose -f docker-compose.yml -f docker-compose.auth.yml --env-file .env.mainnet up --build
npm run dev:mainnet:auth
docker compose -f docker-compose.yml -f docker-compose.auth.yml --env-file .env.signet up --build
npm run dev:signet:auth
Once enabled, the next time you open the wallet page you’ll be prompted to enter your password. Sessions last seven days, and five failed login attempts trigger an escalating lockout of up to 15 minutes.
With password protection on, the wallet app asks for your password first
The wallet app is reachable from any device on your network at your machine’s local IP address, while the API and barkd stay private on your machine. Find the address with ipconfig on Windows, ifconfig on macOS, or ip addr on Linux, then go to http://<your-machine-ip>:5173 on the other device. Every device talks to the same barkd, so the same wallet loads everywhere.
After installing the wallet app, the first thing to do is back up your wallet.
Was this page helpful?
⌘I
Assistant
Responses are generated using AI and may contain mistakes.