Colibri is a free and open source DIY project, with the goal to enable everyone with $5 and access to a laptop and Internet to create their own secure hardware wallet, using off-the-shelf hardware development boards.
The project aims to achieve this by
- using free, beginner-friendly tools and configuration options: everything can be built with Arduino IDE only
- utilizing cheap and widely available ESP32 development boards: one can get them for as little as ~$3
- building by the principle that "unhackable" hardware doesn't exist: any valuable data is encrypted to make it functionally impossible to extract instead
Version 0.1.X
is targeted to release early 2025, and will focus on getting the Colibri core ready - creating a secure hardware keystore and communication interface, and adding support for most Ethereum-compatible networks.
It's supposed to run on most common ESP32 development boards, with a intuitively designed UI and reasonable security despite the lack of a display.
Version 0.2.X
will introduce support for a wide range of display types commonly used by makers and pre-built into dev kits. This will also improve security, allowing users to verify transaction parameters, typing passwords on the device directly and recover stored mnemonics.
0.0.4 - 0.0.X
pre-alpha, public preview - see also changelog.
- build and flash the firmware with Arduino IDE (tested with ESP32-C3 & -S3)
- communicate with wallet via the BLE interface (JSON-RPC)
- use the (insecure) debug serial interface
- set a password to encrypt wallet storage
- generate truly random mnemonics and add existing ones
- store up to 30 encrypted mnemonics and switch between them
- use any HD path, and BIP32 passphrases
- sign Ethereum messages
- sign Ethereum typed data
- sign Ethereum transactions
- wallet setup and unlock via companion webapp
- use Colibri with 3rd party wallets
Check out the README in the firmware folder to learn which hardware you need to build your own Colibri device, how to build and flash the firmware, and setup and use your wallet.
0.1.x
:
- Core firmware with minimal UI for a variety of boards
- Secure keystore
- JSON-RPC core interface
- BLE interface
- Ethereum signing
- Trusted companion webapp for wallet setup
- Proof of concept 3rd-party wallet integration
0.2.x
:
- Display integration and GUI
- Show transaction data on device
- Recover seed phrase on device
- Enter password on device
- More presets for common dev-boards
- Typescript SDK
- 3rd-party wallet integrations
to be prioritized
:
- USB interface (HID)
- Bitcoin signing
- Airgapped interface (camera + QR codes)
- Python SDK
- Arduino CLI build setup
- Platform.io build setup
- ESP32 Secure Boot
We're looking for contributors and sponsors to help bootstrap Colibri and make it a viable option for everyday crypto usage. Valuable extensions to the project, once the core product is functional:
- Support for more coins and chains (e.g. Monero, Solana, Polkadot)
- 3rd party wallet integrations (e.g. MetaMask, Bitcoin HWI)
- Libraries and SDKs for builders (e.g. Typescript, Python)
- New hardware interfaces (e.g. USB support, airgap via camera/QR codes)
- Support for more advanced build environments (e.g. Platform.io, ESP-IDF, Arduino-CLI)
- Testing & QA, bugfixing and automated tests
- Support channels for builders, users and the community
- Learning materials, content of all kinds
Unless otherwise noted (e.g. in README/LICENSE files, or file headers and -comments), the contents of the Colibri monorepo are copyright © 2024-2025 by Colibri contributors, and are licensed under the AGPL 3.0 - GNU Affero General Public License.
The names "Colibri", "Colibri.diy" and "Colibri Wallet", as well as the Colibri logo are copyright © 2024 by xtools-at, and are licensed under CC-BY-NC-4.0 - Creative Commons Attribution-NonCommercial 4.0.
The Colibri firmware additionally includes the following open-source libraries:
Colibri is still under development and hasn't been peer-reviewed, or audited for security yet. Use at your own risk, and do not use your real keys (yet). The software is provided “as-is,” without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.