OUTRIDER docs
v1.0.0
Live demo Get help
● Start · Step by step

Installation
from zip to a running desk.

Install the dependencies, run the tests, ask the doctor what it can see, and start the desk. Plan about 10 minutes.

01Unzip and install

  1. UnzipUse a path without spaces, for example ~/outrider. Open a terminal in that folder.
  2. Check Node.js
    node --version   # v22 or higher
  3. Install the dependenciesRequired This installs hono, @hono/node-server, better-sqlite3 and tsx, plus the optional Anthropic SDK.
    npm install
  4. Run the testsThe whole suite runs offline in about half a minute. On the release build: 425 tests, 424 pass, 1 is marked to-do, 0 fail.
    npm test

02Ask the doctor first

Before you trust the desk, check that it can see every data source from your machine:

node src/cli.mjs doctor

Every line is one check: ✅ works, ❌ failed (with what it breaks), · optional and not set up. At the end it lists config warnings, such as placeholder wallets or an empty Telegram channel list. It exits with an error only when a required check fails.

✅ Hyperliquid info               967 ms  SOL $…
✅ Solana RPC                     531 ms  slot …
✅ pump.fun stream (WS)          1144 ms  20+ pump.fun log messages — stream healthy
·  TypeSafe Jev                     0 ms  TYPESAFE_API_KEY not set  → Jev is optional — the desk runs without it
⚠ pump.wsUrl is the public endpoint — it drops heavy streams; get a free Helius/QuickNode WS

A failed Polymarket check only affects the Polymarket books. A failed HL leaderboard check only affects leaders and the liquidation map. See Troubleshooting.

03Create your config.json

cp config.example.json config.json

Then open config.json and fix the two placeholders:

  • telegram.channels: replace example_calls_channel with public channel names you trust (bare names, no @ and no URL), or make it an empty list [].
  • whales.wallets: replace PASTE_A_SOLANA_WALLET_YOU_FOLLOW with Solana addresses you follow, or make it an empty list [] (the default is empty). A placeholder left in makes the WHALE agent fail on every poll.

Everything else can stay as it is. All keys are explained in Configuration.

04First start

npm start   # the desk + dashboard + console; Ctrl+C to stop

The terminal prints three things you need:

  1. A one-time setup codeIn a block that starts with [admin] No owner account yet. It is shown once, only there.
  2. The dashboard addressDashboard http://127.0.0.1:8790/ · admin console http://127.0.0.1:8790/admin
  3. One line per cycleEquity, open positions, news, candidates and pump.fun events, every 20 seconds.

Open http://127.0.0.1:8790/admin and create the owner account with the setup code (steps). After that, the dashboard asks you to sign in.

Stopping

Press Ctrl+C once. The desk finishes the current cycle, saves its state and closes its connections. Press it a second time only if it hangs.

05Other ways to run it

CommandWhat it does
npm startThe full desk: every agent, the dashboard on port 8790 and the console at /admin.
npm run dashDashboard and console only. It reads data/ and trades nothing. Useful on a second machine, or to look at a replay (DASH_DATA=<dir> npm run dash).
npm run onceOne desk cycle, then exit.
npm run reportPnL, win rate and whether the edge survives without the luckiest trades.
DASH=0 npm startThe desk without dashboard and console (for example on a headless box where you only want Telegram).
Use the npm scripts

The console is TypeScript and needs the tsx loader, which the npm scripts add. Plain node src/cli.mjs run starts the desk but prints Admin console off. The other commands (doctor, liq, wallets, replay …) run fine with plain node.

06All commands

node src/cli.mjs help
usage: desk doctor | run | dash | scan | once | report | verify | wallets [N] | holdings | gecko [MINUTES] | fomo [N] | calls [add …] | collect [HOURS] | liq [COINS] [--wallets N] | fit | news | leaders | record | replay | sweep | funding-backtest | trend-backtest | leverage | leverage-backtest [DAYS] [COINS] | jev-report | evolve [COIN] [INTERVAL] [DAYS] [SEED]

Each command is explained on the page it belongs to: wallets and collectors, liq, backtests and leverage, record, replay, sweep, fit, evolve, calls, verify. scan <address> [solana|bsc|base|ethereum] prints a fail-closed token security report (GoPlus, plus honeypot.is for EVM tokens). news prints what the news agent sees right now.