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.1The 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 whyNothing 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 -- --webpnpm 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 ~/.zshrcCheck what you built
pnpm test # the unit testsWith 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.cjsUpdate
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 buildYour 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.