Krux v24.07.0: Maix Cube, BIP-85, BBQr Support, Speed & Security Improvements

Krux is open-source firmware that enables anyone to build their own Bitcoin signing device via off-the-shelf parts. It runs on Kendryte K210 devices such as the M5StickV and Maix Amigo, turning them into airgapped devices that can sign transactions for multisignature and single-signature wallets.

Krux v24.07.0: Maix Cube, BIP-85, BBQr Support, Speed & Security Improvements
  • "In this release, the first of Maix Cube, Krux have received a significant performance boost, along with new features and customization options," said the project.
"This release includes numerous contributions to the firmware from @tadeubas and @jdlcdl. Meanwhile, @qlrd has been consistently working on a version of Krux Installer with improved compatibility and user experience. Special thanks to @kkdao, community translators, @3rdIteration and other content creators, and all users who actively participate in Krux development with ideas, tests, and feedback."
  • Detailed instructions for installing and running Krux can now be found here.

Disclaimer: This software has not yet been formally audited by a third party. Use at your own risk!

What's new

  • Maix Cube Support. "The Maix Cube now has its first official release. This affordable and compact cube-shaped device, equipped with a built-in battery, is an excellent choice for those seeking a discreet option."
    • To flash Maix Cube with the official release using Krux Installer, please download v0.0.14 or later of the installer.
  • Frozen Code. "Krux now runs cross-compiled (frozen) Python code instead of real-time compiled code. The Python real-time compiler and REPL have been disabled."
  • More Single-sig Script Types Support. "Beyond Native Segwit, users can now load Legacy, Nested Segwit, and Taproot script type wallets."
  • Accounts Support. Users can now use custom account derivation indexes.
  • Wallet Customization Options. "New workflow to load wallets, faster for default settings and with more options when custom settings are needed. Wallet's network, script type, single/multisig, and account can be changed during and after loading a wallet."
  • BIP85 Support. Generate, export, and load BIP85 child mnemonics.
  • Wallet Sans Key. Krux now has a tool to load a trusted wallet descriptor to view addresses without the need for private keys.
  • Add BBQr Support. Scan and export PSBTs and wallet descriptors in the compact and efficient BBQr format.
  • Update Embit. Embit updated to 0.8.
  • Auto Shutdown. The device will automatically shut down at a configurable time if left on.
  • Hide Mnemonics. Disable backup tools and hide private key data when a wallet is loaded.
  • PSBT Path Mismatch. "Detect and warn the user if the PSBT path differs from the loaded wallet's path. This is useful for users who use multiple script types with the same key, ensuring they use the correct account when sending transactions."
  • Show Multisig PSBT Policy When Descriptor is Not Loaded. "Ensure you are signing for the correct multisig setup by inspecting PSBT's fingerprints if the wallet descriptor is not loaded. If the descriptor is loaded, verification is done by Krux."
  • Status Bar Shows Loaded Fingerprint. The loaded key's fingerprint is now shown in the status bar.
  • Fee Percentage of Transaction. Show the transaction's fee as a proportion of the transaction cost, warning if it is greater than 10%.
  • Sats/vB. PSBT now displays an accurate estimation of the transaction’s feerate.
  • Brightness Control for Maix Cube and M5stickV. Adjust backlight intensity for better viewing and scanning from your Cube or M5stickV.
  • Fast Forward for Buttons. Hold the NEXT or PREVIOUS buttons when navigating among letters while typing text to fast forward or backward.
  • Add Display Settings for Maix Amigo. Add more display settings for Amigo to allow different display models to work properly.
  • Faster Address Scanning and Exploring. The time to scan or display wallet addresses is now less than half compared to the previous version.
  • Sign PSBTs Without Fingerprints. "Krux will now sign PSBTs even if a fingerprint is not properly set on the coordinator. Krux will still warn the user to set it correctly or use Krux-exported public keys to set their coordinators."
  • Dice Rolls Pattern Detection. Krux warns the user if it suspects there are patterns within the actual rolls
  • Optimized SD Card Signing. "Better suited for large transactions, SD card signing is now more RAM efficient, allowing transactions with +100 inputs to be signed in less than a minute."
  • Stand Alone Verifiable Signed PSBTs. "As required in BIP174, signed PSBT QR codes and SD card files now contain all the required data to verify the signatures without needing the original, unsigned PSBT."
  • Camera Optimizations for Yahboom (ver:1.1) With GC2145 Camera. "Recent Yahboom K210 devices (ver:1.1) come with the GC2145 camera instead of the OV2640 (ver:1.0). Optimizations and features, such as anti-glare, have been added for the new camera."
  • Yahboom and Cube Devices Added to Simulator. Simulator can now run as M5stickV, Amigo, Dock, Yahboom, and Cube.
  • Files sorted in SD file explorer. The SD file explorer now sorts files in ascending order, showing directories first.
  • Receive or change address now starts with the index 0. Address explorer now shows receive and change address starting at index 0 instead of number 1.
  • Other Small Fixes and Code Optimizations. Various bugfixes, optimizations and code refactoring.

GitHub Repo