Skip to content

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.

PrimitiveUse it whenAmountAddress reuseWebhook event
InvoiceCheckout — customer pays a fixed price for an orderFixed, priced in fiat; the network fee is added on topNew address per payment attemptinvoice.statusChanged
DepositA crypto top-up to your balance, outside of checkoutFlexible, at or above a currency minimum; the network fee is withheldNew address per depositdeposit.statusChanged
WithdrawalPaying funds out of your balance to an external walletMerchant-specifiedN/A — sends out, not inwithdrawal.statusChanged
  • 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.