Install Bark Wallet from the Umbrel App Store or the Start9 Registry, or self-host it with Docker, then create your wallet the first time the app opens.
Unless you’re using the web version of Bark Wallet, you’ll need to install the app. The process depends on the platform you’re using.
Open umbrelOS in your browser, at http://umbrel.local by default, and select App Store in the dock.
2
Find Bark Wallet
Search for “Bark Wallet”, or browse the Bitcoin category. The same listing is on the web at apps.umbrel.com/app/bark-wallet.
One-click install from the official Umbrel App Store
3
Select Install
umbrelOS downloads and starts the app in the background.
4
Open the app
Select Open on the listing, or the new Bark Wallet icon on your umbrelOS home screen. The wallet app opens on its welcome screen: continue with Create your wallet.
Bark Wallet has no login of its own. Anyone who can sign in to your umbrelOS can open the wallet app and spend from it.
By default, Bark Wallet connects to Second’s mainnet Ark server at ark.second.tech. A different server can’t be configured yet.
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.
All tasks complete: start the service from its Dashboard
7
Open UI and log in
Once the service is running, select Open UI and log in with the generated password. The wallet app opens on its welcome screen: continue with Create your wallet.
Password protection blocks unauthorized access to the wallet app on your network
By default, Bark Wallet connects to Second’s mainnet Ark server at ark.second.tech. A different server can’t be configured yet.
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 takes 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 wallet app asks for your password the next time you open the wallet page. 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.