OUTRIDER docs
v1.1.0
Live demo Get help
● Reference · Versions

Changelog
what changed, when.

Every release, newest first. Read the entry for your target version before you update.

011.1.0

Current 1.1.0 · a focused memecoin research desk, a modular dashboard and a stricter code base. Settings and data from 1.0.0 keep working; the perps, Polymarket and Jev books now need modules switched on (see Upgrading from 1.0.0).

Scope

  • Optional modules, off by default. config.json → modules: { perps, polymarket, jev }. A module that is off does not run its agents, and its dashboard sections, figures, strategy rows, research tabs, ledger rows and console settings are hidden. The CLI lists its commands separately (Optional modules).
    • perps: trend, HL copy, funding carry, cross-venue funding, HIP-3 basis, news perps, order flow.
    • polymarket: Polymarket Up/Down and liquidity-rewards market making.
    • jev: the TypeSafe Jev forecaster.
  • The dashboard shows the memecoin core in seven sections: Overview, Positions, Pump, Intel, Liquidations, Research, Ledger.
  • Telegram channel mentions are opt-in (telegram.readChannels, off by default). doctor warns when channels are listed but reading is off, or reading is on with no channels (Telegram channel mentions).

Dashboard

  • The page is split into static/app.css and ES modules per pane under src/web/static/js. The Content-Security-Policy allows scripts and styles from 'self' only (no hashes, no 'unsafe-inline'). Every line is 120 characters or less.
  • The static demo shows "Snapshot · <date>" instead of a live-connection state and never polls.
  • The demo exporter allows the Envato Live Preview (https://preview.codecanyon.net) to frame the demo.
  • Accessibility: table roles on every grid, keyboard-reachable wallet rows (Enter or Space opens a profile), aria-pressed on segmented buttons, aria-current on section links, a polite live region for the connection status, labelled control groups, search field and dialog, and focus rings that panes never clip.
  • On narrow phones, header chips ellipsize and an odd figure in the top strip takes the full row.
  • The status bar shows the release version.

Build and run

  • Production runs plain JavaScript with node: npm start, npm run dash, the Dockerfile and the PM2 file no longer load a TypeScript loader, and tsx is gone from the dependencies.
  • npm run build compiles the operator console (src/admin and the Admin Kit) with tsc to dist/. The Dockerfile builds it in its first stage; npm test builds it before the tests. npm run typecheck checks the types.
  • Admin Kit 0.6.0: creating the first console owner needs ADMIN_SETUP_TOKEN from the environment (24 characters or more), or, when it is not set, a one-time setup code printed to the server log. Nobody can create an owner without one of them (Create the owner).
  • The console shows only what the desk reads: Brand has the name, accent colour and logo; there is no Legal or Access section and no alert e-mail field; there is no Revenue screen, because the desk has no money module. The console bundle in packages/admin-kit/ui ships readable (not minified). A viewer opening Team is told the role cannot open the list; the console no longer requests it.
  • doctor no longer warns about features that are off on a default install (Telegram channel reading, the perps module's Hyperliquid leaders) and does not probe the sources of modules that are off (Polymarket, TypeSafe Jev); an empty whales.wallets is a note, not a warning.
  • Admin Kit 0.5.0 (included in 0.6.0): compiled dist/ build, the console source with its lockfile in packages/admin-kit/ui-src, and an owner recovery module. The console's CSP has no 'unsafe-inline': styles come from 'self' plus a per-response nonce.
  • Settings of optional modules that are off are not locked from the environment (no start-up warnings for them).
  • TRUST_PROXY_HOPS: behind Caddy or nginx the console's sign-in limits count each visitor by the address the proxy saw (the right-most X-Forwarded-For entry), not by the proxy's own address (Deployment).

Code quality

  • ESLint (flat config) and Prettier (120 columns) on the desk's own JavaScript (src/, scripts/, test/); the bundled Admin Kit is type-checked and compiled with tsc: npm run lint, npm run format, and npm run check for lint, format check and tests (developer tools).
  • No empty catch blocks in the desk's own code: each one handles the error or states why it is safe to ignore. The research backtest logs a coin whose candles are unavailable.
  • Comments describe what the code does in the present tense. References to other projects' source code were removed.
  • Tests are grouped by module and behaviour (desk.cycle, desk.fault-injection, server.security, modules, demo.export, dashboard.a11y …). 482 tests, all offline.
  • The pump.fun recorder's close() resolves once its buffered lines are written, and shutdown waits for it (at most 3 s). Tests that wait for the console or the recorder wait for the event itself, not for a fixed time.
  • docs/DEVELOPMENT.md describes the architecture, the dashboard conventions and the test layout.

02Upgrading from 1.0.0

The commands below are for a macOS or Linux terminal; on Windows run them in WSL or Git Bash.

  1. Back upStop the desk and copy data/ and config.json (what to back up).
  2. Replace the filesCopy the new version over the old folder, keeping data/, config.json and .env. If you changed the source, merge your branch instead (what usually changes).
  3. Install and build
    npm ci && npm run build
    Then start as before. PM2: npm run build, then pm2 reload outrider. Docker: docker compose up -d --build.
  4. Switch on the modules you usedIf you ran the trend, HL copy, carry, cross-venue, basis or news-perps books, add "modules": { "perps": true } to config.json. Add "polymarket": true for Polymarket and PolyMM, and "jev": true for Jev.
  5. Telegram channelsIf you listed Telegram channels, add "telegram": { "readChannels": true } (read this first).
Rebranded the dashboard?

In 1.1.0 the dashboard's styles moved to src/web/static/app.css and the favicon to src/web/static/favicon-64.png. Carry your colour and icon changes over to those files (Rebranding).

031.0.0

1.0.0 · first release of OUTRIDER by MIKODES.

Included

  • AI analyst: a Claude briefing every few hours from the desk's own data (market read, risks, a stance per book, watch list) in the dashboard and on Telegram /brief; advice only.
  • Live trading (mode: "live"): pump.fun buys and sells in every lane, signed locally, and the trend and HL copy books on Hyperliquid through an API wallet; per-trade and exposure caps, a fee reserve, a dry run that signs and simulates, a kill switch after repeated failures, fills read back from the chain or the exchange; console Live trading section and encrypted trading keys; LIVE / DRY RUN on the dashboard and a Live ledger tab.
  • Paper-trading memecoin desk: real-time pump.fun stream with exact bonding-curve fills, DEX candidates with RugCheck and fail-closed GoPlus checks, the core EV gate with fractional Kelly sizing, limits, protections and a tiered hard stop.
  • Four extra memecoin lanes (moonshot, graduation, revival, smart) with their own tickets, limits, exits and report lines; exit-quality grades after every pump.fun close.
  • Wallet book with bot, sniper, dust, creator and listed-insider flags; smart-wallet list with an out-of-sample test; candidate sources (wallets import|pull|sources), GeckoTerminal sweeps (gecko), the FOMO leaderboard (fomo) and unattended collection (collect).
  • Real Hyperliquid liquidation map (liq) with a separate modelled layer, background refresh and Telegram magnet and cascade alerts.
  • Trend following with leverage profiles and backtests, news-reaction perps, Hyperliquid copy, funding carry, cross-venue funding, HIP-3 basis, Polymarket and Polymarket market making, the Jev measurement harness and the capital allocator.
  • Research & analytics: research runs every backtest and wallet measurement in one pass; the dashboard's Research pane draws trend curves against BTC, per-year returns, the liquidation-strategy test against random entries, the wallet book, a scorecard for every wallet source, the FOMO traders, the lane replay, searchable wallets in profit with a profile per wallet (PnL curve, rounds, holdings), a copy-trade test with delays against random wallets and the liquidation map over time. The running desk refreshes it in the background (research.*, console section Research).
  • Research tools: record, replay, walk-forward sweep (also per lane), fit, evolve, calls ledger and the hash-chained journal with verify.
  • Live dashboard with kill switch, Telegram bot, doctor, and the operator console on the MIKODES Admin Kit (owner, roles, two-factor, audit log, history, settings mapped to the desk).
  • Static demo exporter (scripts/export-demo.mjs).
  • Deployment: Dockerfile, docker-compose.yml, ecosystem.config.cjs (PM2), .env.example; the desk loads .env on start; DASH_HOST for containers.
  • Telegram command menu, plus /research, /copy and /wallet.
  • White label: the console's Brand name, accent and logo apply to the dashboard and Telegram.
  • 455 automated tests (npm test: 454 pass, 1 marked to-do).
  • Operator console on the MIKODES Admin Kit 0.4.0, shipped in packages/admin-kit/ with its readable source (ui-src/) and licence.

Known issues

  • In live mode, DEX memecoins, news perps, carry, cross-venue, basis and Polymarket books stay on paper.
  • Brand tagline, support email and website, the Legal and Access console sections and the Notifications email field are stored but not used by the desk.