Skip to main content

CLI for managing Cryptnox smart card wallets.

Project description

cryptnox-cli

CLI for managing Cryptnox Hardware Wallet smart cards



PyPI Python versions MStore Documentation status License: GPLv3

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

  1. Create or obtain a raw unsigned transaction externally.
  2. Run the signing & send command:
    cryptnox btc send <recipient_address> <amount> [-f <fees>]

BTC send transaction demo

2. Dual initialization

  1. Factory reset each card:
    cryptnox reset → enter PUK → verify reset.

  2. Initialize each card:
    cryptnox init → (optional) set name/email → set PIN (4–9 digits) → set or generate PUK → verify init.

  3. 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

  1. Run command: cryptnox change_pin
  2. Enter current PIN → enter new PIN → verify change.
  3. Check with cryptnox info using new PIN (BTC & ETH accounts displayed).

4. Get extended public key (xpub)

  1. Run command: cryptnox get_xpub
  2. Enter PIN → enter PUK
  3. 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 getpass on all platforms
  • Fixed Ctrl+C handling in confirm_pin_code and confirm_puk_code
  • Fixed thread-safety issue by pre-fetching card config before ThreadPoolExecutor
  • Fixed CodeQL py/incomplete-url-substring-sanitization finding in URL validation
  • Fixed PinBlockedException handling 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 cryptnoxpro to cryptnox_cli
    • Install using: pip install cryptnox-cli
  • 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

cryptnox_cli-1.0.4.tar.gz (129.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cryptnox_cli-1.0.4-py3-none-any.whl (158.2 kB view details)

Uploaded Python 3

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

Hashes for cryptnox_cli-1.0.4.tar.gz
Algorithm Hash digest
SHA256 468130a1b5531aa972a0c97553d700103a4760c05a782a7b1faffbf79d3045f0
MD5 0cd26b29d56c8d9eb93a78e4d86d64ad
BLAKE2b-256 407d136c9d6df088009bfffd012c90486ddb338391ebc5f7a8fc68be978468a8

See more details on using hashes here.

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

Hashes for cryptnox_cli-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2d20c1b36539b61ef5038e70abc958f4a8a041d7bc5284924e399f2e1ce39092
MD5 c8170bba5bf6e922030bac523652a0f6
BLAKE2b-256 717a23fb9bf6d3648b06c3d85fc0250fb2b9694da081b7725eba7b347214ae6b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page