Custodial vs non-custodial crypto payment gateways: how to tell the difference
Fee tables make gateways look interchangeable. They are not. One architectural question separates them, and it decides whether your funds can ever be frozen.
Search for a crypto payment gateway comparison and you will find tables of fees, supported coins, and plugin counts. Those matter at the margin. None of them tell you the thing that determines whether your revenue can be stopped.
That question is: between the customer sending funds and those funds arriving in a wallet you control, does anyone else hold them?
Why the answer decides everything else
If funds pass through an account the gateway controls, then a set of capabilities necessarily exists: the gateway can delay settlement, impose a reserve, freeze an account pending review, or be compelled by a third party to do any of those. Nothing about this requires bad intent. The capability exists because custody exists.
If funds never pass through such an account, none of those capabilities exist — not as policy, but as a matter of what the system can physically do.
How to check for yourself
You do not have to take anyone's word for it. Four questions separate the categories quickly:
- 1Is there a balance in the dashboard, and a withdraw button? A balance means the platform is holding money for you. Non-custodial systems have nothing to withdraw, because funds went straight to your wallet.
- 2Is there a settlement schedule, payout delay, or rolling reserve? All three presuppose custody.
- 3Can the platform refund a customer on your behalf, without you signing anything? If yes, it holds funds — or holds keys.
- 4Does it offer fiat payout? Converting crypto to fiat requires money-transmitter licensing, which requires custody. A fiat off-ramp and true non-custody cannot coexist.
That last one is worth stating clearly because it cuts both ways: if you need fiat settlement, you need a custodian, and you should choose the best-run custodian rather than pretend otherwise.
The landscape, honestly
Grouping by architecture rather than by brand:
| Category | What it does | The trade |
|---|---|---|
| Custodial processors | Receive funds, convert if requested, pay out to you on a schedule. Often include fiat off-ramp. | Convenience and fiat access, in exchange for a party who can hold, delay, or freeze. |
| Exchange-adjacent checkouts | Funds land in a hosted account at an exchange or its commerce arm. | Easy onboarding for existing account holders, with the same custodial exposure plus account-level policy. |
| Non-custodial gateways | Funds go to an address you control; settlement is enforced on-chain. | No freeze, no delay, no chargeback — but no fiat off-ramp and no dispute arbitration. |
| Self-built | You watch addresses and reconcile yourself. | Full control and no fee, but you own exact-amount matching, reorg handling, idempotency, and delivery guarantees. |
There is no universally correct row. A business that must report fiat revenue daily belongs in row one. A business whose main risk is being cut off belongs in row three.
Questions worth asking any vendor
- Where exactly do funds sit between the customer paying and me receiving? Name the account.
- Under what conditions can settlement be paused, and who decides?
- If you were compelled by a third party to freeze my funds tomorrow, could you technically comply?
- Can I verify settlement independently on-chain, without trusting your dashboard?
- What happens to in-flight payments if you shut down?
The last one is a good stress test. With a custodial processor, in-flight funds are an unsecured claim against a company. With a non-custodial one, payments already settled to your wallet are unaffected by the vendor existing at all.
Where Finality sits
We are row three, and the trade-offs above are ours: no fiat off-ramp, no dispute arbitration, no platform balance. We publish that plainly because a merchant who needs fiat settlement will be poorly served by us, and would rather learn that now than after integrating.
What you get in exchange is that the freeze capability does not exist. Settlement terms are hashed into the payment address and enforced on-chain, so the destination cannot be altered by anyone — including us.
The docs describe exactly how settlement is enforced, including what we deliberately cannot do.
See how it works →