dexterm

features

every feature in the app, grouped by area, with a status that comes from one file reviewed against dexterm/app@87b598f on 2026-10-09. nothing is labelled live unless it is on main today.

  • LIVE NOWon dexterm/app main today, on real data, keyless by default
  • IN PROGRESScode exists on main but is labelled experimental, partial or stubbed; not a promise
  • COMINGdesigned, spiked or built on an unmerged branch; not in the app; no date

filter: (click again to clear)

Screener and feeds

9 live · 0 in progress · 2 coming · docs

A live Solana screener in your terminal on keyless public data, honest when a source is down.

featurestatuswhat it doessee
Live screener LIVE NOW DexScreener + Jupiter rows refreshed every 10 s through a rate limiter: price, 5m/1h/6h/24h change, volume, liquidity, market cap, age, holders, organic score, flags, sparkline.
screenshotthe dexterm screener: a table of sample tokens with price, change, volume, liquidity, market cap and a sparkline per row, matrix rain in the gutters, header reads sample data

source: app/README.md › What is live › Screener

docs
Filter grammar and sort menu LIVE NOW vol24 > 250K liq > 50K age < 30d launchpad:pump !flag:mint on the / line, errors inline with the column; a sort menu on every column.

source: packages/cli/src/screener/filter.ts, sort.ts

docs
Feed presets LIVE NOW Trench, Trending, Runners, Organic, Top traded, New, Boosted, All, stepped with [ and ]; gated presets say why.

source: packages/cli/src/screener/presets.ts

docs
Instant first paint LIVE NOW A cold start paints the last rows (marked how old) or skeleton rows in under a second; Jupiter fields fill in behind a DexScreener-only first list.

source: task-1323 handoff: time-to-first-rows 17.5 s → 0.9 s cold, measured live

docs
New pairs stream LIVE NOW PumpPortal push (creates + migrations) on one WebSocket plus Jupiter and RugCheck polls; bonding progress is estimated from the curve's reserves and says so.
screenshotthe dexterm new pairs screen on sample data: freshly created tokens arriving as rows with bonding progress bars

source: app/README.md › What is live › New pairs

docs
Watchlist and alerts as proposals LIVE NOW A local SQLite watchlist priced every 10 s; alerts are proposals until a keypress arms them.
screenshotthe dexterm watchlist on sample data: watched tokens with live prices, a feed badge per row and an alerts panel

source: app/README.md › What is live › Watchlist

docs
Sub-second on-chain price LIVE NOW The open token and your watchlist are priced from pump.fun bonding-curve state over one WebSocket, computed locally; LIVE only while a push is flowing, else POLL.

source: app/README.md › Two-speed feed (task-1312)

docs
Snipers, bundles, dev history columns COMING The SNIPE and BUNDLE columns and the dev-history line show a dash and needs Helius; keyless sources cannot see wallet history.

source: app/README.md › COMING list

docs
Graduating and Smart-money presets COMING Two presets wait on a data source: Graduating on the per-curve bonding feed, Smart money on a Tier-1 key; both say so in the app.

source: packages/cli/src/screener/presets.ts (gated)

docs
Coin pictures in the terminal LIVE NOW Every row carries the coin's picture and the token screen a bigger one: real pixels in kitty, Ghostty, WezTerm, Konsole, iTerm2 and sixel terminals; half-block art everywhere else, Apple Terminal.app included; a ticker placeholder while an image loads or when there is none.

source: app/README.md › Coin images · Privacy and safety of coin images

docs

Token screen and chart

5 live · 1 in progress · 0 coming · docs

Everything about one coin on one screen, with nothing fabricated.

featurestatuswhat it doessee
Token intel LIVE NOW Market stats, mint and freeze authority from the chain, holder count and top-10 share, RugCheck summary, GoPlus second opinion; the ranked top-20 holders with a free RPC key.
screenshotthe dexterm token screen on sample data: a candle chart, on-chain stats, top holders as bars, safety checks and a trades tape

source: app/README.md › What is live › Token

docs
Candles 1m to 1d, instant switch LIVE NOW 1m and 1h from GeckoTerminal; 5m/15m/4h/1d derived locally, so a timeframe switch is milliseconds and the chart goes ahead of background work.

source: task-1314 + task-1323 handoffs: cold switch 15 s → 250 ms, measured live

docs
Buy/sell flow panel LIVE NOW Buys vs sells for 1m, 5m, 1h, 6h, 24h with a ratio bar, USD volume and a trend arrow, from data already cached; F swaps in the raw trade tape.

source: task-1323 handoff item 6; packages/cli/src/live/flow.ts

docs
Position row under the chart LIVE NOW When you hold a PAPER position in the coin: side, size, value, average entry, price, unrealized PnL on the same tick as the header.

source: task-1323 handoff item 5

docs
Social panel IN PROGRESS s on the token screen swaps in a SOCIAL panel with spam, duplicate and prompt-injection filtering. Live it holds rule-written on-chain rows only (labelled holders, tracked wallets, large trades); X and Telegram posts show only in the demo, because no keyless post source exists.

source: task-1330 handoff › Unverified / not done (no X/TG adapters; keyless scope)

docs

Analyst and skills

9 live · 0 in progress · 2 coming · docs

Your own Claude Code login, run locally, with every fact from a tool.

featurestatuswhat it doessee
The Claude analyst LIVE NOW a on a coin runs a rug-check or the full dossier through a read-only MCP server; your subscription and model apply; no API key ships.
screenshotthe dexterm analyst tab on sample data: a coin list beside a chat transcript with a coral verdict line, labelled demo text

source: app/README.md › The Claude analyst (task-1302)

docs
Knows what you are looking at LIVE NOW Every turn carries the screen, the hovered coin, the visible rows, your watchlist and any open ticket, firewalled; “this coin” resolves without asking.

source: task-1313 (merged b7f5804): buildScreenState + CONTEXT block

docs
Short, decided answers LIVE NOW 3 to 6 lines: call, why, levels, size, one risk. No recap of the screen, no disclaimer boilerplate; long form only when you ask.

source: task-1323 handoff items 3+4: 25 lines → 5 lines on five real questions

docs
Navigates for you LIVE NOW Five non-financial UI actions (open a coin, filter the screener, watch, switch feed, open a PAPER ticket), each re-validated against what is on screen and rate-limited.

source: task-1313; packages/data/src/analyst-actions.ts

docs
Plain-language filters LIVE NOW “coins under 5M mcap with 100k liquidity, up on the day, not rugs” becomes a real filter and the analyst states the numbers it chose.

source: task-1313 part E; analyst-system.md

docs
Coin-list answers you can navigate LIVE NOW An answer that lists coins renders as a table: arrows move, ⏎ opens the coin, o opens its PAPER ticket.

source: task-1313 part F

docs
One-call dossier LIVE NOW get_dossier fetches market, holders, security, candles, tape and creator in one parallel pass; a partial verdict names what is missing instead of refusing.

source: task-1314: 6 round trips → 1; warm dossier 14.5 s on sonnet

docs
Knowledge base and case files LIVE NOW A sourced memecoin knowledge base (mechanics, patterns, glossary) and historical case files, for comparison only; never a fact about a live token.

source: packages/mcp/assets (task-1293)

docs
One-line digests on the watchlist and new pairs COMING The single analyst line in those panels is labelled demo until you run the analyst yourself.

source: app/README.md › COMING list

docs
Local history recorder LIVE NOW On by default in live mode: keeps what the app saw and code-only outcome labels in your local database for future backtests. Nothing is uploaded; about 100 MB per 8-hour day (measured); --no-recorder turns it off.

source: task-1329 handoff (measured footprint and CPU); dexterm recorder stats

docs
Analysis packs, narrative board, backtests COMING Token and wallet dossiers as packs, narrative detection, a rug-probability model backtested on recorded history, batch scoring of the screener.

source: ROADMAP.md › pillar 3 (task-1287)

docs

LARP detector

3 live · 1 in progress · 0 coming · docs

Vet the product behind a coin: website, domain, GitHub. Read-only, only when you ask.

featurestatuswhat it doessee
larp-check skill LIVE NOW V on a token fetches its site (SSRF-safe, robots-aware, no JS), its domain registration via RDAP and its GitHub activity, and grades the claims: REAL_PRODUCT · EARLY_BUT_REAL · LARP · UNVERIFIABLE · AMBIGUOUS.

source: task-1315 handoff (merged b7f5804 + 0882e59)

docs
Verdict badge LIVE NOW LARP / REAL / REAL? / UNKNOWN in the screener FLAGS column and the token title strip, only for a coin you actually vetted.
screenshotthe dexterm screener on sample data with a red LARP badge and a green REAL badge in the flags column of two vetted sample rows

source: task-1315: larpBadge, larpByMint

docs
Mechanical signals LIVE NOW Site-builder and default-page patterns, wallet-connect and drainer signatures, external script hosts, team and placeholder text, link mismatch across sources, domain age and registrar privacy.

source: packages/data/src/larp/evidence.ts

docs
Measured classifier accuracy IN PROGRESS The plumbing is proven with a stub model; a live-model evaluation on representative real and hostile sites has not been measured. A verdict is a risk flag, not a certificate.

source: task-1315 handoff › risks: no measured classification accuracy

docs

AI scan mode

4 live · 0 in progress · 0 coming · docs

An observe-only watcher that pulls up the coin that lights up and keeps analysing it.

featurestatuswhat it doessee
AI scan mode LIVE NOW Z toggles it anywhere; six triggers score every coin from data already on hand; a lock opens the coin and starts a short read; R resumes.
screenshotthe dexterm screener on sample data with AI scan mode on: the header reads AI SCAN SCANNING and row 1 shows a ticker of the top-scoring sample coins with their triggers

source: task-1324 handoff (merged 242863e); live lock at default thresholds on real data

docs
Zero extra requests LIVE NOW The scan reads memory and the SQLite cache only; a test asserts 0 HTTP calls over 50 ticks and live req/min matched on and off.

source: task-1324: 44.4 vs 44.8 req/min

docs
Observe-only, by structure LIVE NOW Empty action allow-list at the validator, the MCP server and the claude launch, plus an app-side refusal; a compromised-model test proves open_ticket changes nothing during a scan.

source: packages/cli/test/scan-safety-1324.test.ts

docs
Cost caps LIVE NOW 8 analyst turns an hour, 4 per coin, a 90 s refresh floor that also needs the data to move, 15 min same-coin cooldown.

source: packages/cli/src/scan/engine.ts DEFAULT_SCAN_CONFIG

docs

Paper trading and safety

4 live · 0 in progress · 2 coming · docs

A simulated wallet on real quotes today; non-custodial by design when real trading ships.

featurestatuswhat it doessee
PAPER trade ticket LIVE NOW B / S on a token: size in SOL or %, slippage, a rolling keyless Jupiter quote with impact, route and minimum received; every frame says PAPER.
screenshotthe dexterm PAPER buy ticket on sample data: a yellow PAPER TRADING banner, size and slippage fields, a quote block and the confirm hint

source: task-1310 T0 (merged 582224e)

docs
Confirm gate on by default LIVE NOW ⏎ arms, y confirms from a fresh quote, sizes above 1 SOL are typed back, any stray key cancels; a quote that stalls times out instead of hanging.

source: packages/cli/src/trade.ts; task-1310 T1 fix f2f07ea (merged via 1319)

docs
PAPER positions and history LIVE NOW Equity, cash, realized and unrealized PnL marked from live prices, the trade history, persisted in SQLite.
screenshotthe dexterm PAPER positions screen on sample data: equity, cash and PnL summary, one open position and the trade history

source: task-1310 T0

docs
No wallet or signing code on main LIVE NOW The paper module imports no wallet, keypair or signing library; a key scan of the sources is part of verification.

source: task-1310 T0 handoff › key scan clean

docs
Non-custodial swaps COMING Designed and built on a branch (signer-side caps, a positive swap-shape policy, a Phantom link bridge, devnet-first), reviewed three rounds, not merged, not live. Your wallet will sign; a keypress arms every plan.

source: task-1310 T1 rounds 1–3 (branch task-1310-t1, unmerged); SPEC §6

docs
Order plans and standing mandates COMING “buy if it dips to 300k, sell half at 600k” as a plan you arm once; the keypress gate stays on by default and the signer caps still apply.

source: ROADMAP.md › hard rules (task-1292)

docs

Popup chart

4 live · 1 in progress · 1 coming · docs

A docked native chart window fed only by the terminal.

featurestatuswhat it doessee
Chart popup v2 LIVE NOW C opens TradingView Lightweight Charts (vendored, no CDN) for the open coin: candles/line/area, volume, EMA 9/21, VWAP, tape markers, drawings, six timeframes with zero fetches.
screenshotthe dexterm chart popup on sample data: candlesticks with a volume pane, EMA lines, tape markers, a crosshair legend and a LIVE badge

source: task-1325 handoff (merged 242863e)

docs
Docked native window (macOS) LIVE NOW Opens flush right of the terminal with the same height, follows it, never steals focus, no Dock icon; global chords show/hide and close.

source: task-1325: window-1325.json; docking verified via the system window list

docs
Browser fallback LIVE NOW No Rust toolchain or no display: the same page opens in your browser and says why, in the terminal and on the page.

source: popup README › browser fallback

docs
Position on the chart LIVE NOW ENTRY line with size and PnL %, fill markers, stop/target lines when set, and the same position row the terminal shows, from the paper ledger.

source: task-1325: popup row == terminal row byte for byte after a real paper buy

docs
Token and feeds popups IN PROGRESS A token-detail page and a feeds page exist in the popup package; the feeds page is a stub and neither has a key yet.

source: packages/popup/README.md: “a feeds stub”

docs
Bubble maps and wallet graphs as popups COMING Heavy views (clusters by funding source, same-slot buys, transfer graph) in the same loopback-only HUD windows.

source: ROADMAP.md › pillar 2 and front-end model

docs

Voice

0 live · 0 in progress · 1 coming · docs

Jarvis: push-to-talk, an instant local command path, Claude for analysis.

featurestatuswhat it doessee
Jarvis voice mode COMING Spiked and measured; built on a branch that is not merged. Not in the app. Jarvis will clarify before it proposes and can never arm, sign or raise caps.

source: ROADMAP.md › pillar 5 (task-1282); branch task-1282 unmerged

docs

Integrations and MCP

5 live · 1 in progress · 5 coming · docs

Yours to run, yours to extend: no accounts, no paid data, no shipped keys.

featurestatuswhat it doessee
Read-only MCP server for any agent LIVE NOW dexterm mcp is a plain stdio server with 21 tools: the same adapters the screens use, the knowledge base, case files, the LARP tools and five navigation actions. No tool can build, sign or send.

source: packages/mcp/src/server.ts

docs
dexterm doctor and a user-level installer LIVE NOW Node, colour, the claude CLI, the RPC key, every data source, the chart window and the data dir, each with the exact fix; the installer needs no sudo and verifies any Node it fetches.

source: task-1305 (merged 07e42e9); install.sh

docs
Free forever: no paid data LIVE NOW Every feature has a keyless path on public APIs; a free key you make yourself only raises limits. Each user has their own quota; there is no server in the middle.

source: app/README.md › FREE-FOREVER (task-1309)

docs
Health registry: never fake data LIVE NOW Every source degrades visibly (unavailable: reason, needs key, rate-limited); a screen with no data says why instead of hanging.

source: packages/data/src/health.ts; ROADMAP hard rules

docs
The cyberspace look, calm mode, themes LIVE NOW Rain that follows the market, two masks so no effect can overdraw a number, a contrast gate in the tests, c for calm, four themes, an idle throttle to ~2% CPU.
screenshotthe dexterm screener in calm mode on sample data: the same table with no rain, glitch or scanlines

source: app/README.md › The cyberspace look; task-1319 idle throttle

docs
Phantom as a signing bridge COMING Keys never enter dexterm; the wallet extension signs in your browser over a loopback page and the result returns to the terminal. Built on the unmerged trading branch.

source: task-1310 T1 bridge.ts (unmerged); ROADMAP pillar 7

docs
KOL lists IN PROGRESS K and dexterm kol manage your own handle lists and hash-locked packs in the local database (a tampered pack is refused). The tiers rank posts, and live there are no posts yet, so today lists mostly matter through tracked pack wallets.

source: task-1330 handoff; keymap K, dexterm kol

docs
Login with X for posts COMING Each user brings their own X access and limits, so X posts can feed the social panel and the trending board through the same firewall and spam rules. Official APIs only, no scraping.

source: ROADMAP.md › pillar 7 (task-1289)

docs
Bring your own agent COMING Your own agents through MCP and a local agent bus with per-agent capability tiers; agents are untrusted and can never arm, sign or raise caps.

source: ROADMAP.md › pillar 4 (task-1295)

docs
Workspaces, widget API, rules engine COMING Themes and keymaps exist today; workspaces, a widget API, a rules engine (when X then alert, ticket or ask Claude), scriptable config and shareable packs are the next lane.

source: ROADMAP.md › pillar 4 (task-1288)

docs
Public repo, signed releases, published scans COMING A public GitHub repo, releases with build provenance, checksums and an SBOM, third-party scan results on the trust page. License decision pending; no date.

source: ROADMAP.md › pillar 9 (task-1301)

docs

screenshots are the real app on seeded sample data with made-up tickers; the header reads ◌ sample data. the analyst transcript in those shots is demo text: a real run spawns your own claude login, which a screenshot cannot show honestly.