Announcing: Edge Firmware for Coldcard Mk4

Bitcoin is always evolving and there are many powerful new features that are “just around the corner”. We want to get closer to that corner, and make that new tech safe to use! But at the same time, we’re not sure if it is safe yet. It’s got bugs for sure, and some of those bugs might be very expensive.

Our answer is what we’re calling “Edge Firmware for Mk4”. It will be updated more frequently and contain the very latest in BIP’s and other upcoming tech for Bitcoin. It’s not for everyday hodlers: it’s for the wallet developers and power users who are itching to experiment with new types of signatures, and complex new on-chain wallet types.

Let’s not be #reckless — Do not use this firmware on your main stash. Do not run it to impress potential sexual partners.

Winning features from “edge” will be moved to the normal firmware only when they are ready, and we are still developing new and practical features on both branches. Isolating the riskier stuff allows us to concentrate on everyday features, that everyone can use right away, while the Bitcoin community develops supporting code for new types of signatures and consensus related changes.

If you are not a developer, you can ignore Edge version completely.

Where to Find It

The source code lives on branch edge on the same Coldcard github repo: Edge branch on Github

Binaries can be reproduced from the code in that branch and signed binaries will carry an X in their version number. The code will alert the user on each power up, and the scroll bar is marked with “EDGE”, on screen.

Get the signed binary here

6.1.0X

MINISCRIPT

  • Miniscript and MiniTapscript support
  • Tapscript up to 8 leafs

6.0.0X - First Edge release.

TAPROOT

  • Taproot keyspend & Tapscript multisig sortedmulti_a (tree depth = 0)
  • Paper wallets can be P2TR address format.
  • Limitations:
    • only TREE of depth 0 is allowed
    • max 32 signers in TR multisig, only allowed script is: sortedmulti_a
    • if we can sign by both key path and script path: key path has precedence.
  • Full technical details available here.

BIP-0129 Bitcoin Secure Multisig Setup (BSMS)

BSMS menu example

Fixes & Common Enhancements

  • Enhancement: change Key Origin Information export format in multisig addresses.csv according to BIP-0380 (m=0F056943)/m/48'/1'/0'/2'/0/0 –> [0F056943/48'/1'/0'/2'/0/0]
  • Bugfix: correct scriptPubkey parsing for segwit v1-v16
  • Bugfix: do not infer segwit just by availability of PSBT_IN_WITNESS_UTXO in PSBT

These have been fixed on master as well, but are not yet part of a release.

What’s Next

Obviously… Miniscript!