Skip to main content

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:

  1. --hotkey-file <path>;
  2. HELIX_HOTKEY_FILE;
  3. HELIX_HOTKEY_SEED: the hotkey's secret seed (0x and 64 hex digits), mnemonic or derivation, from the environment only (never a flag);
  4. 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)

Table of built distributions (wheels) for helix256.io 0.1.0
File
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 musl 1.1+ ARM64, Linux glibc 2.17+ 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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

4 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page