# Choosing a payment method

> A quick comparison of Invoices, Deposits, and Withdrawals to help you pick the right building block.

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](https://docs.cryptonly.net/guides/invoices.md) | 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](https://docs.cryptonly.net/guides/deposits.md) | 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](https://docs.cryptonly.net/guides/withdrawals.md) | Paying funds out of your balance to an external wallet | Merchant-specified | N/A — sends out, not in | `withdrawal.statusChanged` |

## 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](https://docs.cryptonly.net/guides/onchain-confirmations.md) for confirmation requirements, [Supported currencies](https://docs.cryptonly.net/guides/supported-currencies.md) for available assets and minimums, and [Fees and commissions](https://docs.cryptonly.net/guides/fees-and-commissions.md) for the network fee.

## Related pages

- [Invoices](https://docs.cryptonly.net/guides/invoices.md): Fixed-price checkout payments
- [Deposits](https://docs.cryptonly.net/guides/deposits.md): Open-ended crypto top-ups
- [Withdrawals](https://docs.cryptonly.net/guides/withdrawals.md): Payouts from the merchant balance
- [Onchain confirmations](https://docs.cryptonly.net/guides/onchain-confirmations.md): Shared confirmation rules for incoming payments
