Skip to main content
A payment link is a unique URL that gives your payer a checkout page with a QR code and a USDC deposit address on Base. You create the link once, share it with your payer, and Kibble handles the rest — detecting the on-chain payment and updating the status automatically.

How it works

1

Create a payment link

Run npx create-kibble in your terminal or call POST /api/links with your business name, email, expected amount, and wallet preference. Kibble returns a unique URL and deposit address.
2

Share the link with your payer

Send the payment_link URL directly, embed the checkout on your website, or display the QR code anywhere your payer can scan it.
3

Payer sends USDC

Your payer opens the checkout page, scans the QR code or copies the deposit address, and sends USDC on Base from any wallet.
4

Status updates in real time

The checkout page polls for on-chain activity every few seconds. Once Kibble detects the transfer, it updates the payment status automatically.

Payment status lifecycle

Every payment link starts in pending and moves to a final state once Kibble detects an on-chain transfer.
StatusMeaning
pendingNo payment detected yet.
confirmedExact amount received — payment complete.
partialLess than the expected amount received. Payer can top up.
excessMore than the expected amount received. Noted for the merchant.
errorSomething went wrong processing the payment.
npx create-kibble
The interactive prompt asks for your business name, email, expected amount, and wallet type, then prints your payment link and merchant portal URL.

Next steps

Checkout page

Learn what your payer sees on the checkout page and how real-time status updates work.

Embed on your site

Add the payment widget to your website using an iframe or a JS snippet.