OUTRIDER docs
v1.0.0
Live demo Get help
● Use · Every backtest in one pass

Research & analytics
what worked, on which data.

One command (or the running desk, on a schedule) runs every backtest and wallet measurement the desk has and saves them for the dashboard's Research pane: TREND against BTC, the liquidation-map strategies against random entries, the wallet book, a copy-trade test, a scorecard for every wallet list, the FOMO traders and a replay of every memecoin lane. Every number sits next to the data it came from.

outrider researchDashboard · Research

01Run it

node src/cli.mjs research                 # everything (about a minute plus the lane replay)
node src/cli.mjs research --quick         # 4 coins for the liquidation test, no lane replay
node src/cli.mjs research --skip lanes    # skip sections: trend, liq, wallets, lanes
node src/cli.mjs research --data /path    # another data folder

The result is saved to data/research.json. A run with --skip keeps the other sections from the previous file, so you can refresh the wallets every hour and the slow backtests once a day. The dashboard's Research pane reads the file on its next refresh; nothing has to restart.

Trend and liquidation research download Hyperliquid candles (public API, no key). Wallets use what the collectors saved (Smart wallets); lanes use your recordings (record).

02AI analyst

With an Anthropic API key (console → Integrations), Claude reads a compact snapshot of the desk every few hours — mode, open positions, lane results, liquidation magnets, smart-wallet consensus, these research verdicts and the top news — and writes a briefing: a one-line headline, the market read, the main risks, a stance per book (keep, watch, reduce, pause) and assets to watch. It appears first in the Research pane and on Telegram with /brief.

SettingDefaultWhat it does
analyst.enabledonRuns only when ANTHROPIC_API_KEY is set.
analyst.modelclaude-opus-5-5The Claude model.
analyst.effortlowThinking effort; low keeps each run short and cheap.
analyst.everyHours6How often the desk asks for a new briefing.
Your key, your data, your bill

Each briefing sends the snapshot described above to Anthropic's API and is billed to your Anthropic key (one short request per run at low effort). Setting the key also turns on Claude news scoring. Switch the analyst off with analyst.enabled: false.

Advice only

The analyst changes no setting and places no order. Its stances are opinions from the snapshot it was given; the caps, gates and stops in code decide what trades.

03Trend vs BTC

The volatility-targeted trend book with each leverage profile (safe, growth, aggressive) against buying and holding BTC over the same days, on Hyperliquid daily candles. The pane draws the equity curves on a log scale and lists total return, CAGR, Sharpe, maximum drawdown and the return of every calendar year. A profile whose liquidation price is touched by an intraday wick is marked liquidated.

Example run (BTC, ETH, SOL, 2021-01-07 → 2026-09-27, 2,090 days):

ProfileTotalSharpeMax DD20222024
safe+211%1.1624%−8%+23%
growth+362%1.1632%−11%+31%
aggressive+686%1.1544%−15%+43%
BTC hold+129%0.5477%−64%+121%

Hypothetical results on past data, paper only, before taxes; not a forecast and not investment advice. Real fills, funding and outages would change them.

How to read it: the trend book loses little in a falling year and lags in a strong bull year. Leverage raises return and drawdown together; the Sharpe ratio stays the same. It is a hedge against crashes, not a way to beat holding in every year.

04Liquidation-map strategies

Two entry ideas built on the liquidation levels, each with three exit rules fixed before looking, pooled over up to eight coins on hourly candles, with 0.13 % round-trip costs:

  • Magnet: trade toward the larger liquidation cluster, expecting price to be pulled there.
  • Cascade: trade in the direction of a cluster that was just run through.

Each row is compared with the same exits entered at random hours. In the example run (8 coins, about 210 days) no rule beat random entries: averages between −0.22 % and −0.04 % per trade over 428–1,501 trades, t-statistics between −3.3 and −0.3. The pane marks a rule edge only when its average is positive, above random and t ≥ 2.

What the map is for

Use the liquidation map for risk: where a stop would sit inside a crowd of liquidations, how much leverage is stacked near the price. As an entry signal it did not survive costs.

05Wallets

The merged wallet book (pump.fun stream, GeckoTerminal pool trades, FOMO's fee wallet): trades read, wallets seen, wallets in profit, the smart list, and how many wallets were excluded as bots, snipers, dust or token creators. The top 25 wallets by PnL show realised and open profit separately, with links to Solscan.

The out-of-sample line is the test that matters: smart wallets are chosen on the first half of the data and judged on the second. In the example run 4 wallets chosen that way averaged +1.1 % per round over 129 rounds, while the other 42,489 wallets averaged −4.6 %. Four wallets is a small sample; more collection hours make it firmer.

Search and wallet profiles

Above the list: a search box (part of an address, or a source name such as kolscan or fomo) and three lists — every wallet in profit (up to 500), the smart list, and FOMO's top traders. Tap a wallet with a › for its profile:

  • realised and open PnL, rounds, win rate, t-statistic, profit factor, coins traded, first and last trade;
  • the realised PnL curve, one step per closed round;
  • the latest 40 rounds (token, SOL in, SOL out, return, hold time) and what it holds now, valued at the last traded price;
  • flags (bot, sniper, dust, creator), the lists it appears on, and links to Solscan and GMGN.

Profiles are built for the top 40 wallets, the whole smart list and FOMO's top traders. Rounds are counted exactly like the wallet book: fees on both sides, a round closes when less than 1 % of the position is left, tokens that arrived by transfer are not judged.

Open PnL is a paper number

A large open profit is valued at the last traded price. Thin memecoins often cannot be sold at that price. Wallets with a few rounds are luck until the out-of-sample test says otherwise.

06Copy-trade test

The question behind every copy bot: if I had copied these wallets, what would I have made? The test answers it fairly:

  • smart wallets are chosen on the older 70 % of the data only;
  • they are copied on the rounds they opened in the newer 30 %: buy when the wallet buys, sell when it sells, after a delay of 0, 2, 5, 15 or 30 seconds;
  • the copier pays the price of the first trade anyone makes after the delay (never the wallet's own fill), plus the fee and 0.5 % slippage on each side; a round with no trade within 60 seconds is skipped;
  • the same copy of 400 random other wallets from the same days is the baseline.

Example run (2026-09-27 → 2026-09-28, 5 wallets chosen):

DelaySmart, avg per roundMediantRandom wallets, avg
their own fills+1.6%−2.5%0.7−6.4%
0 s+0.5%−3.4%0.2−6.6%
2 s−4.9%−9.2%−1.6−15.0%
5 s−5.7%−8.4%−2.1−14.7%
30 s−4.5%−5.2%−1.9−12.6%

How to read it: the smart list really is better than the crowd, but a copier two seconds late gives away more than the wallets' whole edge. Their advantage is speed and first fills. The per-wallet table shows the rare wallet that stays positive at every delay; that is a candidate to keep watching, not to trust yet. Each wallet profile also shows an in-sample copy line, marked as such.

07Wallet sources

Every list you import (KOL trackers, leaderboards, FOMO's top traders, a list from a post) gets a row: how many addresses it listed, how many could be judged on your recorded trades (copyable wallets with at least 3 rounds), their average return per round and the share that were profitable, next to everyone else. A source is marked beats crowd only when at least 5 of its wallets were judged and they did better than the rest. Import and pull commands: Smart wallets.

08Memecoin lanes

A replay of your recorded pump.fun stream through every lane as configured, fees and latency included: trades, win rate, average return, PnL, t-statistic, costs, and how much the price moved after the exit on average. In the example run (740,805 events over about 18 hours) the graduation lane averaged −4.7 % over 20 trades and the smart lane −14.1 % over 21 (t −2.2). A walk-forward sweep of the smart lane found no configuration that held on newer launches, so the defaults stay.

That is what the lanes are for: each is a hypothesis with a small ticket, measured on its own. Keep a lane that loses on paper, off; record more hours and sweep it (how) before trusting any setting.

09Liquidation history

Every map refresh appends one line per coin to data/liqmap-history.jsonl. The Liquidation history tab draws the last 14 days per coin: the mark price, the magnet above (shorts) and below (longs) with dot size by dollars at the magnet, and a bar chart of the longs and shorts that would be liquidated within ±5 % of the price. It shows whether the crowd keeps rebuilding the same levels as the price moves.

10Keep it fresh

The running desk (npm start) does it for you: ten minutes after start it runs the full research, then the wallet book every hour and everything once a day, each time in a separate process so the desk itself stays light (the full wallet load can take over 1 GB of memory for a few seconds). Change the cadence in the console under Research, or with research.* in config.json. The child process reads config.json, like every command-line tool.

Without the desk, use cron:

# crontab: wallets every hour, everything else once a day
15 * * * *  cd /opt/outrider && node src/cli.mjs research --skip trend,liq,lanes
40 4 * * *  cd /opt/outrider && node src/cli.mjs research

The numbers on this page are examples from one run on 2026-09-28. Yours depend on the dates, the coins and how long your collectors and recorder have run. None of them is a forecast.