API Reference
Payment Links
Create reusable, shareable checkout links.
The Payment Link object
A reusable, shareable checkout URL. Each visitor who pays a link gets their own invoice and address. Links can charge a fixed price or let the customer choose the amount.
objectstring- Always `"payment_link"`.
idstring- Unique identifier for the link.
statusstring- Lifecycle state of the link (e.g. `active`).
titlestring | null- Optional display title.
descriptionstring | null- Optional description shown on checkout.
amount_modestring- Whether the amount is fixed or chosen by the payer.
amount_usdnumber | null- Fixed price in USD (fixed mode only).
min_amount_usdnumber | null- Minimum USD amount (flexible mode only).
max_amount_usdnumber | null- Maximum USD amount (flexible mode only).
assetstring- Settlement asset. Currently always `BTC`.
link_urlstring- Public checkout URL to share.
created_atstring- ISO 8601 creation timestamp.
Example payment_link
application/json
Create a payment link
writeIdempotentPOST
Creates a shareable checkout link. Use `fixed` mode with `amount_usd` for a set price, or `flexible` mode with optional `min_amount_usd`/`max_amount_usd` to let the payer choose. Each payment against the link generates its own invoice and address.
Body parameters
amount_modestringOptional- Pricing mode.One of:
fixedflexibleDefault: fixed amount_usdnumberOptional- Fixed price in USD. Required when `amount_mode` is `fixed`.> 0, max 1,000,000
min_amount_usdnumberOptional- Minimum amount (flexible mode).> 0, max 1,000,000
max_amount_usdnumberOptional- Maximum amount (flexible mode).> 0, max 1,000,000
titlestringOptional- Display title on checkout.max 200 chars
descriptionstringOptional- Description shown on checkout.max 500 chars
Request
Response · 201
application/json
Errors
400invalid_requestThe request was malformed — a field is missing, the wrong type, or out of range. The message names the offending field.403forbiddenThe key is valid but read-only, and the operation requires a write-scoped key.409conflictAn Idempotency-Key is still processing, or was reused with a different body.413payload_too_largeThe request body exceeded the maximum allowed size.
List payment links
readGET
Returns a list of payment links belonging to the authenticated merchant.
Query parameters
limitintegerOptional- Maximum number of items to return, newest first.1–100 · Default: 50
Request
Response · 200
application/json
Errors
400invalid_requestThe request was malformed — a field is missing, the wrong type, or out of range. The message names the offending field.
Retrieve a payment link
readGET
Returns the payment link with the given id.
Path parameters
idstringRequired- The payment link id.
Request
Response · 200
application/json
Errors
404not_foundNo resource with that id belongs to the authenticated merchant.