Invoices
An invoice is a fiat-priced payment request. You create it through the API or admin panel; Cryptonly returns a hosted payment page URL (paymentPageUrl) that you send to the customer.
The customer opens the payment page, picks a cryptocurrency, and pays to a pool deposit address assigned for that attempt. Cryptonly monitors the blockchain, runs compliance checks, and settles the payment into your merchant balance.
Invoice amounts are always expressed in fiat (for example USD or EUR). The crypto amount is calculated at checkout from live rates when the customer selects a currency.

How status and webhooks work
Invoices have statuses. Cryptonly sends a signed invoice.statusChanged webhook when the invoice status changes.
Important behaviors for integrators:
On create, the invoice starts in
createdand you receive one webhook with statuscreated.When the customer selects a currency and a deposit address is generated, the invoice stays
created— there is no extra status and no secondcreatedwebhook. If the customer switches currency, the invoice still stayscreated.When an on-chain transaction is first detected, the invoice moves to
processing, then to a settled status (paid,partially_paid, oroverpaid) or a terminal failure state (failed,suspended,expired,cancelled).
Linked deposits do not send deposit.statusChanged webhooks. Listen for invoice.statusChanged for checkout payments.
Related pages
Processing lifecycle — full step-by-step flow
Statuses — status table and integration notes
Webhooks — verification and payload details
Last updated