On this page
- Custodial: the provider receives the crypto, keeps a balance in your name and settles to your bank or wallet. Non-custodial: the payment lands in your own wallet in the same transaction.
- Fianto is non-custodial: a payer's one transaction sends the price to the merchant's wallet and any fee to Fianto, with no balance and no payout.
- Pick custodial if you need fiat in a bank or do not want to keep keys. Pick non-custodial if you want no money waiting at someone else.
What do custodial and non-custodial mean for crypto payments?
Custodial means a third party controls the funds; non-custodial means the owner controls them with their own keys. The US Treasury's FinCEN drew the line in its May 2019 guidance on virtual currency business models: "Wallets where user funds are controlled by third parties are called 'hosted wallets' whereas wallets where users control the funds are called 'unhosted wallets.'" The same guidance says a hosted wallet provider "has total independent control over the value", even though it may act only on the owner's instructions.
For a payment gateway the question is narrower: between the moment your customer pays and the moment you can spend the money, whose wallet is it in? BlockBee, a vendor that sells a self-custodial gateway, defines the custodial kind in its June 2026 guide as "a payment provider that receives crypto into wallets controlled by the provider."
Where does a 100.00 USDC payment go in each model?
In a custodial gateway a 100.00 USDC payment stops at the provider and reaches you at settlement; in a non-custodial one it reaches your wallet in the transaction the customer signs. Follow the same payment through both.
Through a custodial gateway
- The checkout shows the customer an address that belongs to the provider.
- The customer sends 100.00 USDC there. The provider credits your account with a balance.
- On its schedule, the provider settles: it sends your balance, less its fees, to your bank in fiat or to a wallet you named.
BitPay's API reference describes that last step in one line: "Settlements are transfers of payment profits from BitPay to bank accounts and cryptocurrency wallets." Until a settlement runs, the money is in BitPay's hands, not yours.
Through Fianto, a non-custodial gateway
- The merchant's server, a shop or a payment link opens a checkout session for 100.00 USDC.
- The customer's wallet signs one transaction. It holds two transfers: 100.00 USDC from the customer to the merchant's own wallet, and, when the Fianto fee is above zero, the fee to Fianto's treasury. The customer is the only signer.
- Fianto broadcasts the signed transaction to Solana. The customer's page shows success once it is confirmed; the order turns paid and the webhook goes out once it is finalized.
There is no third step. Fianto has no balance in the merchant's name and no payout to schedule. During the beta the Fianto fee is zero, so the customer pays 100.00 USDC and the merchant receives 100.00 USDC. After the beta the customer pays a fee of about 0.1 to 0.5% on top: at 0.3%, 100.30 USDC leaves the customer's wallet, 100.00 reaches the merchant and 0.30 reaches Fianto, all in that one transaction. Subscriptions follow the same rule: each renewal moves from the customer's wallet to the merchant's, within a cap the Solana Subscriptions program enforces. The how money moves docs page draws the same path.
How do custodial and non-custodial gateways compare?
Custodial and non-custodial gateways differ less in the checkout than in what happens after it: who holds the balance, who converts to fiat and who carries which failure.
| Custodial gateway | Non-custodial gateway (Fianto) | |
|---|---|---|
| Where the money waits | In the provider's wallets, as your balance | Nowhere: it lands in your wallet in the payment transaction |
| Payout | A settlement on the provider's schedule | None needed |
| Fiat to your bank | Offered by some: BitPay settles to bank accounts | Not offered: you receive USDC only |
| If the provider freezes or fails | Your unsettled balance is stuck with it | Money already received stays in your wallet; new payments stop |
| If you lose your keys | The provider can usually restore access to your account | Nobody can recover the wallet |
| Refunds | Depends on the provider | You send USDC back from your own wallet; Fianto has no refund API |
| Recurring billing | Depends on the provider | Monthly or yearly USDC plans pulled from the customer's wallet |
Neither column is free of trust. With custody you trust the provider with the money. If a card processor has already closed your account, adding USDC as a second rail works through that case. With Fianto you trust it with the checkout, the tracking and the renewals, while the money itself never passes through it. What the on-chain program checks on each renewal is set out on the non-custodial USDC payments page.
One transaction from your customer's wallet to yours, with the fees shown before anyone signs.
See the hosted checkoutWhat does non-custodial not mean?
Non-custodial does not mean unchecked, anonymous or free of a provider. Each of those readings is wrong on Fianto.
- No review. Fianto approves every merchant before it can take a payment: a business profile, mandatory two-factor sign-in and a signed proof of the receiving wallet, reviewed by a person. Until approval, API keys fail and shops and links cannot be paid. No review time is promised.
- No rules for payers. Fianto staff can mark a payer wallet as blocked by hand, and a blocked wallet cannot start a checkout, a subscription or a renewal. Nothing is screened automatically.
- No provider at all. A hosted checkout, payment tracking, signed webhooks and renewals still run on Fianto. If Fianto is down, new payments wait; received money does not.
Whether a business that accepts crypto needs a licence depends on where it operates and what it does, and FinCEN's guidance is one input to that question for the US. Ask a lawyer, not a gateway.
What risks move to you with a non-custodial gateway?
With a non-custodial gateway the risk of holding the money moves from the provider to you, and on Fianto that starts with the receiving wallet. A few rules make it concrete:
- You prove the receiving wallet by signing a message, it must already hold a USDC account, and one wallet can belong to only one merchant.
- Changing it after approval takes your password, a two-factor code, a signature from the new wallet and a fresh approval. Existing subscriptions keep paying the old wallet, so a lost or leaked wallet hurts beyond the moment you notice.
- Refunds come out of that wallet, by hand. There are no chargebacks either, which is covered in chargebacks vs crypto refunds.
- Turning USDC into local currency is your job, through an exchange or another service. Fianto has no off-ramp and no fiat payout.
Treat the receiving wallet like a bank account login: keep its recovery phrase offline, write down who can reach it, and never reuse it for anything else. Securing the wallet you get paid to covers the routine and what to do if you lose it.
When is a custodial gateway the better choice?
A custodial gateway is the better choice when you need fiat in a bank account, will not keep keys yourself, or take many coins and chains. Those are real needs, and Fianto meets none of them:
- You pay staff and suppliers in local currency and want sales to arrive that way.
- Nobody on your team should hold a recovery phrase.
- Your customers pay in bitcoin, ether or USDC on another network. Fianto takes USDC on Solana only.
- You need team logins, a test mode or invoices. Fianto has none of these today.
Pick non-custodial if you would rather hold your revenue than a claim on it, and you are comfortable guarding one wallet. Five providers on both sides of the custody line are compared in Coinbase Commerce alternatives, and the general shape of a gateway is in what a crypto payment gateway is.
How can you check whether a gateway is really non-custodial?
You can check custody in one test payment: open the transaction on a Solana explorer (how to read a Solana payment on an explorer) and see whose address received the money. On a non-custodial gateway, the transfer's destination is your own wallet's USDC account. On a custodial one, it is an address the provider controls.
- Make a small payment through the gateway from a second wallet of yours. On Fianto the minimum price is 0.01 USDC.
- Take the transaction signature from the receipt or the webhook and open it on an explorer.
- Read the token transfers: the price should go to your wallet, and any fee to the provider, in the same transaction.
- Look at the dashboard. A "balance" and a "withdraw" button mean someone is holding money for you.
- FinCEN FIN-2019-G001: Application of FinCEN's regulations to certain business models involving convertible virtual currencies (9 May 2019), section 4.2 (PDF)
- BitPay API reference: Settlements (read 15 October 2026)
- BlockBee: Custodial vs non-custodial crypto payment gateways (22 June 2026)
- Fianto docs: How money moves