Run a virtual Coldcard on your computer to test Bitcoin wallet features without the physical device.
Download and compile the firmware yourself to verify it matches the official release exactly.
Inspect the open-source code to audit the security of your hardware wallet.
Experiment with upcoming Bitcoin features like Taproot on the edge branch.
| maggo83/firmware | 00kaku/gallery-slider-block | 04amanrajj/netwatch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | — | JavaScript | Rust |
| Last pushed | — | 2021-05-19 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | hard | easy | moderate |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | developer | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires installing system dependencies, setting up an isolated Python environment, and compiling MicroPython from source.
This repository contains the firmware and a desktop simulator for the Coldcard, a hardware wallet designed for storing Bitcoin securely. The Coldcard is a physical device that keeps your Bitcoin private keys offline, reducing the risk of theft from online attacks. The project's code allows developers to inspect the software running on the device, verify its integrity, and run a simulated version on a personal computer for testing and development. A central feature of this project is its support for reproducible builds. This means that anyone can download the source code, compile it, and verify that the resulting software matches the official release byte for byte. This process has been automated using a tool called Docker, and the repository provides step-by-step instructions for performing this verification. If the rebuild produces a different result, the system shows the differences, allowing users to confirm exactly what software is on their hardware wallet. The code is organized into several distinct directories. A shared folder contains code common to both the simulator and the physical product. The unix directory holds a simulator for macOS and Linux systems, allowing rapid testing without the physical device. The stm32 directory contains the files needed to build the final binary for the actual hardware. There are also folders for test cases, external libraries, graphics, and the bootloader, which is factory-set code that cannot be changed by the user but can be inspected for verification. The project maintains two main branches of development. The master branch covers the latest hardware versions, known as Mk and Q. The edge branch contains experimental features that may not be ready for general release, such as Taproot or Miniscript support. This allows developers to iterate more quickly on new Bitcoin advancements. Older hardware versions, like Mk3 and earlier, are supported on a separate legacy branch. Setting up the simulator requires installing several system dependencies on macOS or Linux. The process involves creating an isolated Python environment, installing required packages, and compiling a version of MicroPython. After setup, a developer can run the simulator to interact with a virtual Coldcard on their screen. Building the actual firmware for the physical device follows a similar path, producing a file that can be loaded onto a Coldcard using a command-line tool. The full README is longer than what was shown.
Firmware and desktop simulator for Coldcard, a physical Bitcoin hardware wallet. Keeps Bitcoin keys offline and lets anyone verify the device's software by compiling it themselves.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.