Practical overview
When it fits
Use Krux when you want to assemble a Bitcoin signer from components and are prepared to follow device-specific installation and operating instructions.
Who it is for
- Bitcoin users seeking to build an offline signing device from hardware components.
- Developers who want to build or contribute to Bitcoin signer firmware.
Documented uses
- Create a Bitcoin signing device using Krux firmware.
- Handle single- or multisignature wallet transactions with offline signing via QR code or SD card.
- Build and flash firmware for a documented target such as Maix Amigo.
Requirements & limits
- The project describes QR code and SD card as offline signing transfer methods.
- Krux-Installer is the project’s suggested route for people who want to flash firmware without using the command line.
- The developer script’s documented host options are Linux and WSL, with Docker, openssl and wget prerequisites.
- The README describes Krux as a research and development project and states that it has not been formally audited by a third party.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Build and flash Krux for a Maix Amigo
Use the repository’s documented Linux or WSL script to build firmware for Maix Amigo and flash it to that device.
Before you start
- A Linux host or Windows Subsystem for Linux (WSL).
- Docker Desktop or Docker Engine, openssl and wget.
Steps
Clone the Krux repository with its submodules using the command below.
git clone --recurse-submodules https://github.com/selfcustody/kruxFrom the repository, run
./krux build maixpy_amigo.Run
./krux flash maixpy_amigoto flash the firmware to Maix Amigo.
Expected outcome
The documented build produces a `build` folder containing `firmware.bin` and `kboot.kfpkg` when successful; the README then provides a flash command for Maix Amigo.
Guide limitations
- The repository says the first build can take around an hour.
- The command-line workflow’s stated prerequisites are for Linux or WSL; the README points users unfamiliar with the command line to Krux-Installer.
Set up the Krux development environment
Fetch the project and dependencies, then use uv to create the documented development environment.
Before you start
- Git and uv.
- A C compiler and Python development headers for the uUR C extension.
Steps
Clone the repository recursively with the command below.
git clone --recurse-submodules https://github.com/selfcustody/kruxRun the command below from the project directory to create the
.venvand install the locked dependencies and dev group.uv sync --frozen
Expected outcome
The project’s README says this creates a `.venv` and installs versions pinned by `uv.lock`, including runtime dependencies and development tools.
Guide limitations
- The recursive submodule checkout is needed for the nested
bc-ursource used to build uUR. - This is environment setup guidance, not a documented procedure for operating a signing device.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- selfcustody/krux · Official homepage title · retained in its source language

