Multi-signature Bitcoin with Casa Keymaster
By: Vicarious Drama
Tags: Multisig, Casa, Verify, Wallet, Bitcoin

Casa Keymaster App Basics

After downloading the Casa Keymaster app from the Apple AppStore or Google Play, you’ll use your credentials you created previously to login.

Without the Gold plan, you will only see Single Key mode, and the wallet acts like any other typical Bitcoin wallet with a few extra benefits. The app saves your private key in an encrypted format to your Google Drive or Apple iCloud allowing you to restore if you delete the app. Furthermore, there is a health check function, and ability to check the backup. I verified that sending some bitcoin to the displayed address did indeed show up in that account.

With the Gold plan, you now have access to a Basic Multisig wallet in addition to Single Key mode. I setup this wallet using my phone and a Coldcard. The process for doing this entails initiating the action on the phone to add the new hardware wallet, and receiving an email with a link to follow. On the page you can choose whether using a Ledger, Trezor, or Coldcard as the instructions will differ. I opted for Coldcard, and it walked me through how to export the XPubs from the Coldcard and then upload that file back to the website. When that completed, the app on my phone showed the hardware device added.

Sidenote: The Coldcard I used during setup actually had a flaw where the cancel (X) button would not work. Hardware wallets can and do go bad, and this emphasizes another benefit of multisig solutions. Had this been a singlesig setup where I didn’t have the seed phrase I could have lost funds associated with the wallet.

✔️ Funding Single Key from external bitcoin

✔️ Setup Basic Multisig with phone+coldcard

✔️ Funding Basic Multisig from external bitcoin

✔️ Send from Basic Multisig to Single Key (now there are 2 UTXOs)

✔️ Send from Single Key to Basic Multisig choosing UTXO to use

✔️ Send from Single Key to External address

✔️ Verified receipt of Sovereign Recovery instructions

⚠️ Control over fees is somewhat limited within the app. Regardless of Single Key or Basic Multisig, the options are tied to an option for Choosing Transaction Speed. The default is “Normal” targeting within 30 minutes. Additional options include Fast (10 minute), Slow (~1 hour), and Cheapest (~24 hours). The sats/byte are displayed for each, but no control is offered to adjust to specific fee values.

⚠️ All transactions are broadcast through Casa servers. This gets back to the privacy considerations above. At this time there is no option to broadcast transactions through your own node or export to do so. When I asked Casa about this, the response indicated this is one of those power user features they’d like to add, but would only serve a small portion of the user base and hasn’t been prioritized yet. A detailed rationale was given regarding different failure scenarios that need to be covered.

⚠️ The minimum size of a transaction is .0001 BTC, or 10000 satoshis (sats). When I asked Casa about this, the rationale was that it avoids issues with very small transactions being dropped out of node memory. They can always raise it as bitcoin goes up in price and people are sending smaller amounts.

⚠️ There is currently no support for multiple outputs or control over change addresses in transactions. Transactions can only have one output, and automatically set the change address.

⚠️ There is currently no support for displaying amount of Bitcoin in sats, or forcing to 8 decimal places. When I reached out to Casa regarding this, they indicated its on their road map to add in the future.