helix
helix is the command line of Helix for orchestrators (Bittensor subnet
105 miners). It does what the web app does: register your hotkey, browse the catalog of worker
pools, rent and pay for pools, list and inspect rentals, extend and cancel them. Its commands,
flags and look follow btcli, and it reads btcli's wallets and config.
It runs on macOS 11 or later and on Linux (any distribution), on x86-64 and arm64.
Install
With Python, in a virtual environment (where you run btcli, for instance):
pip install helix256.io
helix --version
Or as a standalone tool, outside any environment:
pipx install helix256.io
# or
uv tool install helix256.io
Debian 12+ and Ubuntu 23.04+ refuse pip install into the system Python
(externally-managed-environment): use a virtual environment, pipx or uv tool instead.
Without Python:
curl -fsSL https://cdn.helix256.io/install.sh | sh
The script installs helix into ~/.local/bin, without sudo, after checking its SHA-256.
HELIX_VERSION=X.Y.Z installs a given version, HELIX_INSTALL_DIR=<dir> another directory.
The archives are also at https://cdn.helix256.io/cli/vX.Y.Z/, with a SHA256SUMS file.
The package holds the compiled helix binary only: it installs no Python module, and Python
plays no part once it is installed.
Name clash. The Helix text editor is packaged on Arch Linux (pacman -S helix) with a binary
also called helix (other distributions name it hx). If you use it, put this CLI earlier on
your PATH, or install it under another name, such as helix-cli.
Quick start
helix config set --wallet-name miner --hotkey default # or rely on btcli's config
helix account register # once per hotkey
helix pools list --available now
helix pools show --pool pool_abc123
helix account card add # once: save a card on a Stripe page
helix rentals create --pool pool_abc123 --periods 3 # summary, [y/n], then the card is charged
helix rentals list
helix rentals show --rental rnt_abc123
Commands
| Command | Aliases | What it does |
|---|---|---|
helix config set | get | clear |
c, conf |
Write, show or clear ~/.helix/config.yml. |
helix account register | show |
a |
Register your hotkey as an orchestrator (as a first sign-in on the web does), or show the account and its saved card. |
helix account card add | show | remove |
a |
Save the card rentals are charged to (on a Stripe page), show it, or remove it. |
helix pools list | show |
p, pool |
Browse the public catalog: --search, --kind, --region, --available, --cpu, --memory, --sort, --limit, --offset; show --pool. |
helix rentals list | show |
r, rental |
Rentals covering now (--all: every rental); one rental with its workers (while active) and usage. |
helix rentals create | pay | extend | cancel |
r, rental |
Rent a pool, pay a reserved rental, extend a running one, cancel an unpaid one. |
Identifiers are flags, as in btcli: --pool, --rental, --periods. A missing one is asked
for; with --no-prompt it is an error. helix <command> --help shows every option and
examples.
Paying
rentals create (unless --no-pay), rentals extend (unless --no-pay) and rentals pay pay
the rental with the card saved on Helix (helix account card add, or Manage on the web) once
you confirm, or on a Stripe Checkout page without one (or with --checkout). When the bank asks
for 3-D Secure, or for Checkout, the CLI prints the page, opens it when there is a browser, and
waits for the confirmation (--timeout, 35 minutes by default). A declined card shows Stripe's
reason and offers Checkout.
Ctrl-C stops waiting, not the rental: it stays reserved until its payment window closes, and
helix rentals pay --rental <id> resumes.
Global options
| Option | Aliases | |
|---|---|---|
--wallet-name |
--name, --wallet_name, --wallet.name |
Wallet name. |
--wallet-path, -p |
--wallet_path, --wallet.path |
Wallets directory. |
--hotkey, -H |
--wallet-hotkey, --wallet_hotkey, --wallet.hotkey |
Hotkey name in the wallet. |
--hotkey-file |
A btcli hotkey file, instead of a wallet's. | |
--network |
staging, local, or an API URL. |
|
--no-prompt, -y |
--yes, --no_prompt |
Confirm every prompt; fail on a missing value. |
--quiet / --verbose |
Less, or more, on the console. | |
--json-output |
--json-out, --json |
The result as JSON on stdout, nothing else there. |
Which hotkey signs
The first match wins:
--hotkey-file <path>;HELIX_HOTKEY_FILE;HELIX_HOTKEY_SEED: the hotkey's secret seed (0xand 64 hex digits), mnemonic or derivation, from the environment only (never a flag);- the wallet: each of its name, path and hotkey from the flags, else
~/.helix/config.yml, else btcli's~/.bittensor/config.yml, else btcli's defaults:~/.bittensor/wallets,default,default.
Password-protected (encrypted) hotkey files are not supported yet: give the seed in
HELIX_HOTKEY_SEED instead. The catalog commands (pools) need no hotkey.
Exit codes
0 success, 1 error, 2 usage (a bad or missing flag), 3 authentication (unknown hotkey,
disabled orchestrator), 4 not found, 5 conflict (pool unavailable, rental not running...),
6 card declined and Checkout not chosen (the rental stays reserved), 130 interrupted.
Metadata
Release files for helix256.io 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| helix256_io-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64, Linux musl 1.1+ x86-64 | Details |
| helix256_io-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64, Linux musl 1.1+ ARM64 | Details |
| helix256_io-0.1.0-py3-none-macosx_11_0_x86_64.whl | Python 3 | none | macOS 11.0+ x86-64 | Details |
| helix256_io-0.1.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 17.3 MB
Release files / helix256_io-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
| Download URL | helix256_io-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl |
|---|---|
| Size | 4.4 MB |
| Tags | Linux glibc 2.17+ x86-64 Linux musl 1.1+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
3d15173b25eb5674e9a4298a07b6be3452318c99e448e5064b4bf242cc3a818e
|
|
BLAKE2b-256 checksum How to use checksums |
25dda05fa5b3beff6bf87028fb562d1058ce0c009bc4087ec89fa0761894d22c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / helix256_io-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
| Download URL | helix256_io-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | Linux glibc 2.17+ ARM64 Linux musl 1.1+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
f73d358d2a21e32dbb73a1265af4a60d9b7256ed72e8ccc88cd691c1a7e26417
|
|
BLAKE2b-256 checksum How to use checksums |
c0ed87deb80e05bae6f3f83bd18f5a561a72a264b18498ea3baf2409c349b869
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / helix256_io-0.1.0-py3-none-macosx_11_0_x86_64.whl
| Download URL | helix256_io-0.1.0-py3-none-macosx_11_0_x86_64.whl |
|---|---|
| Size | 4.5 MB |
| Tags | Python 3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
9de2ffabf48be1ba600eadff24cf1edc66146512cc5c148973a3d82c2d745590
|
|
BLAKE2b-256 checksum How to use checksums |
89ac1242061f5e384bea46cf2b00e36101614eed86f6902a961014ac56fe8a5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / helix256_io-0.1.0-py3-none-macosx_11_0_arm64.whl
| Download URL | helix256_io-0.1.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8afc387562507ae0a1df61806deb05053d0d86f24fa8a61715110a7b46e0a029
|
|
BLAKE2b-256 checksum How to use checksums |
9366d53557cb94b03fa933bc6a1347f37c42b7ab153e491ff7b1c1693fe9b1c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Security for helix256.io 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.