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

clawcard

v0.0.2

Published

Virtual card management from the command line. Built on the Privacy.com API.

Readme


Quick Start

# Run directly — no install needed
npx clawcard login -e [email protected]

# Or install globally
npm install -g clawcard
clawcard login -e [email protected]

# One-time purchase — card auto-exhausts after use
clawcard burner 25.50 -m "amazon.com"

# Recurring service — create, pay, freeze, repeat
clawcard create -n "Spotify" -l 16 -c subscriptions
clawcard done <card-id>       # freeze after payment
clawcard use <card-id>        # unfreeze next month

Why ClawCard?

Privacy.com lets you create virtual debit cards for online purchases. ClawCard wraps their internal API into a fast, scriptable CLI — no browser needed.

  • One command to create a card, pay, and lock it down
  • npx ready — run without installing
  • MCP server included — use your cards from Claude Code or any MCP client
  • Node.js 18+ — uses native fetch, minimal dependencies

Card Types

Burner Cards

Single-use cards for one-time purchases. Amount rounds up to the next whole dollar.

clawcard burner 49.99 -m "newegg.com"
Burner Card Created
  Number:   4242 8310 •••• 7291
  CVC:      •••
  Merchant: newegg.com
  Limit:    $50.00
  Type:     single use
  Status:   active
  ID:       a1b2c3d4-...

Reusable Cards

For subscriptions and recurring payments. Set a monthly spending limit and optional merchant category.

clawcard create -n "Netflix" -l 23 -c entertainment
Reusable Card Created
  Name:     Netflix
  Category: entertainment
  Limit:    $23.00/monthly
  Status:   active
  ID:       a1b2c3d4-...

Commands

| Command | Description | |---------|-------------| | login [-e email] | Authenticate with Privacy.com | | logout | Clear saved credentials | | burner <amount> -m <merchant> | Create a single-use card | | create -n <name> -l <limit> [-c <cat>] | Create a reusable card | | use <id> | Unfreeze a card for payment | | done <id> [--fail] | Freeze after payment (--fail zeroes limit) | | list [--state active\|frozen\|closed] [--month YYYY-MM] | List cards | | show <id> | Show full card details | | update <id> [--name] [--limit] [--category] | Update a card | | close <id> | Permanently close a card | | categories | List merchant categories |


Workflows

ONE-TIME PURCHASE
  burner 25.50 -m "amazon.com"  ──▶  active  ──▶  payment  ──▶  exhausted

UNUSED BURNER ── SAVE FOR LATER
  burner 50 -m "store.com"      ──▶  active  ──▶  done <id>  ──▶  frozen
                                                   use <id>   ──▶  active

RECURRING PAYMENT
  create -n "Spotify" -l 16     ──▶  active  ──▶  payment
                                     done <id>  ──▶  frozen
                                     use <id>   ──▶  active  ──▶  payment
                                     done <id>  ──▶  frozen  ──▶  ...

PAYMENT FAILED
  done <id> --fail              ──▶  frozen + limit zeroed

Card state machine:

    ┌─────────┐     done      ┌─────────┐
    │  OPEN   │──────────────▶│ PAUSED  │
    │ (active)│◀──────────────│ (frozen)│
    └────┬────┘     use       └─────────┘
         │
         │ close
         ▼
    ┌─────────┐
    │ CLOSED  │  (permanent, cannot be undone)
    └─────────┘

MCP Server

ClawCard includes a Model Context Protocol server for AI-assisted card management.

Setup

# Register with Claude Code
claude mcp add clawcard -- node /path/to/bin/mcp-server.js

# Or if installed globally
claude mcp add clawcard -- npx clawcard-mcp

Available Tools

| Tool | Description | |------|-------------| | login_status | Check authentication state | | list_cards | List all cards (filter by state/month) | | get_card | Get full card details including PAN | | create_burner | Create a single-use card | | create_card | Create a reusable card with monthly limit | | update_card | Update name, limit, or category | | freeze_card | Pause a card | | unfreeze_card | Resume a paused card | | close_card | Permanently close a card | | list_categories | List merchant categories |


Project Structure

bin/
  cli.js               Entry point (#!/usr/bin/env node)
  mcp-server.js        MCP server (10 tools)
lib/
  api.js               Privacy.com API client (native fetch)
  cli.js               All commands + input helpers
  config.js            Token storage (~/.clawcard/config.json, 0600)
  format.js            Colors, categories, formatting helpers
test/
  cli.test.js          Unit tests (node:test)
  e2e.test.js          E2E tests (real API, skips if not logged in)
privacy-extension-api.md   Full API reference

Testing

# Unit tests — no account needed
npm test

# E2E tests — requires login, creates a real $1 card and closes it
clawcard login
npm run test:e2e

E2E tests skip gracefully if not logged in.


Currency Reference

| Field | Format | Example | |-------|--------|---------| | spendLimit | Dollars (integer) | 66 = $66.00 | | spentTotal | Dollars (float) | 2.95 = $2.95 | | Transaction amount | Cents (divide by 100) | 295 = $2.95 |


Merchant Categories

automotive    cleaning      digital       dining
education     entertainment groceries     health
home          nonprofit     pets          professional
retail        sports        subscriptions travel

Use prefix matching: -c din matches dining, -c ent matches entertainment.


Security

  • Credentials stored at ~/.clawcard/config.json with 0600 permissions
  • Directory permissions set to 0700
  • No tokens in environment variables, command history, or logs
  • Auth uses Privacy.com's email + one-time-code flow

Requirements

  • Node.js 18+
  • Dependencies: commander, @modelcontextprotocol/sdk, zod

License

MIT