ββββ βββ ββββββ ββββ βββββββββββββββββββββββ βββββββββββββββββββββββββββ ββββ ββββ
βββββ ββββββββββββββββ ββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ βββββ
ββββββ βββββββββββββββββ βββββββββββββββββ ββββββ βββ βββ ββββββ βββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββ ββββββββββ βββ ββββββ βββββββββββββββββββ
βββ βββββββββ ββββββ βββββββββββββββββββββββββ ββββββ βββ βββββββββββ ββββββ βββ βββ
βββ ββββββββ ββββββ ββββββββββββββββββββββββ βββββ βββ βββββββββββ ββββββ βββ
"Web apps are bloated. Real degens stay in the terminal."
| Feature | Description | |
|---|---|---|
| π | Multi-pane layout | Smart Money flows, DEX trades, perp data, and wallet info side-by-side |
| π | Live streaming | NDJSON streaming for real-time DEX trade updates |
| β¨οΈ | Keyboard-first | Tab between panes, arrow keys to scroll, hotkeys for everything |
| π± | 1-keystroke trading | [Q] quote β [T] execute via trade quote/trade execute |
| π | 18-chain support | Cycle through all chains with [C] |
| π | Clean tables | Formatted ASCII tables, not raw JSON walls |
Minimum requirement: just a Nansen API key. No wallet needed to view analytics.
Terminal size: minimum 120 columns Γ 32 rows. For best experience, 160Γ40 (or full-screen iTerm2/Terminal) is recommended.
# 1. Install nansen-cli and authenticate
npm install -g nansen-cli
nansen login --api-key YOUR_API_KEY # get key: app.nansen.ai/auth/agent-setup
# 2. Clone and run NansenTerm
git clone https://github.com/edycutjong/nansen-term.git
cd nansen-term
npm install
npm --silent run demo # clean output, no npm preamble
# or: npm run dev # development mode with hot reloadWallet is optional. Netflow, DEX Trades, and Perp panes work without one. Only
[Q]trade quote and[T]execute require a wallet:nansen wallet create # only needed for trading
Main Dashboard β 4 panes with live DEX streaming:
Token Detail Overlay β deep-dive any token with Enter:
| Key | Action |
|---|---|
Tab / Shift+Tab |
Cycle through panes |
β / β |
Scroll within active pane |
Enter |
Select token β open detail overlay |
C |
Cycle chain (ethereum β solana β base β ...) |
W |
Switch wallet |
Q |
Open trade quote modal |
T |
Execute quoted trade (confirmation required) |
R |
Refresh current pane |
P |
Refresh all panes |
S |
Toggle streaming mode |
? |
Help overlay |
Esc |
Close overlay / go back |
Ctrl+C |
Exit |
| Layer | Technology |
|---|---|
| Runtime | Node.js 20+ |
| TUI Framework | Ink v5 (React for CLI) |
| CLI Execution | child_process.execFile / spawn |
| State Management | React hooks |
| Streaming | NDJSON via --stream flag |
| Testing | Vitest Β· 246 tests Β· Istanbul coverage |
20+ endpoints across research, trade, and wallet:
research smart-money netflow Β· dex-trades Β· holdings
research perp screener Β· leaderboard
research token info Β· indicators Β· ohlcv Β· screener Β· flow-intelligence
research profiler balance Β· pnl-summary
research search
trade quote Β· execute
wallet list Β· show Β· create
account
ethereum Β· solana Β· base Β· bnb Β· arbitrum Β· polygon Β· optimism Β· avalanche Β· linea Β· scroll Β· mantle Β· ronin Β· sei Β· plasma Β· sonic Β· monad Β· hyperevm Β· iotaevm
npm run dev # Run with tsx (hot reload)
npm run mock # Run with mock data (uses zero API credits)
npm run build # Compile TypeScript
npm start # Run compiled version
npm test # Run 246 tests with Vitest
npm run test:coverage # Tests with Istanbul coverage reportπ‘ Tip: Use
npm run mockto explore the full UI without consuming any Nansen API tokens.
Week 2 of the Nansen CLI Build Challenge β #NansenCLI
MIT Β© edycutjong


