Skip to main content
gen is a single static binary. Download the release for your platform from the latest GitHub release, put it on your PATH, and confirm it runs. There is no installer, no service to register, and no daemon to start. The release bundle also contains the Rust SDK and TypeScript SDK. You only need the gen binary for the CLI; the SDKs ship as a separate convenience. For the current release version and the matching RPC endpoint, see Network status.

Supported platforms

  • macOS (x86_64 and arm64)
  • Linux (x86_64 and arm64)
Windows is not supported. Run the Linux build under WSL2 if you are on Windows.

Install

Download the archive for your platform from the release page, unpack it, and move the binary onto your PATH. The exact archive name encodes the OS and architecture (for example gen-aarch64-apple-darwin.tar.gz).
tar -xzf gen-<platform>.tar.gz
mv ./gen /usr/local/bin/gen
chmod +x /usr/local/bin/gen
/usr/local/bin works on most setups; any directory already on your PATH is fine. If you prefer a per-user install, drop the binary in ~/.local/bin and make sure that directory is on your PATH.

Verify the install

Print the version to confirm the binary is on your PATH and executable:
gen --version
Then run the top-level help to see the command groups:
gen --help
You should see wallet, client, config, service, and genie listed as commands. If gen is not found, your shell has not picked up the install directory; add it to PATH and reopen the terminal.

Set up the build toolchain

If you only plan to interact with already-deployed contracts (via gen wallet, gen client, or the SDKs), the binary download above is enough. Skip this section. If you plan to write or build contracts, you need Rust plus the riscv32im-unknown-none-elf target that contracts compile to. Two options: Option A: bundled installer (recommended). The framework repo ships an install.sh that installs Rust, adds the RISC-V target, and (when Docker is reachable) builds the gen-cli:latest image used by the test-container validator mode:
curl -fsSL https://github.com/gen-bc/gen-framework-preview/releases/latest/download/install.sh | bash
Option B: manual. Install Rust via rustup.rs, then add the target:
rustup target add riscv32im-unknown-none-elf
Either path leaves you ready for Build and test a contract.

Shell completions

gen can generate completion scripts for bash, zsh, fish, elvish, and powershell. Pipe the output into the right place for your shell. For zsh:
gen --generate-shell-completions zsh > ~/.zsh/completions/_gen
For bash, source the output from your ~/.bashrc:
gen --generate-shell-completions bash > ~/.bash_completion.d/gen

Update

Updating is the same as installing: download a newer release archive, unpack, and overwrite the binary in place. No state lives inside the binary; your wallets (~/.gen/wallets/) and CLI config (~/.gen/client_config.yml) survive the swap. To downgrade, install an older release the same way. Wallet store format is forward compatible within a release line; if a release changes the format, the changelog calls it out.

What’s next

  • CLI configuration: point the CLI at an RPC endpoint and persist auth headers.
  • Quickstart: install, create a wallet, fund it, send a transfer in five minutes.
  • gen wallet: create or import your first wallet.