pull down to refresh

TL;DR: We turned your Mac’s Secure Enclave into a Bitcoin signing device, with Touch ID as the “are you sure?” button. No dongles. No cloud. No USB firmware roulette. No “where’s my Ledger PIN?” panic. Just run the app (or build from source), pair it with your own node, and your laptop becomes the safest multisig cosigner you already own.
MetaMask isn’t Bitcoin. Ledger is fine… until it’s not. If you’re a self-custody maximalist on macOS, you’ve probably been stuck between hot-wallet convenience and hardware-wallet security. Not anymore. Specter Enclave is a free, open-source wallet that transforms your Mac into a part of your Bitcoin cold storage setup – without any third-party infrastructure or “cloud” anything. It’s fully offline and uses the Secure Enclave chip (the same vault that holds your Touch ID data) to keep your private key sealed off from the world.

What Makes Specter Enclave Different?

  • 100% Offline & Cloudless: No accounts, no servers, no phone-home. Your keys never leave your Mac’s Secure Enclave, and all transactions are signed locally. (Pair it with your own Bitcoin Core node for broadcasting – trust no one else’s infrastructure.)
  • Secure Enclave Key + Touch ID: The private key is generated and stored inside the Secure Enclave chip, where it’s non-extractable. Every spend requires your fingerprint via Touch ID – just like pressing the button on a hardware wallet, but in your laptop.
  • Default 2-of-3 Multisig: It ships with multisig by default. That means one key lives in your Mac’s Enclave, and you’re prompted to combine it with two other keys (for example, one on a hardware wallet or mobile signer, plus a third as a backup). No single key (or device) can ever spend your coins alone. Daily spending can be done using your Mac’s key + one other signer, so you don’t need to fish out specialized hardware for every little transaction.
  • Slim, Open Source Code: The entire signing path is written in Swift using Apple’s CryptoKit – around ~1,700 lines of code handling all the key and PSBT logic. Nothing hidden, no black-box firmware; you can read or compile it all yourself.
  • Air-gapped PSBT Workflow: No USB cables needed. Transactions (PSBTs) can be passed through animated QR codes or even NFC taps with an iPhone. This means your signing MacBook can be kept offline, yet still easily receive and return signed transactions. No more juggling SD cards or random file transfers.

But… Can You Trust Apple’s Enclave?

Let’s address the elephant in the room: “Closed-source secure hardware”. Yes, Apple’s Secure Enclave is a proprietary black box. If you’re thinking “how is this any better than a closed-source Ledger secure element?”, it’s a fair question. Here’s the deal:
  • Battle-Tested Security: Apple’s Secure Enclave has secured billions of devices for years. It’s seen far more attacks and scrutiny than the chips in boutique hardware wallets. If there were easy ways to extract data from it, we’d likely know by now.
  • No Vendor Backdoors: Unlike some hardware wallets that surprised us with opt-in backdoor features (cough Ledger Recover cough), your Mac’s enclave isn’t going to randomly export your keys. Apple literally cannot see inside it. And because Specter Enclave is open-source, you can audit that we aren’t doing anything sneaky either.
  • Trust Model: In both cases (Ledger vs. Secure Enclave) you’re ultimately trusting a secure chip. The difference is we’re not asking you to trust us. We wrote the code, but you (or anyone) can review it, reproduce the build, and verify that the only thing handling your key is Apple’s well-documented enclave API. No part of Specter Enclave phones home or relies on trust in our infrastructure – there is none. You’re leveraging hardware you already have, under your control.
  • Your Call: If your threat model says “never trust anything with a closed chip”, that’s fine – stick to a fully open-source hardware wallet. But consider this a new option in the self-custody toolbox: one that balances strong security with convenience, using devices you already own. We think the trade-off makes sense for a lot of use cases (and adds diversity to your key management). If you disagree, we want to hear why – let’s hash it out. 💬

How It Works (Under the Hood)

  • Step 1: specter-enclave init — Generates a new BIP32 master key inside the Secure Enclave (never accessible in plaintext). Essentially, your Mac creates a hardened secret that even macOS itself can’t read out.
  • Step 2: specter-enclave export-xpub — Exports the XPUB (extended public key) from the Enclave. You use this to set up a watch-only wallet on Bitcoin Core or Specter Desktop, so you can receive funds and generate addresses without ever exposing the private key.
  • Step 3: When you’re ready to spend, you construct a PSBT (Partially Signed Bitcoin Transaction) on your online wallet (e.g. Specter Desktop connected to your node). Specter Enclave intercepts the PSBT, prompts you to confirm via Touch ID, and the Secure Enclave signs it internally. The signed PSBT can then be broadcast through your node. At no point does the private key leave the chip – it’s all done internally and the signed result is handed back.
  • Multisig in Practice: By default, Specter Enclave assumes you’ll use it as one key in a 2-of-3 setup. For example, you might combine (a) your Mac’s Enclave key, (b) a key on a hardware wallet or TapSigner card, and (c) a third key (perhaps a seed phrase kept on paper or an offsite backup). The app will help enforce that you’ve configured multiple keys before use. Optionally, you can add a signer like Coldcard or Tapsigner at wallet creation; the Enclave will then refuse to sign unless the transaction includes the required co-signature. This means your laptop alone can’t move funds, even if it’s stolen or malwared – an attacker would still need the other key. Yet for everyday spending, you can just Touch ID to sign with the Mac and combine it with your secondary signer (say, a key on your phone or a readily available device), keeping your most secure key offline until needed.

250k Sat Bounties for Breakers & Makers 🔥

This project is for Bitcoiners, by Bitcoiners, so we’re putting our sats where our mouth is. If you can improve or break Specter Enclave, we’ll pay you in lightning:
  • 10,000 sats for any quality improvement or bug-fix Pull Request merged.
  • 50,000 sats for a thorough code review or security analysis write-up. Tear apart our code and document what you find – we appreciate it.
  • Up to 250,000 sats for any critical vulnerability discovered. If you manage to pwn the Secure Enclave setup or find a flaw that risks funds, you deserve a bounty (and a beer 🍻, if we ever meet).
No closed bug bounty program, no NDAs – just straight-up incentives to make this tool more robust. Come at us. The harder you hit, the stronger we get.
GitHub (source & notarized .dmg): https://github.com/CryptOpenDevelopment/specter-desktop (MIT License, forked from Specter Desktop on 2025-05-16)
144 sats \ 1 reply \ @k00b 11h
Can you point me to the specter-enclave source code you mention here?
I went searching for it again and can't find it.
(It's strange that your repo links to a forked build that I can't find all the source for.)
reply
It seems there was an issue with the repo visibility, I've re-uploaded it to https://github.com/CryptOpenDevelopment/specter-enclave
reply
inb4 unaudited source
reply
@remindme in 10 hours
reply