Choosing a payment method
Cryptonly has three payment primitives. Every invoice payment and deposit gets its own dedicated on-chain address, and all of them share the same confirmation infrastructure, but they fit different use cases.
| Primitive | Use it when | Amount | Address reuse | Webhook event |
|---|---|---|---|---|
| Invoice | Checkout — customer pays a fixed price for an order | Fixed, priced in fiat; the network fee is added on top | New address per payment attempt | invoice.statusChanged |
| Deposit | A crypto top-up to your balance, outside of checkout | Flexible, at or above a currency minimum; the network fee is withheld | New address per deposit | deposit.statusChanged |
| Withdrawal | Paying funds out of your balance to an external wallet | Merchant-specified | N/A — sends out, not in | withdrawal.statusChanged |
Still not sure?
Section titled “Still not sure?”- Selling a product or service with a known price? Use an Invoice.
- Accepting an open-ended top-up (for example, funding a customer’s in-app balance)? Use a Deposit. If the same customer tops up again, create a new deposit for each payment.
- Sending funds out to a customer, supplier, or your own external wallet? Use a Withdrawal.
Every primitive is backed by the same on-chain monitoring pipeline — see Onchain confirmations for confirmation requirements, Supported currencies for available assets and minimums, and Fees and commissions for the network fee.
Related pages
Section titled “Related pages”InvoicesFixed-price checkout payments
DepositsOpen-ended crypto top-ups
WithdrawalsPayouts from the merchant balance
Onchain confirmationsShared confirmation rules for incoming payments