@pincerpay/cli

Frictionless terminal-only CLI for PincerPay merchant onboarding. No browser required.

@pincerpay/cli is the terminal interface for PincerPay merchant onboarding. Sign up, verify email, generate non-custodial wallets, create merchant records, mint API keys, manage sessions — all from the command line. No browser interaction at any point.

Install

Use directly with npx:

npx @pincerpay/cli signup

Or install globally:

npm install -g @pincerpay/cli
pincerpay signup

Quick start

Three commands from zero to live:

npx @pincerpay/cli signup
npx @pincerpay/cli bootstrap-merchant --name "Acme Co" --chains "solana,polygon"
# (paste env vars into `vercel env add`)

Account commands

signup

Create a new PincerPay account. Walks through email + password + email-OTP verification entirely in the terminal.

pincerpay signup [--email <email>]

After successful verification, credentials are saved at ~/.pincerpay/credentials.json and the CLI is ready for authenticated operations.

login

Sign in to an existing account.

pincerpay login [--email <email>]

logout

Revoke the CLI session server-side and delete local credentials.

pincerpay logout

whoami

Show the currently authenticated user, session, and merchant.

pincerpay whoami

recover

Send a password recovery code to your email.

pincerpay recover [--email <email>]

reset-password

Reset your password using the recovery code from email.

pincerpay reset-password [--email <email>]

change-password

Change your password while logged in. Revokes all other CLI sessions for the account.

pincerpay change-password

Wallet commands

create-wallets

Generate non-custodial Solana + EVM wallets from a single BIP-39 mnemonic. Pure client-side crypto — no auth, never talks to PincerPay.

pincerpay create-wallets [--strength 12|24] [--mnemonic <words>] [--json] [--no-private-keys]

Phantom-compatible Solana derivation at m/44'/501'/0'/0'. MetaMask-compatible EVM derivation at m/44'/60'/0'/0/0. The mnemonic recovers both wallets in those clients.

Merchant onboarding

bootstrap-merchant

End-to-end onboarding in one command. Generates wallets, creates the merchant record, mints an initial API key. Idempotent — safe to re-run; finds an existing merchant for the account if one exists.

pincerpay bootstrap-merchant \
  --name "Acme Co" \
  [--chains "solana,polygon"] \
  [--webhook-url <url>] \
  [--api-key-label "default"] \
  [--mnemonic <words>] \
  [--strength 12|24] \
  [--skip-api-key]

Output ends with a paste-ready env-var block.

API key commands

pincerpay api-keys create [--label <label>]   # mint a new pp_live_* key
pincerpay api-keys list                        # list all keys for the merchant
pincerpay api-keys rotate <id>                 # atomically mint new + revoke old
pincerpay api-keys revoke <id>                 # revoke a key

Wallet management

pincerpay wallet set --solana <addr> --evm <addr> [--force]

Updates the merchant's per-chain wallet addresses. Confirms before committing — wallet rotation redirects all future settlements. Audit-logged server-side.

Session management

pincerpay sessions list                       # active CLI sessions
pincerpay sessions revoke <id>                # revoke a session by id

Env block

pincerpay env                                  # print env-var template

Prints an env-var template based on the current merchant config. Uses public values (addresses, API key prefix) only — raw API keys are shown only once at creation time and must come from your password manager.

Configuration

Variable Default Purpose
PINCERPAY_FACILITATOR_URL https://facilitator.pincerpay.com Override facilitator endpoint

Or pass --facilitator-url <url> to any command.

Security

  • Tokens stored at ~/.pincerpay/credentials.json with 0600 permissions on POSIX, current-user ACL on Windows.
  • Atomic writes (temp file + rename) prevent corruption from concurrent CLI invocations.
  • 30-day default token lifetime. Refresh-on-expiry — re-run pincerpay login.
  • HMAC-SHA256 server-side hashing with pepper.
  • All operations audit-logged.

Companion packages

  • @pincerpay/onboarding — pure crypto for wallet generation. The CLI's create-wallets is a thin wrapper.
  • @pincerpay/mcp — same operations exposed as MCP tools. Picks up the same ~/.pincerpay/credentials.json automatically.
  • @pincerpay/merchant — Hono middleware for accepting payments after onboarding.