Skip to main content
The fastest way to start accepting USDC is to run npx create-kibble and follow the interactive prompts. The whole process takes under five minutes and produces a shareable payment link plus a merchant portal where you can track incoming transfers.
Kibble is currently accessed through the CLI. Do not call backend routes directly; use npx create-kibble for both interactive and automated workflows.

Interactive setup

1

Run the CLI

Open your terminal and run:
npx create-kibble
The Kibble banner appears and the CLI asks for your business name and email. These are used to label your payment link and, if you choose the privy wallet option, to provision a deposit address tied to your email.
  ██╗  ██╗██╗██████╗ ██████╗ ██╗     ███████╗
  ██║ ██╔╝██║██╔══██╗██╔══██╗██║     ██╔════╝
  █████╔╝ ██║██████╔╝██████╔╝██║     █████╗
  ██╔═██╗ ██║██╔══██╗██╔══██╗██║     ██╔══╝
  ██║  ██╗██║██████╔╝██████╔╝███████╗███████╗
  ╚═╝  ╚═╝╚═╝╚═════╝ ╚═════╝ ╚══════╝╚══════╝

  The bank in your terminal.
2

Choose kibble charge

When prompted for what you want to do, select kibble charge.
◆  What do you want to do?
●  kibble charge   accept payments, generate links, track receivables
○  kibble invoice  create, send, and track invoices
The CLI then asks for the amount you want to charge in USDC, such as 49.00. Enter a positive number with up to two decimal places.
3

Choose a wallet

Select where incoming payments should land.
◆  Where should payments land?
●  Create a wallet for me   recommended — Kibble provisions it
○  Use my existing USDC address on Base
If you are new to crypto wallets, choose Create a wallet for me. Kibble provisions an embedded wallet via your email using Privy and reuses that same address for every future charge you create with the same email. See Wallets for more detail.If you already have a USDC address on Base, choose the second option and paste your 0x… address when prompted.
4

Share your link

Kibble creates the payment link and prints the result:
You're live.

https://pay.kibble.sh/pay/ab3xq7yz
Merchant portal:  https://pay.kibble.sh/merchant/ab3xq7yz
Wallet:           0xAbCd...1234
Embed snippet:    <iframe src="https://pay.kibble.sh/pay/ab3xq7yz" width="400" height="600" frameborder="0"></iframe>
Share the payment link with your payer. They open it in a browser, scan the QR code, and send USDC on Base. Your merchant portal updates as soon as the transfer is detected on-chain.

Non-interactive mode with --yes

If you want to script payment link creation - in a CI pipeline, an agent workflow, or a shell script - use the --yes flag. Kibble reads configuration from environment variables and prints the result as JSON.
KIBBLE_EMAIL="you@example.com" \
KIBBLE_AMOUNT="149.00" \
KIBBLE_WALLET_TYPE="privy" \
KIBBLE_BUSINESS_NAME="Acme SaaS" \
npx create-kibble --yes
Expected output:
{
  "slug": "ab3xq7yz",
  "paymentLink": "https://pay.kibble.sh/pay/ab3xq7yz",
  "merchantPortal": "https://pay.kibble.sh/merchant/ab3xq7yz",
  "walletAddress": "0xAbCd...1234",
  "iframeSnippet": "<iframe src=\"https://pay.kibble.sh/pay/ab3xq7yz\" width=\"480\" height=\"640\" frameborder=\"0\"></iframe>"
}
KIBBLE_EMAIL and KIBBLE_AMOUNT are required when using --yes. The CLI exits with a non-zero status and a JSON error object if either is missing.

Environment variables

VariableRequiredDescription
KIBBLE_EMAILYesYour merchant email address
KIBBLE_AMOUNTYesCharge amount in USDC (e.g. 49.00)
KIBBLE_WALLET_TYPENoprivy (default) or byo
KIBBLE_WALLETIf byoYour USDC wallet address on Base
KIBBLE_BUSINESS_NAMENoDefaults to My Business

Next steps

Payment links

Learn about statuses, the merchant portal, and how to embed a payment widget.

Invoices

Send itemized PDF invoices to vendors and get notified when they pay.