Skip to main content
The Kibble CLI lets you accept USDC payments and send invoices without leaving your terminal. You can run it interactively to walk through a guided prompt flow, use --yes with environment variables for scripted one-liners, or pipe a JSON payload with --stdin to automate invoice creation in CI pipelines and agent workflows. No global installation is required — just run npx create-kibble.

Installation

You do not need to install anything globally. Run the CLI directly with npx:
npx create-kibble
For local development or to pin a specific version, install it as a dev dependency:
npm install --save-dev create-kibble
Then invoke it via your package.json scripts or npx:
npx create-kibble

Commands

The CLI exposes two main commands after you complete the initial prompts:
CommandWhat it does
kibble chargeCreates a USDC payment link and opens it in your browser
kibble invoiceCreates and emails a USDC invoice to your vendor

Three ways to run the CLI

Interactive

Run npx create-kibble with no flags. The CLI prompts you for your business name, email, and action. Best for one-off payments and invoices.

Non-interactive (--yes)

Pass --yes and set environment variables to skip all prompts. Prints the result as JSON to stdout. Best for shell scripts and CI jobs.

Piped JSON (--stdin)

Pipe a JSON invoice payload to stdin with --stdin. Prints the API response as JSON. Best for automation, agent workflows, and programmatic use.

Flags and environment variables

CLI flags

FlagDescription
--yesNon-interactive mode. Reads all inputs from environment variables and prints JSON to stdout.
--stdinReads a JSON invoice payload from stdin and prints the API response as JSON to stdout.
--stdin --dry-runValidates the invoice JSON payload and echoes it back without calling the API.

Environment variables

VariableUsed withDescription
KIBBLE_EMAIL--yesYour merchant email address.
KIBBLE_AMOUNT--yesPayment amount in USDC (e.g. "150.00").
KIBBLE_WALLET_TYPE--yesprivy for a managed wallet or byo for your own.
KIBBLE_WALLET--yesYour wallet address (required when KIBBLE_WALLET_TYPE=byo).
KIBBLE_BUSINESS_NAME--yesYour business name for the payment link.
KIBBLE_BASE_URLAny modeOverride the API base URL (e.g. http://localhost:3000 for local dev).
DO_NOT_TRACK=1Any modeDisable anonymous analytics.

Pointing the CLI at a different API

Set KIBBLE_BASE_URL to redirect all CLI requests to a different host. This is useful for local development or staging environments:
KIBBLE_BASE_URL=http://localhost:3000 npx create-kibble --yes
Use --stdin when you need to create invoices from an automated system, a scheduled job, or an AI agent. Pipe any JSON that conforms to the invoice schema and capture the structured JSON response for downstream processing:
cat invoice.json | npx create-kibble --stdin
Combine with --dry-run to validate payloads in CI before they hit the API.

Next steps

Create a payment link

Walk through the kibble charge flow and learn the --yes non-interactive mode.

Send an invoice

Walk through the kibble invoice flow and learn how to pipe JSON with --stdin.