Adding a crypto checkout to a website takes an afternoon now. What takes longer, and what most merchants never stop to think about, is where the money actually sits after a customer pays.There are three basic answers: the gateway holds it, the gateway watches while you hold it, or you run the whole thing yourself. There are variations in between, of course. But each approach trades convenience for control in a different way, and the trade usually becomes visible only when something goes wrong.I spent a while on the operations side of a payment gateway. Merchants asked about fees, supported coins, and how fast the plugin installs. Almost nobody asked who could freeze their balance. That question showed up later, in support tickets.So here is the comparison I wish more people saw before they picked a provider.Option 1: The Gateway Holds the MoneyThis is a common model for plug-and-play crypto gateways. The customer pays to an address the provider controls. You see a balance in a dashboard, and you withdraw when the provider’s rules allow it.The upside is real. You don’t touch private keys, you don’t watch the blockchain, and you don’t have to figure out how to move tokens between wallets. Someone else matches payments to orders and tells your store when an invoice is paid. For a small business, that’s a lot of work taken off the table.The downside is that the balance on your screen is a claim on money held by someone else, not money in a wallet you control.Withdrawals can come with minimums, fees, limits, and sometimes a manual review when an amount looks unusual. If the provider restricts your account, has an outage, or shuts down, you may have no immediate way to access those funds.Anyone who has run a business on card payments knows this feeling. Payment processors can hold merchant balances during disputes or risk reviews. Crypto doesn’t automatically remove that dependency. It can simply move it to a different company.Pricing usually follows the payment amount. Providers often take a percentage of each transaction, with withdrawal or network fees added depending on the service.It’s convenient, especially at the beginning. But the convenience comes with a question worth answering: how much money are you comfortable leaving with a third party?Option 2: The Gateway Watches, You Hold the KeysA different approach is the non-custodial gateway. Here, the provider handles payment detection and order updates, but the money goes directly to wallets controlled by the merchant.Some services use an extended public key, or xpub, to generate receiving addresses. Others connect to merchant-controlled wallet addresses through different methods. With an xpub-based setup, the gateway can generate a fresh address for each order, monitor incoming transactions, and notify your store when the payment arrives. It doesn’t need your private key to do that.The benefit is straightforward. The gateway cannot hold your balance or stop you from moving funds out of your own wallet. If its website disappears tomorrow, the crypto already received is still accessible through your wallet.There’s an important distinction here, though. Controlling your keys doesn’t mean every asset is impossible to freeze. Stablecoin issuers such as Tether can restrict tokens at the address level. That’s an issuer-level risk, not gateway custody, but merchants should understand the difference.And removing the gateway from custody doesn’t remove all the work. A few things become your responsibility:Privacy. Sharing an xpub allows the provider to observe addresses and transactions derived from that key. It doesn’t expose your private keys, but it can reveal a detailed picture of the receiving activity on that wallet account.Scattered funds. A new address for every order sounds clean, and for payment tracking it is. But the money doesn’t arrive in one convenient balance. With Bitcoin, you may end up managing many small unspent outputs. With account-based networks, tokens can sit across hundreds of separate addresses.Gas and consolidation. Receiving USDT on Ethereum or TRON is one thing. Moving it out is another. ERC-20 transfers require ETH for network fees. TRC-20 transfers need TRON resources, which can involve TRX or Energy. Depending on the wallet setup, consolidating tokens from hundreds of addresses can mean funding those addresses before they can send anything.Fees. Non-custodial doesn’t necessarily mean free. Some providers charge a percentage of every payment, others use subscriptions or fixed fees. Paymento’s WooCommerce plugin, for example, describes a non-custodial xpub-based model with a 0.5% transaction fee.None of these issues makes non-custodial payments a bad choice. But the work has to land somewhere. If the gateway isn’t moving the money for you, your team, your wallet software, or another service has to handle it. That’s easy to overlook when you’re comparing checkout screenshots.Option 3: You Run Everything YourselfThen there’s the self-hosted route. Tools like BTCPay Server let businesses operate their own payment infrastructure. You can run your own server and blockchain node, connect your own wallet, and process payments without paying a traditional gateway’s transaction commission.For on-chain Bitcoin payments, private keys can stay outside the payment server, including in a hardware wallet. That’s an important advantage. Running the payment software doesn’t have to mean keeping the keys that control your funds on a public-facing server.But self-hosting brings a different set of responsibilities. Someone has to keep the infrastructure running, install updates, maintain backups, check synchronization, and notice when something stops working.And then there’s everything that doesn’t fit neatly into the payment software. What happens when a customer pays after an invoice expires? Who handles a partial payment? What if the customer needs a refund? What if they send the correct token on the wrong network? Software can help with these situations. It doesn’t make the business decisions for you.The cost is also easy to misunderstand. No gateway commission doesn’t mean zero cost. You still have hosting expenses, blockchain network fees, and the time spent maintaining the system.For a company with engineers who already manage infrastructure, self-hosting can be a great fit. For a shop with three people and no developer, it can feel like running a second business just to accept payments.Side by SideWhat mattersGateway holds the moneyGateway watches, you hold the keysYou run everythingWho controls the funds?The providerYouYouCan the gateway block access to funds?Yes, through custody and withdrawal controlsNot through custodyNo third-party gatewayCan stablecoins still be frozen?PotentiallyPotentially, by the token issuerPotentially, by the token issuerIf the provider goes downWithdrawals may become unavailablePayment tracking may stop, but funds stay accessibleDepends on your own infrastructureSetup effortLowLow to mediumMedium to highOngoing workUsually lowWallet management, consolidation, network feesInfrastructure, security, payment operationsTypical costsTransaction percentages, possible withdrawal feesTransaction fees, subscriptions, or fixed pricingHosting, network fees, staff timeWho sees your payment history?The providerThe provider, for the addresses it tracksNo external gateway, but on-chain data is publicThere’s no universally correct column. A business processing a handful of payments a month has different needs from a platform receiving thousands every day. The mistake is assuming these three models offer the same kind of control just because they all put a crypto payment button on a website.The Part Nobody Plans For: Old AddressesHere’s something that tends to get overlooked regardless of which model you choose: crypto addresses outlive checkouts.A customer receives an address for an invoice, saves it somewhere, and uses it again three months later. Maybe they copied it into an accounting system. Maybe their finance team saved it as a trusted destination. Whatever the reason, they don’t know you’ve stopped using it.Marking an address as “retired” in your application changes nothing on the blockchain. The address can still receive funds, and those funds still need to be accounted for.October 2026 gave us a painful example. Indian crypto exchange CoinDCX confirmed a loss of 15.99 million USDT connected to wallet infrastructure it had deprecated after a security incident in July 2025.According to CoinDCX, some customers kept depositing funds into old addresses. An automated service was supposed to move those deposits into secure wallets, but it stopped working for a period. Funds accumulated, and the company eventually reported the loss. CoinDCX said it absorbed the amount and that customer balances were unaffected.There is another side to the story. On-chain investigator ZachXBT reported that one of the old deposit addresses was still being used and swept as recently as April and May 2026, raising questions about how completely the old infrastructure had actually been retired. Not every part of the explanation is settled.But the broader lesson is hard to miss. An address doesn’t stop working because your internal system says it should.An exchange isn’t an online store, and the scale here is obviously different. Still, the problem can appear in any business that creates payment addresses and later stops watching them. If customers can keep sending funds to an address, who detects those payments? Who still controls the keys? Who moves the money? And how do you know the system responsible for doing that is actually running?It’s not enough to retire an address in a database. You need a plan for what happens afterward.Questions to Ask Before You ChooseBefore connecting a gateway to your store, I’d ask these questions:When a customer pays, whose wallet receives the money? Is the provider holding it, or does it go directly to an address you control?What can delay or block a withdrawal? Are there limits, manual reviews, compliance checks, or other restrictions? Who makes the final decision?What happens if the provider disappears tomorrow? Can you still access funds already received? What happens to payment addresses customers have saved?Who handles network fees and fund consolidation? If you receive payments into hundreds of addresses, how do those funds eventually get moved?What exactly are you paying for? A $50,000 invoice doesn’t make the blockchain do a thousand times more work than a $50 invoice. A provider may still have different risk or support costs, but it’s worth understanding what the percentage fee covers.Can you export your payment history? If you switch providers, will you have the transaction records, order references, and reconciliation data your accounting team needs?What happens when a payment arrives late or on an old address? Is it still detected? Can it be reconciled? Who is responsible for handling it?You probably won’t find all these answers on a pricing page. Some require reading documentation. Others require asking support a few uncomfortable questions. I’d rather ask them before the first payment than after a withdrawal gets stuck.The Short VersionCrypto checkout has become easy enough that custody can feel like a minor implementation detail. It isn’t.A gateway that holds your funds offers convenience but creates a dependency. Keeping the keys yourself removes that layer of custody, while leaving you responsible for more of the operational work. Running your own infrastructure gives you the most control, but also means taking responsibility when something breaks. And regardless of the model, old addresses, network fees, payment records, and failure recovery still need someone paying attention.The point isn’t that every merchant should become their own payment processor. It’s that every merchant should know who controls the money after the customer hits Pay.