@versepress/cli
v1.0.1
Published
CLI tool for the Verse Press crypto news API
Readme
Verse Press CLI
██╗ ██╗███████╗██████╗ ███████╗███████╗
██║ ██║██╔════╝██╔══██╗██╔════╝██╔════╝
██║ ██║█████╗ ██████╔╝███████╗█████╗
╚██╗ ██╔╝██╔══╝ ██╔══██╗╚════██║██╔══╝
╚████╔╝ ███████╗██║ ██║███████║███████╗
╚═══╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝
██████╗ ██████╗ ███████╗███████╗███████╗
██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
██████╔╝██████╔╝█████╗ ███████╗███████╗
██╔═══╝ ██╔══██╗██╔══╝ ╚════██║╚════██║
██║ ██║ ██║███████╗███████║███████║
╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
Crypto news from the Global SouthA developer-friendly CLI for the Verse Press API. Browse crypto news from Asia, Africa, Latin America, and the Middle East, right from your terminal.
Two ways to use it: interactive mode (guided prompts) or headless (flags and pipes).
Install
pnpm add -g @versepress/cliThat gives you the vp command globally. Verify it works:
vp --helpNode 18+ required. Also available as
versepressifvpconflicts with something on your system.
From source
git clone https://github.com/jtxmp/verse-press-cli.git
cd verse-press-cli
pnpm install
pnpm link --globalGet an API Key
You need a key for article endpoints. Sources and health checks are public.
Option A: Interactive (recommended for first-timers)
Run vp with no arguments. The setup wizard walks you through registration:
$ vp
How would you like to authenticate?
1) Email registration Free tier, 100 requests/day
2) VERSE token holder 1,000 requests/day
3) I already have a key Paste it in
>Pick option 1, enter your email, verify via the link in your inbox, then paste the key when prompted. Done.
Option B: Headless
# Register
vp auth register [email protected]
# Check your email, click the verification link, copy the key
# Save it
vp auth save vp_your-key-here
# Verify it works
vp headlinesUsage
Top Headlines
vp headlines # Latest 10 articles
vp headlines -n 5 # Latest 5
vp headlines -r asia # Filter by region
vp headlines -c defi # Filter by category
vp headlines -s cointelegraph,coindesk # Filter by source
vp headlines -q "stablecoin" # Keyword search
vp headlines -n 20 -p 2 # Page 2, 20 per pageAlias: vp h
Search
vp search "bitcoin ETF" # Full-text search
vp search "regulation" --title-only # Titles only
vp search "defi" -r asia -c regulation -n 5 # Combined filters
vp search "bitcoin" --from 2026-01-01 --to 2026-02-01
vp search "staking" --sort relevancy # Sort options: publishedAt, relevancy, popularityAlias: vp s
Read an Article
vp article bitcoin-etf-inflows-hit-recordDisplays the full article with source, author, date, tags, and content. Free tier keys see truncated content (200 chars); token holder keys get the full text.
Alias: vp a
Browse Sources
vp sources # All sources
vp sources --language en # English only
vp sources --region asia # Asia region
vp sources --category defi # DeFi sourcesNo API key required.
Health Check
vp health # Is the API up?
vp health --ready # Full check: DB + Redis statusAll Commands
| Command | What it does |
|---------|-------------|
| vp | Interactive mode: setup wizard or main menu |
| vp headlines | Top headlines with filters |
| vp search <query> | Search articles |
| vp article <slug> | Read a single article |
| vp sources | List news sources |
| vp health | API health check |
| vp auth register <email> | Register for a free key |
| vp auth save <key> | Save a key to local config |
| vp auth nonce <wallet> | Get a signing challenge (token holders) |
| vp auth verify-wallet <wallet> <sig> | Verify wallet signature |
| vp auth status | Show saved key and tier |
| vp config show | Show config (key, URL, tier, file path) |
| vp config set-url <url> | Point to a different API instance |
| vp config reset | Clear all saved config |
| vp --help | Full help |
Configuration
Your API key and settings are stored locally at:
- Windows:
%APPDATA%/verse-press-cli-nodejs/Config/config.json - macOS:
~/Library/Preferences/verse-press-cli-nodejs/config.json - Linux:
~/.config/verse-press-cli-nodejs/config.json
Environment Variables
These override saved config. Useful for CI, scripts, or keeping keys out of config files.
| Variable | Purpose |
|----------|---------|
| VERSE_PRESS_API_KEY | Use this key instead of the saved one |
| VERSE_PRESS_URL | Use this base URL instead of production |
# One-off with env var
VERSE_PRESS_API_KEY=vp_abc123 vp headlines
# Point to a local dev server
VERSE_PRESS_URL=http://localhost:3000 vp healthAPI Tiers
| | Free | Token Holder | |---|---|---| | Daily requests | 100 | 1,000 | | Requests per minute | 10 | 60 | | Article content | Truncated (200 chars) | Full text | | How to get it | Email verification | VERSE wallet proof |
Free tier: vp auth register <email>, verify via email link, save the key.
Token holder tier: Hold VERSE tokens in an Ethereum or Polygon wallet. Run vp auth nonce <wallet>, sign the message, then vp auth verify-wallet <wallet> <signature>. Higher limits and full article content.
VERSE token contracts:
| Network | Contract | |---------|----------| | Ethereum | 0x249cA82617eC3DfB2589c4c17ab7EC9765350a18 | | Polygon | 0xc708D6F2153933DAA50B2D0758955Be0A93A8FEC |
Security
- API keys are only sent over HTTPS. The CLI refuses to transmit keys over plain HTTP (localhost excepted for local dev).
- Base URL validation rejects non-HTTP protocols.
- Response bodies are capped at 5 MB.
- Keys are stored in your OS user config directory with standard file permissions.
- You can use
VERSE_PRESS_API_KEYenv var to avoid persisting keys to disk.
API Docs
- Interactive docs: api.press.vgdh.io/docs
- OpenAPI spec: api.press.vgdh.io/api-docs/openapi.json
Community
- Telegram: t.me/GetVerse
- Support: [email protected]
License
MIT
