docs › Keyboard reference
Keyboard reference
Every key, generated from the app's keymap and the help overlay at build time.
Generated at build time from packages/tui/src/keymap.ts (the keymap) and packages/cli/src/screens/overlay.ts (the ? overlay, which adds the keys the interactive loop handles itself). npm run docs:check fails if this page and the app disagree. Source commit: c289d90 (2026-10-15).
Conventions: keys are case-sensitive (g and G differ). A key listed under a screen overrides the global binding on that screen only (on the token screen 1–6 are timeframes, not screen switches). While the chat input, the filter line, the sort menu or a PAPER ticket has the keys, printable keys type instead of acting, so q or 1 can never quit or navigate out from under a half-typed order.
Global keys#
| key | label | what it does |
|---|---|---|
| q / ^C | quit | quit; the terminal is always restored (also on a crash or a signal). · quit |
| 1 | screener | jump to the screener. · screen.screener |
| 2 | new pairs | jump to the new-pairs stream. · screen.newpairs |
| 3 | watchlist | jump to the watchlist. · screen.watchlist |
| 4 | analyst | open the analyst tab (chat beside a coin list). · screen.analyst |
| tab | screens | cycle screener → new pairs → watchlist → analyst. · screen.next |
| j / ↓ | move | move the cursor down one row (on the token screen: scroll a long answer). · move.down |
| k / ↑ | move | move the cursor up one row (on the token screen: scroll a long answer). · move.up |
| g / home | top | jump to the first row. · move.top |
| G / end | bottom | jump to the last row. · move.bottom |
| PgDn / ^F | page | page down (20 rows; on a chat screen: scroll the transcript). · move.pagedown |
| PgUp / ^B | page | page up (20 rows; on a chat screen: scroll the transcript). · move.pageup |
| ⏎ | open | open the highlighted token's detail screen. Opening is free: no analyst run starts. · open |
| esc / ⌫ | back | go back to the previous screen. · back |
| a | ask claude | ask Claude: on a list screen it runs a rug-check on the highlighted coin (or a trench scan with nothing highlighted) and opens the analyst tab; on the token screen it runs the full dossier (or toggles the panel once a conversation exists); on the analyst tab it focuses the input. This is the one explicit, paid run. · analyst.toggle |
| v | voice | Jarvis push-to-talk (macOS): press to open the mic, speak, press again to send. The first press enables voice and asks for Microphone + Speech permission. Voice can only ask the analyst or trigger safe actions (switch screens, open a coin, filter, watch, open a PAPER ticket in editing, open the chart popup); it can never confirm, sign, flip LIVE or raise a cap. See [Jarvis voice mode](/docs/voice/). · voice.talk |
| ? | help | show every key for the current screen (the first launch shows the welcome card instead). · help.toggle |
| t | theme | cycle the theme: cyberspace → midnight → ember → paper. · theme.next |
| p | pause | pause live refreshes (the data stops; the keys still work). · pause.toggle |
| $ | price ⇄ mcap | show market cap instead of the USD price (and back) on every screen and both charts; saved to config.json as display.priceMode. Display only: nothing that trades reads it. · display.priceMode |
| w | watch | watch or unwatch the highlighted token (persisted in the local SQLite database). · watch.add |
| b | alert | propose a liquidity alert for the highlighted token. Proposals do nothing until you arm them. · alert.propose |
| y | confirm alert | arm the oldest proposed alert. Armed rules fire once into the ALERTS log. · alert.confirm |
| x | dismiss alert | dismiss the oldest proposed alert. · alert.dismiss |
| P | positions | open the PAPER positions screen (equity, cash, PnL, trade history). · screen.positions |
| Z | AI scan | AI scan mode on/off (observe-only; it can never trade). · scan.toggle |
| R | resume scan | after a lock: release the coin and go back to scanning. · scan.resume |
| T | trending | open TRENDING IN THE SPACE: coins ranked from keyless public lists (Jupiter trending and organic score, GeckoTerminal trending pools, CoinGecko trending for macro; DexScreener paid boosts count against a coin) with a NEWS column from publishers' RSS. No X API and no X posts in live mode. Works everywhere except the token screen, where T opens Telegram (esc, then T). · screen.trending |
| K | KOL lists | open the KOL lists: your own handle lists and imported packs, kept in the local database. Nothing is followed, posted or logged in to. · social.kol |
| N | narrative board | open the NARRATIVE BOARD: what is running and what is working across recorded tokens; deterministic lexicon clustering, no model. · screen.narrative |
| O | order plans | open the order plans screen (plans and standing mandates; paper by default). · screen.plans |
| U | followed wallets | open the FOLLOWED WALLETS screen (copy trading stage 1): your own follow list, each wallet's decoded swaps and FIFO PnL with its sample, and the alerts tape. Read-only. · screen.follows |
| ^W W | workspaces | list available workspaces. · workspace.list |
| ^W N / ^W TAB | next workspace | activate the next workspace. · workspace.next |
| ^W N | previous workspace | activate the previous workspace. · workspace.prev |
| ^W S | save workspace | enter a name to save the current workspace; enter saves, escape cancels. · workspace.save |
| ^W M | morning HUD | activate the morning HUD workspace. · workspace.morning |
| ^W O | open workspace popups | open the active workspace's configured popups. · workspace.popups |
| ^W D | default workspace | activate the default workspace. · workspace.default |
| ^R | rules | open the rules screen. · screen.rules |
Per-screen keys#
Screener
| key | label | what it does |
|---|---|---|
| g | go to coin | open the go-to prompt: paste or type a contract address (or a dexscreener / pump.fun / solscan link) and press enter to open that coin's live token screen, read-only. Esc cancels; a bad address shows a notice and changes nothing. · goto.open |
| / | filter | open the filter line. Type a query in the filter grammar; ⏎ applies, esc cancels. `/scan …` on this line is a command, not a filter. · filter.edit |
| \ | clear filter | clear the applied filter (the preset's own baked filter stays). · filter.clear |
| s | sort | open the sort menu: j/k pick a key, ⏎ on the current key flips the direction. · sort.menu |
| ] / → / l | preset | next feed preset. · preset.next |
| [ / ← / h | preset | previous feed preset. · preset.prev |
| r | refresh | refresh this screen's data now. · refresh |
Token screen
| key | label | what it does |
|---|---|---|
| g | go to coin | open the go-to prompt: paste or type a contract address (or a dexscreener / pump.fun / solscan link) and press enter to open that coin's live token screen, read-only. Esc cancels; a bad address shows a notice and changes nothing. · goto.open |
| i | ask | focus the chat input so the next keystrokes type a question (⏎ does the same). · input.focus |
| 1 | 1m | chart timeframe 1 minute. · tf.1 |
| 2 | 5m | chart timeframe 5 minutes (derived locally from 1m, no fetch). · tf.2 |
| 3 | 15m | chart timeframe 15 minutes (derived locally from 1m, no fetch). · tf.3 |
| 4 | 1h | chart timeframe 1 hour (the default). · tf.4 |
| 5 | 4h | chart timeframe 4 hours (derived locally from 1h, no fetch). · tf.5 |
| 6 | 1d | chart timeframe 1 day (derived locally from 1h, no fetch). · tf.6 |
| y | copy CA | copy the full contract address to the clipboard (pbcopy / clip / xclip; the address stays on screen if none exists). · copy.ca |
| r | refresh | refresh this screen's data now. · refresh |
| B | paper buy | open a PAPER buy ticket for this token (simulated; nothing goes on-chain). · trade.buy |
| S | paper sell | open a PAPER sell ticket for this token. · trade.sell |
| W | open site | open the token's advertised website in your browser. The URL is shown first; only http(s) links ever launch. · open.web |
| V | vet product (Claude) | vet the product: run the larp-check skill on this token (reads its website, domain registration and GitHub, read-only, only when you press this). · analyst.larp |
| X | open X | open the token's advertised X account in your browser. · open.x |
| T | open TG | open the token's advertised Telegram in your browser. · open.tg |
| L | links | list every advertised link in a menu (j/k select, ⏎ open, esc close). Links are claims by the token, not verified. · open.links |
| C | chart popup | open or close the chart popup for this token (native docked window, or your browser as the fallback). · popup.chart |
| I | token popup | token screen: open or close the token-detail popup (identity, market, risk, and the snipers / bundled cells from the wallet-intel scan; read-only; your browser as the fallback). · popup.token |
| F | flow ⇄ tape | swap the lower-right panel between BUY/SELL FLOW (default) and the raw trade tape. · tape.toggle |
| s | social | token screen: swap ON-CHAIN/HOLDERS for the SOCIAL panel. Live it shows rule-written on-chain rows (labelled holders, tracked wallets, trades ≥ $5K); X and Telegram posts appear only in the --fixtures demo, because no keyless post source is wired. · social.toggle |
| f | filter | cycle the source filter (all · kol · x · chain · news · own) on the trending board or the token SOCIAL panel. · social.filter |
| M | bubble map | token screen: open the BUBBLE MAP for this coin: holders as packed bubbles (area = share, colour = the rule that labelled it), CLUSTERS, sample-captioned HOLDER INSIGHTS and the WHY THIS LABEL panel. A light wallet-intel scan runs when the screen opens; keyless it shows holders + static labels and says what a free Helius key adds. · intel.bubbles |
New pairs
| key | label | what it does |
|---|---|---|
| g | go to coin | open the go-to prompt: paste or type a contract address (or a dexscreener / pump.fun / solscan link) and press enter to open that coin's live token screen, read-only. Esc cancels; a bad address shows a notice and changes nothing. · goto.open |
| r | refresh | refresh this screen's data now. · refresh |
Watchlist
| key | label | what it does |
|---|---|---|
| g | go to coin | open the go-to prompt: paste or type a contract address (or a dexscreener / pump.fun / solscan link) and press enter to open that coin's live token screen, read-only. Esc cancels; a bad address shows a notice and changes nothing. · goto.open |
| d | remove | remove the highlighted watchlist row. · watch.remove |
| r | refresh | refresh this screen's data now. · refresh |
Analyst tab
| key | label | what it does |
|---|---|---|
| i | ask | focus the chat input so the next keystrokes type a question (⏎ does the same). · input.focus |
PAPER positions
| key | label | what it does |
|---|---|---|
| r | refresh | refresh this screen's data now. · refresh |
Trending in the space
| key | label | what it does |
|---|---|---|
| M | feeds popup | trending screen: open or close the feeds popup: the board's posts as the SOCIAL panel filters them (injection rows withheld) plus the official news headlines, newest first; ⏎ in the window opens that coin here. · popup.feeds |
| f | filter | cycle the source filter (all · kol · x · chain · news · own) on the trending board or the token SOCIAL panel. · social.filter |
| x | hidden spam | show or hide rows held back as spam, duplicates or cashtag squats; the hidden count stays in the title either way. · social.spam |
| n | narrative | cycle the narrative filter: only coins linked by shared KOL threads or co-mentions. News never forms a narrative. · social.narrative |
| s | sources | show the SOURCES panel: each venue's health, data age and limiter rate. · social.sources |
| a | summary (claude) | one analyst turn over the board, run by your own claude: firewalled posts only, injection-like posts withheld (counted, never shown to the model), spam counted not shown. At most once every 5 minutes. · social.summary |
| r | refresh | refresh this screen's data now. · refresh |
KOL lists
| key | label | what it does |
|---|---|---|
| spc | enable/disable list | enable or disable the selected list for the trending board. · kol.toggle |
| m | mute/unmute | mute or unmute the selected handle. · kol.mute |
| d | remove handle | remove the selected handle from a manual list (packs are read-only). · kol.remove |
| i | add handle | type a new handle into the selected manual list (⏎ saves, esc cancels). · kol.add |
| X | import X lists | import the X lists your account owns as KOL lists (handles only; needs `dexterm x login` and live mode). · kol.importx |
| o | only this handle | only this handle: narrow the trending board and the token SOCIAL panel to the selected handle's posts (again, or f, clears). · kol.focus |
Keys handled by the loop#
These are not keymap bindings; the interactive loop handles them in context. Each row is verified against the source by docs:check.
| where | keys | what |
|---|---|---|
| everywhere | c | calm mode on/off: rain, glitch, blink and scanlines off; back to the last intensity when pressed again. |
| everywhere | ^C | quit, whatever is focused (a half-typed question or an open ticket cannot trap you). |
| everywhere | any key | skips the boot sequence or a blink transition; the key still does its job. |
| welcome / help card | any key · ? | any key closes the card; ? turns the welcome card into the key list. A digit 1–4 on the welcome card also switches to that screen. |
| chat (token · analyst) | ⏎ | focus the input when it is not focused; send the question when it is. Typing `/scan …` here runs a scan command instead of asking Claude. |
| chat (token · analyst) | esc | clear a non-empty input, else blur it (the number keys and q work again). While an answer is streaming, esc interrupts the analyst from any screen. |
| chat (token · analyst) | ⌫ · ^U · ^W | delete a character · clear the line · delete the last word. The input holds up to 400 characters. |
| analyst tab, coin-list answer | ↑ ↓ · ⏎ · o · esc | when an answer lists coins it renders as a table: arrows move the table cursor, ⏎ opens that coin, o opens its PAPER ticket (edit phase only, never confirms), esc returns to the chat. |
| AI scan | esc | on the locked coin: cancel the analysis but keep the coin (state PAUSED); a second esc navigates. On the screener table while SCANNING: stop the scan. |
| links menu | j k ↑ ↓ · ⏎ · esc q | select a link · open it (the URL is drawn on screen before the browser launches) · close. |
| PAPER ticket | 0-9 . | type the size (SOL or % of balance when buying; % of the position when selling) or the slippage in bps. |
| PAPER ticket | tab | switch between the size and slippage fields. |
| PAPER ticket | ← → | flip the side (buy ⇄ sell). |
| PAPER ticket | u | toggle the buy size unit between SOL and % of balance (a sell is always % of the position). |
| PAPER ticket | ⏎ | review: arm the order (the confirm step). Sizes above 1 SOL must be typed back digit for digit. |
| PAPER ticket (confirm step) | y · ⏎ | confirm the PAPER fill from a fresh quote. Any other key cancels the arm; a stray key can never confirm. |
| PAPER ticket | esc | cancel the confirm step, or close the ticket. While a fill is in flight, esc aborts the quote. |
| ticket | L | flip the ticket PAPER ⇄ LIVE. LIVE needs a linked wallet (/wallet link) and a running signer process; otherwise the ticket says why and stays PAPER. The header shows the network the signer reports (devnet by default; MAINNET turns it red). |
| LIVE ticket | ⏎ | ask the signer process for a PLAN: it quotes, builds, decodes, binds the route to your order, simulates with your token balances and shows what will be signed, what you pay and receive, impact, fee, route, the SOL/USD sources and the caps verdict (“will be refused: …” when it would be). |
| LIVE ticket (PLAN screen) | Y · ⏎ · esc | Y (or ⏎) is the keypress gate: the signer re-checks the caps, reserves the USD, opens Phantom to sign, verifies and re-simulates the signed bytes and submits. esc drops the plan; any other key cancels. Nothing here can be pressed by the analyst, voice or scan mode. |
| LIVE ticket | f | fit the size to the signer's cap: the ticket prices your size at the signer's own SOL/USD before ⏎ (red with “use ≤ … SOL” when it is over the per-trade cap or what is left of the daily cap); f sets the largest SOL size that fits, with room for the network fee and a token-account rent, and re-quotes. Buys only; PAPER has no caps. |
| LIVE ticket (rate limited) | r · esc | when Jupiter rate-limits the signer the ticket keeps the plan and shows “Jupiter is rate limiting this IP (429 from api.jup.ag), retrying in Ns”, then retries by itself; r retries now, esc cancels back to editing. Nothing is built or signed while it waits. |
| screener / line · chat input | /wallet [status|link|unlink|panic|probe] | wallet commands typed where a filter or a question would go: status (linked key, signer network and caps, panic state), link (opens the browser to Phantom), unlink, panic (disable live signing everywhere at once), probe (the devnet plumbing test as a LIVE ticket). resume is deliberately not available in-app: re-enabling needs `dexterm wallet resume` in a terminal. |
| filter line | type · ⏎ · esc | edit the filter query; apply; cancel. Errors show inline with the column that failed. |
| sort menu | j k · ⏎ · esc | pick a sort key; ⏎ on the current key flips the direction; esc closes. |
| --fixtures demo only | n · u · d · x | demo events on seeded fixtures: new pair (glitch) · pump (gold rain) · dump (red rain) · rug flag. |
| everywhere (voice on) | m | mute or unmute spoken replies. |
| everywhere (voice on) | , | cycle the macOS voice. |
| everywhere (voice on) | esc · any key | while the mic is live or opening: esc cancels it; any other key closes the mic first and then does its normal job (also on the ticket, chat, filter and overlay screens). esc also stops a spoken reply. The mic auto-closes after 15 s. |
| followed wallets (typing an address) | ⏎ · esc | add the typed wallet (and label) to the follow list, or cancel. While typing, every key goes to the input line: q and 1-4 never leak. |
| followed wallets (auto-mirror prompt) | y · ⏎ · esc | turn auto-mirror ON for the wallet (the service drafts and arms the copy mandate on this physical keypress and refuses without the less-safe popup), or leave it off. Every other key is swallowed. |
What ? shows#
The in-app help card lists exactly the rows below for each screen (global keys shadowed by a screen-specific binding are attributed to the screen):
KEYS — Screener (49 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| 1 | screener |
| 2 | new pairs |
| 3 | watchlist |
| 4 | analyst |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| home | top |
| G / end | bottom |
| g | go to coin |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| a | ask claude |
| v | voice |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| / | filter |
| \ | clear filter |
| s | sort |
| ] / → / l | preset |
| [ / ← / h | preset |
| r | refresh |
| w | watch |
| b | alert |
| y | confirm alert |
| x | dismiss alert |
| P | positions |
| Z | AI scan |
| R | resume scan |
| T | trending |
| K | KOL lists |
| N | narrative board |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| c | calm mode (effects off) |
| ? | this help |
KEYS — Token screen (59 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| home | top |
| G / end | bottom |
| g | go to coin |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| a | ask claude |
| v | voice |
| i | ask |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| w | watch |
| b | alert |
| x | dismiss alert |
| 1 | 1m |
| 2 | 5m |
| 3 | 15m |
| 4 | 1h |
| 5 | 4h |
| 6 | 1d |
| y | copy CA |
| r | refresh |
| B | paper buy |
| S | paper sell |
| P | positions |
| W | open site |
| V | vet product (Claude) |
| X | open X |
| T | open TG |
| L | links |
| C | chart popup |
| I | token popup |
| F | flow ⇄ tape |
| Z | AI scan |
| R | resume scan |
| K | KOL lists |
| N | narrative board |
| s | social |
| f | filter |
| M | bubble map |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| c | calm mode (effects off) |
| ? | this help |
KEYS — New pairs (44 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| 1 | screener |
| 2 | new pairs |
| 3 | watchlist |
| 4 | analyst |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| home | top |
| G / end | bottom |
| g | go to coin |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| a | ask claude |
| v | voice |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| w | watch |
| b | alert |
| y | confirm alert |
| x | dismiss alert |
| r | refresh |
| P | positions |
| Z | AI scan |
| R | resume scan |
| T | trending |
| K | KOL lists |
| N | narrative board |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| c | calm mode (effects off) |
| ? | this help |
KEYS — Watchlist (45 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| 1 | screener |
| 2 | new pairs |
| 3 | watchlist |
| 4 | analyst |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| home | top |
| G / end | bottom |
| g | go to coin |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| a | ask claude |
| v | voice |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| w | watch |
| d | remove |
| b | alert |
| y | confirm alert |
| x | dismiss alert |
| r | refresh |
| P | positions |
| Z | AI scan |
| R | resume scan |
| T | trending |
| K | KOL lists |
| N | narrative board |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| c | calm mode (effects off) |
| ? | this help |
KEYS — Analyst tab (44 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| 1 | screener |
| 2 | new pairs |
| 3 | watchlist |
| 4 | analyst |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| g / home | top |
| G / end | bottom |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| a | ask claude |
| v | voice |
| i | ask |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| w | watch |
| b | alert |
| y | confirm alert |
| x | dismiss alert |
| P | positions |
| Z | AI scan |
| R | resume scan |
| T | trending |
| K | KOL lists |
| N | narrative board |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| type | ask a follow-up · ⏎ send · esc clear/back |
| c | calm mode (effects off) |
| ? | this help |
KEYS — PAPER ticket (42 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| 1 | screener |
| 2 | new pairs |
| 3 | watchlist |
| 4 | analyst |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| g / home | top |
| G / end | bottom |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| a | ask claude |
| v | voice |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| w | watch |
| b | alert |
| y | confirm alert |
| x | dismiss alert |
| P | positions |
| Z | AI scan |
| R | resume scan |
| T | trending |
| K | KOL lists |
| N | narrative board |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| c | calm mode (effects off) |
| ? | this help |
KEYS — PAPER positions (43 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| 1 | screener |
| 2 | new pairs |
| 3 | watchlist |
| 4 | analyst |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| g / home | top |
| G / end | bottom |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| a | ask claude |
| v | voice |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| w | watch |
| b | alert |
| y | confirm alert |
| x | dismiss alert |
| P | positions |
| r | refresh |
| Z | AI scan |
| R | resume scan |
| T | trending |
| K | KOL lists |
| N | narrative board |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| c | calm mode (effects off) |
| ? | this help |
KEYS — Trending in the space (47 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| 1 | screener |
| 2 | new pairs |
| 3 | watchlist |
| 4 | analyst |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| g / home | top |
| G / end | bottom |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| v | voice |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| w | watch |
| b | alert |
| y | confirm alert |
| P | positions |
| M | feeds popup |
| Z | AI scan |
| R | resume scan |
| T | trending |
| K | KOL lists |
| N | narrative board |
| f | filter |
| x | hidden spam |
| n | narrative |
| s | sources |
| a | summary (claude) |
| r | refresh |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| c | calm mode (effects off) |
| ? | this help |
KEYS — KOL lists (48 rows)
| keys | label |
|---|---|
| q / ^C | quit |
| 1 | screener |
| 2 | new pairs |
| 3 | watchlist |
| 4 | analyst |
| tab | screens |
| j / ↓ | move |
| k / ↑ | move |
| g / home | top |
| G / end | bottom |
| PgDn / ^F | page |
| PgUp / ^B | page |
| ⏎ | open |
| esc / ⌫ | back |
| a | ask claude |
| v | voice |
| ? | help |
| t | theme |
| p | pause |
| $ | price ⇄ mcap |
| w | watch |
| b | alert |
| y | confirm alert |
| x | dismiss alert |
| P | positions |
| Z | AI scan |
| R | resume scan |
| T | trending |
| K | KOL lists |
| N | narrative board |
| spc | enable/disable list |
| m | mute/unmute |
| d | remove handle |
| i | add handle |
| X | import X lists |
| o | only this handle |
| O | order plans |
| U | followed wallets |
| ^W w | workspaces |
| ^W n / ^W tab | next workspace |
| ^W N | previous workspace |
| ^W s | save workspace |
| ^W m | morning HUD |
| ^W o | open workspace popups |
| ^W d | default workspace |
| ^R | rules |
| c | calm mode (effects off) |
| ? | this help |