The dashboard
one page, every book.
The dashboard shows the paper desk live: equity with hard-stop tiers, the strategies and their allocator status, positions, pump.fun, lanes, smart wallets, market flow, the liquidation map, the other books and the ledger. It works on a phone.
01Open it
npm start serves it at http://127.0.0.1:8790 (change the port with DASH_PORT). npm run dash serves the same page without running the desk. Once the console owner exists, you sign in at /admin first; the console's Live desk page shows the same dashboard inside the console.
The page updates live over Server-Sent Events. If the connection is not available it polls every few seconds; the status chip in the header shows Live or Polling.

02What each section shows
| Section | What you see |
|---|---|
| Header and rail | Mode (PAPER or ALERT), SOL price, connection state, and a scrolling rail of open positions, perps, copies and listing events. |
| Desk figures | Equity, day PnL, realised PnL, win rate, result without the top trades ("edge survives" or not), open positions, HL copy, carry and news-perp books. |
| Equity | Equity in SOL marked to the last price over 6, 24 or 48 hours, with the peak, the day start and the hard-stop tier lines. |
| Desk control | Whether entries are open or what blocks them, the kill switch, drawdown from peak against the tiers, day loss against the limit, exposure, cash, pump.fun stream stats and closes by exit reason. |
| Strategies | Every strategy with its allocator status (probation, active, proven, paused), size multiplier, days, PnL, probability that its Sharpe is above zero, max drawdown, a journal equity sparkline and open positions. |
| Open positions | Memecoin positions: stake, entry, now, peak, sold share, take-profits hit, age, trend, PnL, links to pump.fun or DexScreener. |
| Pump.fun live | The coins being watched with buyers, net SOL, curve progress and the filter that rejects them, if any. |
| News events | Clustered news of the last 6 hours with coins, direction, strength, credibility and source count. |
| Flow | Hyperliquid order-flow imbalance over 1/5/15 minutes, the OI/price quadrant, funding, a small liquidation gauge per coin, and a whale tape. |
| Liquidation map | The real map per coin with the nearest clusters (details). |
| Graduation alerts, pump lanes, smart wallets | Coins passing 80 % and 95 % of the curve; per-lane trades, win rate and exit grades; the smart-wallet list. |
| Books | Trend, funding arbitrage and HIP-3 basis books. |
| Jev | The Jev forecaster against its control arms: Brier score, skill, AUC, reliability and the promotion checklist. |
| Polymarket MM | The paper market-making book on Polymarket liquidity rewards. |
| Hyperliquid, HL leaders | News perps, copy positions, carry, and the scored leaderboard wallets. |
| Ledger | The journal: buys, sells, closes, skips and errors, filterable by tab. |


03Kill switch and hard stop
The kill switch is the file data/STOP. While it exists, the desk opens nothing new in any book; exits, stops and take-profits keep running on open positions.
| Turn it on | Turn it off |
|---|---|
| Dashboard: Engage kill switch (manager or owner) Telegram: /stopTerminal: touch data/STOP | Dashboard: Resume entries (manager or owner) Telegram: /resumeTerminal: rm data/STOP |
The hard stop watches the drawdown from the equity peak (default red level 20 %, protections.hardStop.redPct):
- Yellow at half the red level: a warning.
- Orange at three quarters: no new entries.
- Red: everything is sold,
data/STOPis written and the red state latches. A person resets it by removingdata/STOP; the equity peak is then re-based to the current equity.
Other things that block entries: the daily loss limit (until the next day), the stoploss guard and drawdown lock protections, and the portfolio gross cap for perp books. Desk control always names the reason.

04On a phone
The page switches to a single column with a bottom navigation bar. Everything else works the same.

05Sample data
To look at the page before your desk has any history:
node src/web/demo-data.mjs /tmp/desk-demo --serve 8791
It writes a plausible two-day paper desk into /tmp/desk-demo, serves it on port 8791 and animates prices and journal rows. The page shows a yellow Sample data banner. Nothing in it is real or traded.