● 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).doctorwarns 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.cssand ES modules per pane undersrc/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-pressedon segmented buttons,aria-currenton 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, andtsxis gone from the dependencies. npm run buildcompiles the operator console (src/adminand the Admin Kit) withtsctodist/. The Dockerfile builds it in its first stage;npm testbuilds it before the tests.npm run typecheckchecks the types.- Admin Kit 0.6.0: creating the first console owner needs
ADMIN_SETUP_TOKENfrom 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/uiships readable (not minified). A viewer opening Team is told the role cannot open the list; the console no longer requests it. doctorno 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 emptywhales.walletsis a note, not a warning.- Admin Kit 0.5.0 (included in 0.6.0): compiled
dist/build, the console source with its lockfile inpackages/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-mostX-Forwarded-Forentry), 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 withtsc:npm run lint,npm run format, andnpm run checkfor lint, format check and tests (developer tools). - No empty
catchblocks 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.mddescribes 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.
- Back upStop the desk and copy
data/andconfig.json(what to back up). - Replace the filesCopy the new version over the old folder, keeping
data/,config.jsonand.env. If you changed the source, merge your branch instead (what usually changes). - Install and build
Then start as before. PM2:npm ci && npm run buildnpm run build, thenpm2 reload outrider. Docker:docker compose up -d --build. - Switch on the modules you usedIf you ran the trend, HL copy, carry, cross-venue, basis or news-perps books, add
"modules": { "perps": true }toconfig.json. Add"polymarket": truefor Polymarket and PolyMM, and"jev": truefor Jev. - 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:
researchruns 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.envon start;DASH_HOSTfor containers. - Telegram command menu, plus
/research,/copyand/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.