npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@versepress/cli

v1.0.1

Published

CLI tool for the Verse Press crypto news API

Readme

Verse Press CLI

 ██╗   ██╗███████╗██████╗ ███████╗███████╗
 ██║   ██║██╔════╝██╔══██╗██╔════╝██╔════╝
 ██║   ██║█████╗  ██████╔╝███████╗█████╗
 ╚██╗ ██╔╝██╔══╝  ██╔══██╗╚════██║██╔══╝
  ╚████╔╝ ███████╗██║  ██║███████║███████╗
   ╚═══╝  ╚══════╝╚═╝  ╚═╝╚══════╝╚══════╝

 ██████╗ ██████╗ ███████╗███████╗███████╗
 ██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
 ██████╔╝██████╔╝█████╗  ███████╗███████╗
 ██╔═══╝ ██╔══██╗██╔══╝  ╚════██║╚════██║
 ██║     ██║  ██║███████╗███████║███████║
 ╚═╝     ╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝

 Crypto news from the Global South

A 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/cli

That gives you the vp command globally. Verify it works:

vp --help

Node 18+ required. Also available as versepress if vp conflicts 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 --global

Get 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 headlines

Usage

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 page

Alias: 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, popularity

Alias: vp s

Read an Article

vp article bitcoin-etf-inflows-hit-record

Displays 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 sources

No API key required.

Health Check

vp health              # Is the API up?
vp health --ready      # Full check: DB + Redis status

All 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 health

API 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_KEY env var to avoid persisting keys to disk.

API Docs

Community

License

MIT