CLI
The Sharpe CLI brings Sharpe Terminal data to your command line. It is built for traders who want funding rates before their morning coffee, quants who pipe JSON into notebooks, and developers who automate around market data. The sharpe-terminal-mcp Python package gives you 32 commands covering derivatives, arbitrage, screeners, narratives, ecosystems, new listings, news, and discovery -- no browser required.
Installation
The CLI ships inside the sharpe-terminal-mcp PyPI package alongside the MCP server. You can run it ephemerally without installing, or install it persistently so the binary stays on your PATH.
Run without installing (recommended)
uvx --from sharpe-terminal-mcp sharpe market
Persistent install via uv
uv tool install sharpe-terminal-mcp
sharpe market
Or with pipx
pipx install sharpe-terminal-mcp
sharpe market
Or with pip inside a venv
python3 -m venv ~/.venvs/sharpe
pip install sharpe-terminal-mcp
sharpe market
Remember to activate the venv with source ~/.venvs/sharpe/bin/activate before the pip install and sharpe commands above.
The --from sharpe-terminal-mcp flag is required for uvx because the CLI entry point is sharpe but the PyPI package is named sharpe-terminal-mcp. The persistent installers (uv tool install, pipx, pip) put both binaries -- sharpe and sharpe-mcp -- on your PATH, so they don't need the flag.
Requires Python 3.10 or later. uvx always fetches the latest version from PyPI. If installed persistently, the CLI checks for updates once per day and shows a banner when a newer version is available. Upgrade with uv tool upgrade sharpe-terminal-mcp, pipx upgrade sharpe-terminal-mcp, or pip install -U sharpe-terminal-mcp.
Quick start
Most market-data commands work without an API key by falling back to free public endpoints. Commands whose current implementation only has authenticated /api/v1 coverage, such as dexscreener, token-scanner, and stablecoins, require SHARPE_API_KEY for complete results. coverage uses public /api/v1/meta/coverage metadata and works without a key. Add a key later for higher rate limits and authenticated-only data.
Market overview
Market overview
sharpe market
Returns BTC price, dominance, Fear & Greed Index, top gainers/losers.
Daily briefing
Composite briefing
sharpe briefing
Pulls market overview, top narratives, funding rate extremes, and arbitrage opportunities into a single view. Four API calls, one screen.
Funding rates
Current funding rates
sharpe funding
Historical funding for a specific coin
sharpe funding --type history --coin BTC --days 7
Commands
Most data commands support --json for raw JSON and --csv for CSV output. Exceptions: briefing and coverage support JSON but not CSV; login, doctor, and watch are interactive/diagnostic commands and do not emit JSON or CSV. Most data commands also support --web to open the corresponding Sharpe Terminal page in your browser.
Market
- Name
market- Type
- command
- Description
Market overview with BTC price, dominance, Fear and Greed Index, ETH/BTC ratio, and top gainers/losers.
- Name
briefing- Type
- command
- Description
Daily composite briefing combining market overview, top narratives, funding rate extremes, and arbitrage opportunities in one view. Runs four API calls in sequence.
- Name
watch- Type
- command
- Description
Live auto-refresh mode. Clears the screen and re-fetches data every 30 seconds (configurable with
--interval). Supportsmarket,funding,futures, andarbas targets. Use--chart,--coin, and--typefor watched derivatives or arbitrage views.
- Name
correlation- Type
- command
- Description
Asset correlation matrix over
30d,90d,1y, or3ywith--period, optionally filtered with comma-separated canonical coin IDs via--ids.
- Name
heatmap- Type
- command
- Description
Market heatmap data for
coins,narratives, orecosystemsvia--mode, with an optional--categoryfilter.
Market commands
sharpe market
sharpe market --json
sharpe briefing
sharpe briefing --json
sharpe watch market
sharpe watch funding --coin BTC --interval 15
sharpe correlation --period 90d
sharpe heatmap --mode narratives
Derivatives
- Name
funding- Type
- command
- Description
Funding rates across 13 perpetual exchanges. Use
--typeto selectcurrent(default),accumulated, orhistory.--coinfilters to a single base coin in any mode.--sort FIELDreorders rows (prefix with-for descending; common fields:rate,base_coin,exchange,open_interest,next_funding_time).--limit Nkeeps only the first N rows after filter/sort. History mode also accepts--days.
- Name
futures- Type
- command
- Description
Futures chart data. The first argument is the chart ID:
oi-stacked,liquidations,funding-rate,annualized-basis,volume-history,long-short-ratio, and more. Accepts--coin,--timeframe, and--exchanges.
- Name
derivatives- Type
- command
- Description
Derivatives market overview -- total open interest, OI-weighted funding, and the top coins by OI across exchanges.
Derivatives commands
sharpe funding
sharpe funding --coin BTC # filter to BTC rows only
sharpe funding --sort -rate --limit 10 # top 10 highest funding rates
sharpe funding --coin ETH --sort -open_interest # ETH exchanges by OI desc
sharpe funding --type history --coin ETH --days 14
sharpe futures oi-stacked --coin BTC --timeframe 3M
sharpe futures liquidations --coin ETH --timeframe 1M --exchanges binance,bybit
Arbitrage
- Name
arb- Type
- command
- Description
Arbitrage opportunities. Pass
spot-perp(default),cross-exchange,dated-basis,calendar-spread,perp-dated, orspot-transferas the first argument. Rows are sorted by the product's primary return field by default; override with--sort FIELD(prefix with-for descending). Filter spot-perp rows with--exchangeand--direction; filter scanner products with--coin,--exchanges,--min-apr,--min-oi-usd,--min-depth-usd,--notional, and--limit.
Arbitrage commands
sharpe arb spot-perp # top opportunities by APR (default)
sharpe arb spot-perp --limit 10 # top 10
sharpe arb spot-perp --exchange binance --direction long
sharpe arb cross-exchange --limit 20
sharpe arb dated-basis --coin BTC --notional 10000
sharpe arb calendar-spread --coin ETH --min-apr 5
sharpe arb perp-dated --coin SOL --exchanges Binance,Bybit
sharpe arb spot-transfer --coin BTC --exchanges KuCoin,Bitget --min-depth-usd 10000
sharpe arb spot-perp --sort symbol # override default sort
Categories
- Name
narratives- Type
- command
- Description
Crypto narrative analytics covering L1, DeFi, AI, RWA, Memes, and 17 more sectors. Use
--slugto drill into a single narrative.
- Name
ecosystems- Type
- command
- Description
Blockchain ecosystem analytics for Ethereum, Solana, Base, Arbitrum, and 19 more chains. Use
--slugto drill in and--exclude-nativeto remove the native token from aggregates.
- Name
memecoins- Type
- command
- Description
Memecoin narrative intelligence across grouped aggregate, theme, chain, and launchpad categories. Use
--slugfor a single narrative such asdog-coins,cat-coins,ai-memes, ortrump-coins;--historicalsupports24h,7d,30d, and1y;--coin-historyadds top-coin price history in detail mode. Reorder with--sort FIELD(prefix with-for descending; common fields:marketCap,change24h,momentum,coinCount) and cap with--limit N.
- Name
memecoin-launches- Type
- command
- Description
Recently launched memecoin pairs screened by launch age, liquidity, volume, transactions, and profile. Supports
--chains,--days,--limit,--profile, and--sort FIELD.
- Name
listings- Type
- command
- Description
New listings tagged by narrative. First argument is the mode:
hub(default),recent,events, orexchanges. Supports--narrative,--exchange,--venue-type,--market-type,--event-type,--confidence,--from,--to,--days,--limit,--cursor, and--sort FIELD. Exchanges mode also supports--enabled.
- Name
stablecoins- Type
- command
- Description
Stablecoin market cap, peg, mechanism, chain supply, detail, and yield data. Use
--type overview,--type detail --slug usdt, or--type yields.
Category commands
sharpe narratives
sharpe narratives --slug defi
sharpe ecosystems --slug solana
sharpe ecosystems --slug ethereum --exclude-native
sharpe memecoins
sharpe memecoins --sort -marketCap --limit 5 # top 5 memecoin narratives by market cap
sharpe memecoins --slug dog-coins --historical 7d
sharpe memecoin-launches --chains solana,base --days 7
sharpe listings
sharpe listings --narrative ai-agents
sharpe listings recent --exchange mexc --days 30
sharpe listings recent --narrative memes --limit 50 --json
sharpe stablecoins --type overview
sharpe stablecoins --type detail --slug usdt
Discovery
- Name
dexscreener- Type
- command
- Description
DEX Screener rows by category, network, or search phrase. Supports
--category,--network,--phrase, and--limit.
- Name
token-scanner- Type
- command
- Description
Read-only token scanner modes selected with
--mode:hot,new-runners,alpha-drops,ai-top, andtop-new. Filter with--chainsor--chain, choose--profile, cap with--limit, apply liquidity/flow gates with--min-liquidity-usd,--min-volume-h24, and--min-txns-h1, and bound pair age with--max-age-hours.
- Name
rug-check- Type
- command
- Description
Rug Check trending tokens or token security lookup. Use
rug-check trending --limit Norrug-check security --address ... --chain-id ....
- Name
search- Type
- command
- Description
Search coins by name or ticker. The first argument is the query string.
- Name
gems- Type
- command
- Description
Low-cap high-potential token discovery. Use
--limitto control how many tokens to return (default 20). Reorder with--sort FIELD(prefix with-for descending; common fields:volume24h,marketCap,change24h,athDistance).
- Name
predict- Type
- command
- Description
AI price prediction scores. Optionally pass
--coinwith a canonical coin slug (e.g.bitcoin,ethereum).
- Name
news- Type
- command
- Description
Aggregated crypto news feed. Supports
--limit,--coin,--category, and--since(ISO 8601 timestamp) filters. Reorder with--sort FIELD(prefix with-for descending; common fields:published,source).
- Name
curated-news- Type
- command
- Description
AI-curated crypto news highlights. Cap with
--limit, scope with--category(all,crypto,ai,markets,geopolitics), and page with--cursor.
- Name
mindshare- Type
- command
- Description
Narrative mindshare rankings, token rows, rolling windows, and historical snapshots. Use
--tokens,--narrative,--historical,--timeframe, and--windowto choose the payload.
- Name
web-traffic- Type
- command
- Description
Attention rankings, search trends, social snapshots, and market-level traffic signals. Use
--type,--mode,--tf,--entities, and--subto select entity, payload, timeframe, IDs, and market sub-mode.
- Name
katana- Type
- command
- Description
Katana Network TVL, token, holder, sentiment, pool, mover, and ecosystem analytics.
- Name
insider-selling- Type
- command
- Description
Insider selling pressure signals across crypto assets, filterable with
--min-scoreand capped with--limit.
- Name
pump-dump- Type
- command
- Description
Pump-and-dump manipulation risk signals across crypto assets, filterable with
--min-score, scoped to a lifecycle--phase(setup,markup,distribution,dump,dumping), and capped with--limit.
Discovery commands
sharpe dexscreener --category trending --limit 25
sharpe token-scanner --mode alpha-drops --chains solana,base
sharpe rug-check trending --limit 25
sharpe search solana
sharpe gems --limit 10
sharpe predict --coin bitcoin
sharpe news --limit 5 --coin bitcoin
sharpe mindshare --window 7d
sharpe web-traffic --type coin --mode rankings
sharpe katana
sharpe insider-selling --min-score 5
sharpe pump-dump --min-score 5
System
- Name
doctor- Type
- command
- Description
Self-diagnosis: checks CLI version, Python version, config file, API key status, network connectivity to both free and authenticated endpoints, and terminal environment.
- Name
login- Type
- command
- Description
Interactive authentication flow. Opens the Sharpe API key dashboard in your browser, prompts you to paste your API key, validates it against the API, and saves it to the config file.
- Name
coverage- Type
- command
- Description
Lists all available data products, supported exchanges, chart types, and coin coverage.
- Name
coins- Type
- command
- Description
Lists available futures coins with per-exchange capability flags.
System commands
sharpe doctor
sharpe login
sharpe coverage
sharpe coins --json
Output formats
By default, the CLI renders colored, box-drawn tables when writing to a terminal. When output is piped (non-TTY), it automatically switches to clean TSV with no decorations, so downstream tools get parseable data without extra work.
Rate and APR columns (rate, fundingRate, apr, netApr, basisRate, spreadRate, cumRate7d, etc.) are stored as decimal ratios in the API -- e.g. apr = 2.74 means 274% annualized. The terminal renderer formats these as percentages for clarity (+274%, -6.69%); --json and piped TSV preserve the raw decimals for scripting.
JSON
Pass --json to data commands for raw JSON output:
JSON output
sharpe market --json
Pipe into jq for field selection:
Pipe to jq
sharpe market --json | jq '.bitcoin.price'
# 84231.40
CSV
Pass --csv for comma-separated output:
CSV output
sharpe funding --csv > funding_rates.csv
Piping and scripting
Because non-TTY output is clean TSV, you can use standard Unix tools directly:
Filter and sort with standard tools
sharpe funding | sort -t$'\t' -k3 -rn | head -10
Save arbitrage data to a file
sharpe arb spot-perp --json > arb_snapshot_$(date +%Y%m%d).json
Configuration
The CLI reads settings from ~/.config/sharpe/config.yaml. Create it manually or run sharpe login to generate it.
~/.config/sharpe/config.yaml
api_key: sk_live_your_key_here
default_coin: BTC
default_timeframe: 3M
- Name
api_key- Type
- string
- Description
Your Sharpe API key from the API key dashboard. Overridden by the
SHARPE_API_KEYenvironment variable.
- Name
default_coin- Type
- string
- Description
Default coin for commands that accept
--coin. Defaults toBTC. Overridden by theSHARPE_DEFAULT_COINenvironment variable.
- Name
default_timeframe- Type
- string
- Description
Default timeframe for futures commands. Defaults to
3M. Valid values:1W,2W,1M,3M,6M,1Y,3Y,ALL. Overridden by theSHARPE_DEFAULT_TIMEFRAMEenvironment variable.
Environment variables
Environment variables take precedence over the config file:
Environment variable overrides
export SHARPE_API_KEY="sk_live_your_key_here"
export SHARPE_API_URL="https://www.sharpe.ai"
export SHARPE_FREE_URL="https://www.sharpe.ai"
export SHARPE_DEFAULT_COIN="ETH"
export SHARPE_DEFAULT_TIMEFRAME="1M"
export SHARPE_NO_UPDATE_CHECK="1"
The priority order is: environment variable > CLI flag > config file > built-in default.
- Name
SHARPE_API_KEY- Type
- string
- Description
API key for authenticated
/api/v1/*requests. Overridesapi_keyin the config file.
- Name
SHARPE_API_URL- Type
- string
- Description
Site root for authenticated API calls. Defaults to
https://www.sharpe.ai; legacy/apior/api/v1base values are normalized.
- Name
SHARPE_FREE_URL- Type
- string
- Description
Site root for free public API fallback calls. Defaults to
https://www.sharpe.ai; legacy/apibase values are normalized.
- Name
SHARPE_DEFAULT_COIN- Type
- string
- Description
Default coin for commands that accept
--coin. Overridesdefault_coinin the config file.
- Name
SHARPE_DEFAULT_TIMEFRAME- Type
- string
- Description
Default timeframe for futures and watch-mode chart calls. Overrides
default_timeframein the config file.
- Name
SHARPE_NO_UPDATE_CHECK- Type
- string
- Description
Set to
1to disable the once-per-day package update check.
Custom SHARPE_API_URL and SHARPE_FREE_URL values must use https://, except http://localhost, http://127.0.0.1, or http://[::1] for local development. The CLI refuses API redirects so credentials are not forwarded to unexpected hosts.
Watch mode
Watch mode clears the screen and re-fetches data at a fixed interval. It is useful for keeping a terminal pane open during a trading session.
Watch market data every 30 seconds
sharpe watch market
Watch funding rates for ETH every 15 seconds
sharpe watch funding --coin ETH --interval 15
Watch futures OI chart
sharpe watch futures --chart oi-stacked --coin BTC
Supported watch targets: market, funding, futures, arb.
Press Ctrl+C to exit. The header shows the current UTC time and refresh interval.
Watch mode requires a TTY. It will not work when piped to another process.
Works without an API key
Most commands work without authentication. When no API key is configured, the CLI tries the free public endpoints at www.sharpe.ai/api/ instead of the authenticated v1 API at www.sharpe.ai/api/v1/. Commands backed only by authenticated v1 endpoints require an API key.
Free endpoints have lower rate limits and may not include all data fields. Run sharpe login to authenticate and unlock full access.
To check your current authentication status and connectivity:
Diagnose your setup
sharpe doctor