OpenViSTAI · Agents · Blockchain · Crypto
Menu
Wallets

Krux

Krux is open-source firmware for building air-gapped Bitcoin signing devices from components such as Kendryte K210 devices. It supports offline signing for single- and multisignature wallet transactions, with QR code or SD card transfer.

Independent OpenViST project profile, based on linked sources.

Krux — OpenViST project profile in Wallets.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Clone the Krux repository with its submodules using the command below.

    Documented command
    git clone --recurse-submodules https://github.com/selfcustody/krux
  2. From the repository, run ./krux build maixpy_amigo.

  3. Run ./krux flash maixpy_amigo to 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.
Source-based practical guide

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

  1. Clone the repository recursively with the command below.

    Documented command
    git clone --recurse-submodules https://github.com/selfcustody/krux
  2. Run the command below from the project directory to create the .venv and install the locked dependencies and dev group.

    Documented command
    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-ur source used to build uUR.
  • This is environment setup guidance, not a documented procedure for operating a signing device.
Evidence and transparency

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