@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 and 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, since 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.jsonwith0600permissions 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 by re-running
pincerpay login. - HMAC-SHA256 server-side hashing with pepper.
- All operations audit-logged.
Companion packages
@pincerpay/onboarding: pure crypto for wallet generation. The CLI'screate-walletsis a thin wrapper.@pincerpay/mcp: the same operations exposed as MCP tools. Picks up the same~/.pincerpay/credentials.jsonautomatically.@pincerpay/merchant: Hono middleware for accepting payments after onboarding.