CLI for managing Cryptnox smart card wallets.
Project description
cryptnox-cli
CLI for managing Cryptnox Hardware Wallet smart cards
cryptnox-cli is a command-line interface for managing Cryptnox Hardware Wallet smart cards, enabling secure seed initialization and cryptographic signing for Bitcoin and Ethereum.
Supported hardware
Cryptnox Hardware Wallet smart cards
Works with Cryptnox Hardware Wallet smart cards running firmware v1.6.0 or later.
| Smart card | Wallet version |
|---|---|
| Crypto Hardware Wallet – Dual Card Set | v1.6.1 |
Smart card readers
Works with Cryptnox readers and any other standard PC/SC smart card reader:
| Reader | Type | Interface |
|---|---|---|
| Cryptnox® Smartcard Reader | Contact (ID-1 + SIM) | USB-A |
| Compact USB Mini Smartcard Reader | Contact (ID-1) | USB-A |
| Cryptnox NFC Contactless Reader | Contactless (NFC/ISO 14443) | USB-C |
Installation
[!IMPORTANT] This is only a minimal setup. Additional packages may be required depending on your operating system. See Installation and requirements.
From PyPI
pip install cryptnox-cli
From MStore
mstore install cryptnox-cli
Visit the MStore page to install cryptnox-cli via the graphical user interface.
From source
git clone https://github.com/cryptnox/cryptnox-cli.git
cd cryptnox-cli
pip install .
This installs the package and makes the cryptnox command available (if your Python installation is in your system PATH).
Quick usage examples
[!TIP] The examples below are only a subset of available commands. The complete list of commands and detailed usage instructions is described in the official documentation.
1. Sign and send a Bitcoin transaction
- Create or obtain a raw unsigned transaction externally.
- Run the signing & send command:
cryptnox btc send <recipient_address> <amount> [-f <fees>]
2. Dual initialization
-
Factory reset each card:
cryptnox reset→ enter PUK → verify reset. -
Initialize each card:
cryptnox init→ (optional) set name/email → set PIN (4–9 digits) → set or generate PUK → verify init. -
Run dual seed procedure:
cryptnox seed dual— follow prompts: insert Card A (enter PIN), swap to Card B (enter PIN), swap back as requested.
3. Change PIN code
- Run command:
cryptnox change_pin - Enter current PIN → enter new PIN → verify change.
- Check with
cryptnox infousing new PIN (BTC & ETH accounts displayed).
4. Get extended public key (xpub)
- Run command:
cryptnox get_xpub - Enter PIN → enter PUK
- The card returns the xpub
Documentation
The full User & Developer documentation is available at the Cryptnox CLI Documentation. It covers installation and setup, usage guides and examples, CLI command reference, and developer notes with API details.
License
cryptnox-cli is dual-licensed:
- LGPL-3.0 for open-source projects and proprietary projects that comply with LGPL requirements
- Commercial license for projects that require a proprietary license without LGPL obligations (see COMMERCIAL.md for details)
For commercial inquiries, contact: contact@cryptnox.com
========= Changelog
1.0.4 <https://github.com/Cryptnox-Software/cryptnox-cli/compare/ver1.0.3...ver1.0.4>_
Added ^^^^^
- Bitcoin (BTC) send transaction support with SegWit/bech32 address support
- Bitcoin testnet4 support for development and testing
- QuickNode integration via Blockbook UTXOs for UTXO fetching, with JSON-RPC for fee estimation and broadcast
- Parallel network queries for faster Bitcoin balance and UTXO lookups
- XRP and BNB address display in card info
- Manufacturer certificate retrieval command
- Power cycle prompt with automatic card reconnection when required
- Double confirmation when changing PIN or PUK to prevent accidental changes
- Ctrl+C cancellation support in PIN/PUK input prompts
- CodeQL, Semgrep, and OSV security scanning workflows in CI/CD
Changed ^^^^^^^
- Updated cryptnox-sdk-py to 1.0.4
- Added Python 3.14 support
- Mainnet set as the default network configuration
- Improved PIN/PUK input UX on Windows (simplified getpass, removed polling loop)
- Improved verify PIN flow: warns instead of blocking when PUK change is attempted with PIN locked
- Card info command now performs network queries in parallel for improved performance
- Updated dependencies to address security vulnerabilities (Dependabot)
Fixed ^^^^^
- Restored Ctrl+C handling in
getpasson all platforms - Fixed Ctrl+C handling in
confirm_pin_codeandconfirm_puk_code - Fixed thread-safety issue by pre-fetching card config before
ThreadPoolExecutor - Fixed CodeQL
py/incomplete-url-substring-sanitizationfinding in URL validation - Fixed
PinBlockedExceptionhandling and propagation
Removed ^^^^^^^
- Removed AWS backup and seed backup features (
backup.py,seed_backup.py,download_folder.py)
1.0.3 <https://github.com/Cryptnox-Software/cryptnox-cli/compare/v1.0.2...v1.0.3>_
Added ^^^^^
- Added Cryptnox logo to documentation
- Added Other/Proprietary License option
Changed ^^^^^^^
- Updated cryptnox-sdk-py to 1.0.2
- Updated other dependencies to latest versions
- Modified documentation UI, colors, and layout
- Updated documentation license information
1.0.2 <https://github.com/Cryptnox-Software/cryptnox-cli/compare/v1.0.1...v1.0.2>_
Changed ^^^^^^^
- Updated README file with improved documentation
- Modified commercial license details
1.0.1 <https://github.com/Cryptnox-Software/cryptnox-cli/compare/v2.9.1...ver1.0.1>_
Added ^^^^^
- Package renamed from
cryptnoxprotocryptnox_cli- Install using:
pip install cryptnox-cli
- Install using:
- BIP39 passphrase support for seed generation and recovery
- BIP39 passphrase length limitation and validation
- Sphinx documentation framework for comprehensive CLI documentation
- GitHub Actions workflows for automated documentation deployment
- Constants file for centralized configuration management
- Flake8 code quality checks in CI/CD workflow
Changed ^^^^^^^
- Updated README with improved documentation and examples
- Modified documentation configuration and deployment process
- Reconfigured documentation deployment workflow
- Updated setup configuration (setup.cfg) for better package management
- Improved code organization with constants file
Fixed ^^^^^
- Resolved runtime import errors
- Fixed flake8 code style errors throughout the codebase
- Fixed PUK retries persistence issue
Removed ^^^^^^^
- Removed cleos dependency
- Removed Ropsten testnet support (deprecated network)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cryptnox_cli-1.0.4.tar.gz.
File metadata
- Download URL: cryptnox_cli-1.0.4.tar.gz
- Upload date:
- Size: 129.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
468130a1b5531aa972a0c97553d700103a4760c05a782a7b1faffbf79d3045f0
|
|
| MD5 |
0cd26b29d56c8d9eb93a78e4d86d64ad
|
|
| BLAKE2b-256 |
407d136c9d6df088009bfffd012c90486ddb338391ebc5f7a8fc68be978468a8
|
File details
Details for the file cryptnox_cli-1.0.4-py3-none-any.whl.
File metadata
- Download URL: cryptnox_cli-1.0.4-py3-none-any.whl
- Upload date:
- Size: 158.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d20c1b36539b61ef5038e70abc958f4a8a041d7bc5284924e399f2e1ce39092
|
|
| MD5 |
c8170bba5bf6e922030bac523652a0f6
|
|
| BLAKE2b-256 |
717a23fb9bf6d3648b06c3d85fc0250fb2b9694da081b7725eba7b347214ae6b
|