POST /api/links to generate a unique payment link. Kibble creates a deposit address on Base, provisions or looks up your wallet, and returns a hosted checkout URL you can share directly, embed as an iframe, or drop in as a JS widget. The checkout page displays your business name, the expected amount, and a QR code pointing to the deposit address.
Request
Body parameters
Your business name as it appears on the checkout page.
Your email address. Kibble uses this to identify your account and provision your managed wallet when
wallet_type is "privy".The USDC amount you expect to receive. Provide up to two decimal places (e.g.
"49.00"). Kibble uses this value to classify the payment as confirmed, partial, or excess.How Kibble should resolve your receiving wallet. Use
"privy" for a Kibble-managed wallet or "byo" to supply your own address.Required when
wallet_type is "byo". Must be a valid EVM address in checksum format (e.g. "0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B").Optional description shown on the checkout page below the amount (e.g.
"Monthly subscription").Example request
Response
A successful request returns201 Created with the following fields.
Unique identifier for this payment link. Use it to retrieve status or details via other API endpoints.
The hosted checkout URL. Share this with your payer or embed it in your product.
A merchant-facing URL where you can monitor payment status for this link.
The on-chain deposit address on Base where USDC should be sent.
A ready-to-use
<iframe> HTML snippet that embeds the checkout page on your website.A
<script> tag that loads the Kibble JS widget. Drop it into any page to render the checkout inline.Example response
201
Errors
| Status | Body | Cause |
|---|---|---|
400 | { "error": { ... } } | One or more request fields failed validation. The error object contains field-level details. |
500 | { "error": "Failed to provision wallet" } | Kibble could not create or retrieve your managed wallet. |
500 | { "error": "Failed to create payment link" } | A database error prevented the link from being saved. |