Hi Stackers,
Hal is a self-custody, on-chain Bitcoin wallet that runs entirely in your browser. The whole app is a single HTML file β no server, no account, no backend, no build pipeline you have to trust. You can read the source, save the page, and run it offline. It's named in memory of Hal Finney.
π https://halwallet.app Β· source: https://github.com/asoltys/halwallet
The motivating inspiration is bitaddress.org β a single, auditable, offline-capable HTML page that generates keys with no server in sight, the way self-custody is supposed to feel. Hal takes that same spirit and grows it into a full everyday wallet.
The idea: Hal has no sign-up and no servers holding your coins or seeing your keys. It generates and signs everything locally; the only thing it ever needs the network for is reading the chain and broadcasting.
What it does:
- Send & receive on-chain Bitcoin with native segwit, QR scanning, fee selection, and RBF fee-bumping
- Gift links β Send someone an amount of Bitcoin via a pre-signed PSBT in a URL. When they open the link it sweeps into a brand-new wallet only they control by filling in their newly minted address as an output in the transaction. Good for onboarding someone with no wallet yet, tipping, or actual gifts.
- Watch-only wallets β import an xpub/zpub to monitor balances and history without keys on the device.
- Air-gapped signing β move an unsigned transaction to an offline device, sign there, and broadcast from an online one.
- Optional state sync over Nostr β keeps an end-to-end-encrypted snapshot of your wallet state (balances, coins, history) that only a device with your seed can read. It's mainly a performance thing: a device can pull its state from a relay instead of re-deriving and re-scanning every address against the block explorer, which is slow and quickly gets you rate-limited. Keeping multiple devices in sync is a nice side effect.
- Bring your own node. Point the block explorer at your own Esplora/electrs instance and the app talks to zero third parties
Also: installable as a PWA that works offline, multiple accounts support, light/dark mode, and 19 languages.
It's a work in progress and hasn't been tested all that thoroughly but I wanted to release it so people can start playing with it and give me feedback on it. Let me know what you think and what other features you'd like to see!
-Adam
Here's 2100 sats for someone: https://halwallet.app/g/AEAQJ2OGTTBOOG52WA4Y5C4WNEF2JI6NK3QEOY4YTBX6RD4NGZRI2OVYAAAAAAAQAQAAAAAAAAAAFXG5DUVBBBXH2AOB56DBH73OLWXA7FHOIP3F6RZXZOTIIR5AQPCZJAYEKARBADGH6LJTVRF64IPEFEOELSRB5LTT4TOMIELAZLQSLXIZEL7KKYFDKARACWXBN27KCGDC5TZIPGG7VSB5LRNVRXTRN2BXABNDECLWA5PVWSEAGBO7HBNCN7N6JRYOGAC4GGRUBCRCAHGQOH5YJIW52LJVLVHYTK7QAAAAAAGDAIAAAAAAAAAAG6UJURK2RY7IANDJP6GI5W3DV73K7KWF4P4MMHCWVPFVQ6M3SZ4KI4YEIARAFSTAYRKVHKR5N4PCNWYDDLFCYLIMCH32ZGK376DIEBUDELLNZFSAEID5T6VSQCKRJZ6N2VYQWECLPJ3RXVHBLVVXXHMHHTM2IS7JYQ75XQBAZO4VAXTFG4BPBWIXGGYACPFZ2BKLI43TOW5HK5Z3RI3UYCPARRAAAAAAAYYCAAAAAAAAAAB7QONDENZSAAYPXCMMPIJVREZOGIVVQ5JE2DB2IXHXJRD3SUUE5AKHGBCAEIAECP6LRBQ6RE5KT4M7C7BZXLFU46I6OTA5WYPQQVD36EA5QA7424BCAIYQQOJL5YP46SZJQD2XHCROBJ3OQDG63I5RC4OKFHWY7LHQ4GPVAJ3H7MYXZIMD3G347KNU62R33B2NGUSXD5B5KTOAEZYWBFOZJJ7R4AAAAAAFAAQAAAAAAAAAAL7N2DFURPQ4DXGFYYLSDKJ3CQXEAIRTWB7TWIOANAY2VJAXDHLDWRZQIQBCAPRLNWSEUDMWH44V3DBSDIRLNUF23UHANY5TG5MI7NPZH2FFJKVXAIQEBFBCH4FZKX7JPK7DT5KKRQQC6U5SC63EP2PXDYT4NQZXHQE6LFACKIBQAAAAAAAABIV73KJHSWWZ3IPQJRHZJOC2N7TGH3DRK
Great idea, Forked!
Forked successfully!
Just for fun, added some features:
INSTALL.mdguide for newbiesCheck it out: https://design-rrr.github.io/halwallet/
Nice fork, but do you really have to enter the seed on an online device?
Congrats, promising concept!
Awesome! PWA:
Coinos Wallet - Lightning
Hal Wallet - Onchain
Very cool!
This sounds coop. Can it create/sign psbts?
Also: is it possible to load a descriptor into it?
I like the concept!