Spending policy · enforced on every signerauto-sign ≤sats/txn· velocity ≤sats permin
Message signing · 2-of-3 proof of control
Coordinator global velocity · the authoritative cap across all 3 signersauto-sign while the period total ≤sats permin · spent this period:…This is the precise operational cap: the keyless coordinator enforces it before any signer is asked, counting only broadcast transactions, so a refused or dropped spend never burns budget. It is not the last line of defence — the safety floor lives on the hardware. Even if this coordinator were offline (spending simply halts) or fully compromised, every spend still needs two Coldcards to each pass their own address whitelist + per-txn cap + velocity — so a rogue coordinator can't redirect funds off your whitelist or exceed the devices' ceilings. The coordinator limits; the hardware bounds.
Surge tier · TOTP-gated · human in the loopa code unlocks ≤sats/txn · ≤sats/periodRoutine flows stay automated under the tiers above. A spend over the automated cap needs your TOTP code (a normal authenticator app) — the coordinator only relays it; the secret never touches it. Enrol once, then a TOTP field appears on the spend bar when you exceed the cap.
Address whitelist. Anonymous demos can only pay the whitelisted sink
…. Choose “an un-whitelisted address ✗” above and run a spend to watch the
Coldcards refuse an off-list payee on-device.
Sign in with Nostr to authorise your own signet address and pay it instead of the sink.
Your signet address:re-arms all 3 signers with your address added · shared rig, so the authorised set is global & capped
Coordinator · keyless
// the coordinator holds no keys — its compromise can't move funds.// three on-device policies still gate every signature: cap · velocity · whitelist.// set an amount + destination, tune the policy, or sign a message — watch it happen live.
What's happening
1Build a PSBT from the watch-only 2-of-3 wallet
2Fan out to 2 of 3 signers over the tailnet
3Each Coldcard evaluates & signs (or refuses) under policy
4Combine the partial signatures
5Broadcast to real signet · watch it confirm
multisigHSM
A live, policy-enforced 2-of-3 Bitcoin treasury signer · by mineracks
A 2-of-3 policy-enforced threshold HSM: three independent Coldcards, each in HSM mode under its own spending policy. A keyless coordinator builds a transaction, fans it to any two signers, they auto-sign under policy with no human, and the result is broadcast to real signet.
Every policy dimension is enforced on-device: a per-transaction cap, a velocity limit (total per period), and an address whitelist.
New to HSMs? A Hardware Security Module is a dedicated, tamper-resistant device that holds a private key and signs with it on-device — the key is generated inside the chip and can never be extracted, even by the computer it's plugged into. Banks and certificate authorities have trusted them for decades to keep signing keys out of reach of a hacked server. Here, each of the three signers is a Coldcard running in HSM mode.
Support & get help
Open source · run it yourself
Use it on your own
The whole thing is open source (MIT) — the operator manual, the reference coordinator + signing code, and a signer-host bootstrap. Fork it, run it, harden it. If it's useful to you, support the project with sats. ⚡
Standing this up for a business treasury, exchange, or fund? mineracks does guided design + execution — failure-domain placement, policy & velocity sizing, the signer-agent + coordinator deployment, backup/DR rehearsal, and an operations runbook tailored to you.
We don't supply the Coldcards — you buy your own hardware, direct from the maker. We never see, hold, or generate your keys or seeds — they're created on your devices, by you, and never leave their secure elements. We build the architecture and operations around your hardware, never the key material.