npx penny-pincher | claude

Level up your personal finances with an agent-optimized financial CLI.

§01 / Connect

plaid link · 30 seconds

Connect your bank.

$npx penny-pincher auth

Plaid Link opens in your browser. The CLI stashes an encrypted token envelope at ~/.penny-pincher/config.json and your bank credentials never touch our servers. Everything lives on your machine.

§02 / View

json out · pipe anywhere

Read your finances.

$npx penny-pincher accounts $npx penny-pincher balances $npx penny-pincher transactions --days 30

Every data command prints JSON straight to stdout. Pipe it into jq, feed it to an agent, or write it to disk.

§03 / Commands

08 verbs · JSON out

The whole CLI.

penny-pincher auth
Opens Plaid Link, exchanges the public token through the broker, and saves local token metadata.
penny-pincher accounts
Print linked accounts.
penny-pincher balances
Print accounts with current and available balances.
penny-pincher transactions --days 30
Print recent transactions. Also accepts --start / --end.
penny-pincher identity
Print account owner identity data when the product is enabled.
penny-pincher numbers
Print ACH / routing data when the Plaid auth product is enabled.
penny-pincher status
Print local connection metadata without exposing the access token.
penny-pincher logout
Remove the saved local token envelope.

▪ All data commands print JSON · pipe straight into jq or hand to an agent.

§04 / Self-host

vercel · 30s deploy

Bring your own broker.

Deploy the repository to Vercel and set six environment variables. Then point the CLI at it.

PLAID_CLIENT_ID=your-client-id PLAID_SECRET=your-secret PLAID_ENV=sandbox PLAID_REDIRECT_URI=http://localhost:7777/oauth-return PENNY_PINCHER_ENCRYPTION_KEY=at-least-32-random-bytes PENNY_PINCHER_TOKEN_KEY_VERSION=v1

▪ Generate a strong key with openssl rand -base64 32

Or skip the broker entirely and use local Plaid credentials with --direct-plaid.

# point the CLI at your deployment $export PENNY_PINCHER_API_URL=https://your-app.vercel.app $npx penny-pincher auth # or skip the broker entirely $export PLAID_CLIENT_ID=your-client-id $export PLAID_SECRET=your-secret $npx penny-pincher auth --direct-plaid