DocsInstall

Start

Install

One command with npx on macOS or Linux, and Windows through WSL. Or build it from source, so you run exactly the code you read.

What you need

  • Node.js 22 or newer. Check with node --version.
  • A terminal with UTF-8 and a font that has box-drawing characters, which every modern terminal font does. At 120 columns or wider, the new-coin list, the coin and the order card sit side by side; narrower, p switches between them.
  • macOS or Linux. On Windows, run it inside WSL.

Run it

npx zeroterm            # the full-screen terminal
npx zeroterm --web      # the same terminal in your browser, on 127.0.0.1

The npm package zeroterm is one bundled file with no dependencies, so installing it runs no install scripts. It is built from this repository by scripts/npm-pack.mjs, and lists every package it bundles, with its license, in THIRD_PARTY_LICENSES.md.

To have the zeroterm command everywhere, install it once:

npm install -g zeroterm
zeroterm --hosts        # every host it talks to with your settings, and why

Nothing is written to disk until you create a vault or change a setting. From then on, everything zeroterm keeps is in ~/.zeroterm/. See Reference for what each file holds.

From source

Building it yourself needs pnpm 10 (npm install -g pnpm@10) and git as well.

git clone https://github.com/zeroterm-sol/zeroterm
cd zeroterm
pnpm install
pnpm build
pnpm start              # or: pnpm start -- --web

pnpm install runs no dependency's install script. pnpm 10 skips them, and package.json names the four it skips (bigint-buffer, bufferutil, esbuild, utf-8-validate); zeroterm builds and runs without them. Every dependency is pinned to an exact version in pnpm-lock.yaml.

Run it as zeroterm

From inside the zeroterm folder, add an alias to your shell's startup file:

echo "alias zeroterm='node $PWD/apps/cli/dist/main.js'" >> ~/.zshrc   # bash: ~/.bashrc
source ~/.zshrc

Check what you built

pnpm test           # the unit tests

With your own RPC, one more check builds real buys and sells for live coins on every venue and simulates them on mainnet. It compares each quote with what the chain would hand over, and it signs nothing and sends nothing:

ZEROTERM_RPC_URL=https://your-rpc node packages/engine/devtools/verify-mainnet.cjs

Update

npx zeroterm runs the newest version. If you installed it with npm install -g, run npm install -g zeroterm again. From source:

git pull
pnpm install
pnpm build

Your vault, settings and receipts in ~/.zeroterm/ are not touched. CHANGELOG.md lists what changed.

Uninstall

npm uninstall -g zeroterm if you installed it globally, or delete the zeroterm folder (and the alias) if you built it.

~/.zeroterm/ holds your vault. Before you delete it, empty every wallet in it: W then s sends the SOL anywhere, and W then k shows a wallet's key so you can import it elsewhere. See Wallets.

↑ ↓ to move · ⏎ to open