Skip to main content
All invoice IDs use opaque inv_ tokens. Internal UUIDs are never returned.

Authentication

Create invoice

POST /v1/invoices

Request body

Response 201

Returns id (inv_...), status, checkout_url, amount, currency, output_asset, expires_at.

Errors

Webhooks

invoice.created when the invoice is persisted.

Examples

Security

Never log full API keys. checkout_url is buyer-facing; do not embed secrets in metadata.

List invoices

GET /v1/invoices Query: status, external_order_id, payment_link_id (plink_...).

Retrieve invoice

GET /v1/invoices/{id} Response uses snake_case. Money fields are strings.

Poll status

GET /v1/invoices/{id}/status Lightweight status for hosted checkout polling. May include deposit_address, swap_status, and return_url when applicable.

Cancel invoice

POST /v1/invoices/{id}/cancel Only open invoices (awaiting_payment, quoted, etc.) can be cancelled. Emits invoice.cancelled webhook.