Use
Settings
Everything a hosted terminal decides for you is a setting here. The defaults work without any account; every row, its default and what it changes.
Press , to open settings, or r to land on your RPC URL. A change is saved the moment you make it, to ~/.zeroterm/config.json (readable only by you, mode 600), and nowhere else. The keys for moving around are on the Keyboard page.
Next to the list, the settings screen shows what your settings add up to:
- A trade goes to: for the speed you are on, every route that gets the trade (●), every route that does not and why (○), and any setting that would stop the trade (✕).
- One trade costs: priority fee + tip + the 0.000005 SOL network fee, plus the venue's fee. zeroterm's is 0.
- Route check (p): how long each route takes to answer from your machine. Nothing is sent.
- Hosts: every host zeroterm talks to with these settings, the same list
zeroterm --hostsprints.
Connection
| Setting | Default | What it does |
|---|---|---|
| RPC | https://api.mainnet-beta.solana.com | Reads, quotes, and one copy of every trade. Your own RPC is the biggest speed upgrade, and it turns on the LaunchLab and Meteora new-coin feed. |
| websocket | your RPC's URL with ws in place of http | Live prices and the tape. Set it when your provider serves websockets on a different host. |
| extra RPCs | none | Each one gets the same signed bytes on every trade: a staked endpoint, or a second provider. One signature lands only once, so copies never fill twice. |
Routes
| Setting | Default | What it does |
|---|---|---|
| Helius Sender | on, no key | Sends to Jito and staked validators at once. It takes only trades that tip it. An API key is optional and raises the rate limit to your plan's. |
| Sender endpoint | global | global routes to the nearest region. A fixed region near you (slc, ewr, lon, fra, ams, sg, tyo) skips a hop. |
| Jito block engines | ny frankfurt tokyo | Used when a speed tips Jito or sends to it directly. Pick from ny slc amsterdam frankfurt london dublin tokyo singapore. |
| Jito UUID | none | Optional. A UUID from Jito raises its rate limit. |
| Nozomi (Temporal) | off | Takes trades that tip it 0.001 SOL or more. Needs an API key from Temporal. |
| Nozomi region | auto | auto routes through Cloudflare to the nearest; or pit, ewr, ash, lax, fra, ams, lon, tyo, sgp. |
| your own routes | none | Any endpoint that takes JSON-RPC sendTransaction: bloXroute, 0slot, Astralane, your own node. You give it a name, the URL, and, if it wants a tip, its tip accounts and minimum tip from its own docs. |
Speed
Three columns, one per speed. ← → or e f t pick a column; t on the main screen switches speed while you trade.
| Row | eco | fast | turbo | What it is |
|---|---|---|---|---|
| priority fee | 0.0000055 | 0.000022 | 0.00011 | SOL per trade, paid to the validator. |
| tip | 0.000005 | 0.001 | 0.003 | SOL per trade, paid to the route below. Landing services rank by it. |
| tip pays | Helius Sender | Helius Sender | Helius Sender | Who gets the tip: Helius Sender, Jito, Nozomi, one of your own routes, or nobody. |
| Sender lane | SWQoS only | all | all | SWQoS only: a 0.000005 SOL tip floor and no Jito auction. All: Jito's auction too, with a 0.001 SOL floor. |
| also to Jito | no | no | yes | Also send the same bytes straight to the Jito engines above. Untipped, Jito forwards them as a plain transaction. |
| start on | ✓ | The speed zeroterm opens on. |
The priority fee is set in SOL per trade rather than as a compute-unit price: zeroterm divides it by the trade's compute limit. When you switch a speed's tip to a route with a higher minimum, the tip is raised to that minimum and the screen says so. Speed and routes explains what each choice does to a trade.
Trade
| Setting | Default | What it does |
|---|---|---|
| other coins | on, no key | Coins not on pump.fun, LaunchLab, Meteora DBC or DAMM v2, or Raydium CPMM go through Jupiter's router, with no Jupiter fee. Off: those coins are refused. A free API key from portal.jup.ag doubles the rate. |
| slippage | 15% | How far the price may move before the trade fails instead of filling. [ ] change it per trade. |
| anti-sandwich | on | Lists Jito's jitodontfront account on the tip, so Jito-connected leaders will not bundle your trade behind someone else's. |
| buy sizes | 0.05 · 0.1 · 0.25 · 0.5 · 1 | Up to five SOL amounts, on keys 1 to 5. |
| sell sizes | 25 · 50 · 100 | Three percents of what you hold, on keys q w e. |
| receipts compare with | Axiom | The terminal each receipt prices your trade against, at its base tier: Axiom, GMGN, Photon, BullX or Trojan. |
The config file
~/.zeroterm/config.json is plain JSON and safe to read. A trimmed example:
{
"rpcUrl": "https://your-rpc.example/?api-key=…",
"broadcastRpcs": [],
"sender": { "enabled": true, "url": "https://sender.helius-rpc.com/fast", "apiKey": null },
"jito": { "regions": ["ny", "frankfurt", "tokyo"], "uuid": null },
"speed": {
"fast": { "priorityLamports": 22000, "tipLamports": 1000000, "tipRoute": "sender", "swqosOnly": false, "jitoDirect": false }
},
"defaultSpeed": "fast",
"slippageBps": 1500,
"antiSandwich": true
}Amounts are in lamports (1 SOL = 1,000,000,000 lamports) and slippage in basis points (1500 = 15%). The file holds your RPC URL and any API keys you entered, in plain text, so treat it like a password file. zeroterm's screens only ever show those values redacted.
Environment overrides
These apply for one run and are never written to the config file:
| Variable | Sets |
|---|---|
ZEROTERM_RPC_URL | the RPC |
ZEROTERM_WS_URL | the websocket |
ZEROTERM_JUPITER_API_KEY | the Jupiter API key |
ZEROTERM_HOME | where zeroterm keeps its files (default ~/.zeroterm) |
ZEROTERM_RPC_URL=https://your-rpc ZEROTERM_WS_URL=wss://your-rpc npx zeroterm