Any Solana coin.
Zero fees.

An open-source trading terminal that runs on your own machine. pump.fun, LaunchLab, Meteora and Raydium coins trade direct; every other coin goes through Jupiter. Nobody takes a cut.

On a buy, Axiom takes 0.0095 SOL. You pay 0.

$ git clone https://github.com/zeroterm-sol/zeroterm
$ cd zeroterm && pnpm i && pnpm build
$ pnpm start

Drawing: one signed transaction leaves the terminal, goes to Helius Sender, your RPC and Jito at once, and lands once, in one slot, with a fee of 0. Route timings in the drawing are an example.

0:00

The real app, recorded 1 Nov 2026 UTC on the public RPC. b was pressed once, which only arms a buy, so no trade was sent.

Settings. Your RPC, your fees, your routes.

A hosted terminal decides where your trade goes and what it pays to get there. In zeroterm each of those is a line in your settings: the RPC, the priority fee, the tip and who it pays, every landing service that gets the bytes. Try it. This is the app's settings screen, running the app's own routing code.


          

Change any value. ↑ ↓ ← → and space work here, like in the app.

Runs packages/engine/src/settings.ts, the code the app runs before it signs. A service that needs a tip only gets trades that tip it, and a trade that would waste its tip is refused. This page never asks for a key: sample values stand in for yours. In the app, press , for settings and p to time each route from your machine.

One trade. From your key to the slot.

  1. You press b. Twice: once to arm, once to fire.
  2. Signed here. The key is decrypted in this process only and never leaves this machine.
  3. One transaction, every route you turned on. The same bytes go to Helius Sender, your RPC and Jito at once, over connections opened while you armed it. One signature lands once.
  4. The slot it landed in, how many slots after you sent, and each route's answer time.
  5. Fee: 0. The receipt lists every lamport the trade cost, and what Axiom would have taken.

Example timings. Your receipts show your own.

Why it is different

Keys. We can't see yours. Not won't — can't.

There is no zeroterm account and no zeroterm server, so there is nowhere for a key to go. Keys are encrypted on your disk with scrypt and AES-256-GCM and unlocked only inside the running process. Settings and API keys stay in one file on your machine, and zeroterm --hosts lists everything the app talks to.

packages/engine/src/vault.ts
with the default settings

Fee. Not low — none.

There is no fee account either. A trade moves the swap, the priority fee and tip you set, and the rent of a token account it opens. Nothing else.

packages/engine/src/tx.ts

Speed. Every trade proves it.

The blockhash is already fetched, the routes are warmed while the trade is armed, and the bytes go down all of them at once. Each receipt is read back from the chain: the slot, the slots after send, the milliseconds, and every route's answer.

packages/engine/src/receipt.ts

Open source. MIT, and it keeps shipping.

Built on pump.fun's and Meteora's official SDKs and Raydium's published interface, and short enough to read in an evening. Every change lands as a commit and a changelog line, and the roadmap lives in the repository. Fork it, change it, ship it.

zeroterm/

The math. What 1% is costing you.

a month at Axiom's 0.95%
SOL
a year
SOL
on zeroterm
0 SOL

Hosted terminals collected $55.2M in fees in the 30 days to 31 Oct 2026 — Axiom $26.4M, GMGN $12.4M, fomo $12.1M, Terminal $4.2M (DefiLlama). Axiom's base tier is 0.95% per trade; volume tiers and referral codes lower it.

Install. Three commands.

Needs Node 22 or newer and pnpm. macOS and Linux; Windows through WSL.

$ git clone https://github.com/zeroterm-sol/zeroterm
$ cd zeroterm && pnpm install && pnpm build
$ pnpm start

Step by step: your first trade. Every setting, route and key: the docs.

u
create your vault passphrase
n
new wallet, then send it SOL (or i to import)
,
settings: RPC, priority fee, tip, routes (r jumps to the RPC)
h
new coins / hot coins
↑↓⏎
pick a coin and open it
1–5
buy size; q w e sell 25 / 50 / 100%
bb
buy (press twice); ss to sell
?
every key