merchant guides/ 9 min read

self-hosting vs hosted non-custodial: keep self-custody without running a server

BTCPay-style self-hosting and hosted non-custodial gateways both keep your keys — here's what actually differs: cost, work, uptime and coins.

Self-Hosting vs Hosted Non-Custodial: Keep Self-Custody Without Running a Server
share whatsapp post

The crypto payments conversation is usually framed as a binary: custodial processors that hold your money versus everything else. But 'everything else' splits into two very different camps — self-hosted software like BTCPay Server that you run on your own machine, and hosted non-custodial gateways like crypt.pe that run the software for you while payments still settle straight to your wallet.

Both camps pass the only test that really matters: nobody but you ever controls the funds. What differs is everything around that — setup time, running costs, maintenance burden, uptime responsibility and coin coverage. This guide lays out the honest trade-offs so you can pick the model that fits how you actually work.

the three models, not two

Every crypto payment product on the market fits one of three architectures:

modelwho holds fundswho runs the softwareexamples
custodial processorthe processor — until payoutthe processorBitPay, NOWPayments, Cryptopay
self-hosted non-custodialyou — alwaysyouBTCPay Server
hosted non-custodialyou — alwaysthe servicecrypt.pe

The first column is the security question; the second is the operations question. Custodial processors fail the security question — they can freeze, delay or lose your revenue, and they take a per-transaction cut for the privilege. The interesting comparison is between the two non-custodial rows, where the money is safe either way and the real decision is about running infrastructure.

what self-hosting actually involves

BTCPay Server is genuinely excellent software, and the project is refreshingly honest about what running it takes. A realistic self-hosted deployment looks like this:

  • provision a VPS or home server — typically $10–30/month for something that runs reliably
  • install the stack (Docker deployments make this easier than it used to be, but it is still a server deployment)
  • sync blockchain data — a pruned Bitcoin node needs tens of gigabytes; a full node needs 600GB+ and days of initial sync
  • configure HTTPS, a domain, and backups
  • apply security updates to the OS and to BTCPay itself, forever
  • monitor uptime — when your server is down, your checkout is down and customers cannot pay you
  • add and maintain community plugins if you want altcoins beyond Bitcoin

None of this is prohibitively hard for a developer. All of it is real, recurring work — and it lands on whoever runs the store. The question is not 'can you do it?' but 'is this the best use of your hours every month?'

what it really costs

'Free and open source' describes the license, not the total cost. A fair comparison over a year:

costself-hosted (BTCPay)hosted non-custodial (crypt.pe)
software fee$0$0 platform fee — flat plan, free tier available
infrastructure$120–360/yr VPS$0 — included
your timesetup hours + monthly maintenance~60 seconds, once
downtime riskyours to carrycarried by the service
per-transaction cut0%0%

For a merchant doing meaningful volume, a percentage-based custodial processor is the expensive option in either case — 1% of $100k is $1,000 a year. Between the two non-custodial models, the difference is not money so much as attention: the self-hosted stack quietly bills you in hours.

what you give up with hosting — and what you don't

The honest concern with any hosted service is dependence. If crypt.pe disappeared tomorrow, what happens? Nothing happens to your money — every payment already settled on-chain in wallets you control, and your funds were never on the platform. What you would lose is the tooling: the checkout pages, invoices, webhooks and dashboards. That's an inconvenience, not a loss.

This is the key distinction between hosted non-custodial and custodial: a custodian's failure can take your funds with it; a non-custodial tool's failure can only take its own features offline. crypt.pe routes information — addresses, amounts, confirmations — never money. Every payment is publicly verifiable on-chain, independent of the platform.

What you genuinely give up versus self-hosting: absolute control of uptime, the ability to modify the software, and running with no third party in the flow at all. For some operators those matter; for most merchants they don't.

when self-hosting is the right call

A fair guide says this plainly: BTCPay Server is the better choice for some people.

  • you want zero third parties anywhere in your payment flow, as a matter of principle
  • you run Lightning and want to manage your own channels and liquidity
  • you're a developer who enjoys the stack and will keep it patched without resenting it
  • you need deep customisation of checkout logic that only self-hosted software allows
  • you already operate servers professionally, so the marginal ops burden is near zero

If several of those describe you, run BTCPay — it's exactly what it was built for. The failure mode to avoid is the middle case: a busy merchant who self-hosts for ideological reasons, stops applying updates after month three, and ends up with a stale, unmonitored server processing real revenue.

when hosted non-custodial wins

  • you sell things and want payments to just work — setup in a minute, zero maintenance, ever
  • you want more than Bitcoin: crypt.pe accepts 24 coins across 13 chains out of the box, including the $0.30 USDT Tron rail international clients actually use
  • you want the extras without building them — tracked invoices, a public payment page, Stripe-style orders API, signed webhooks, receipts, analytics
  • uptime should be someone else's pager, not yours
  • you're not technical, and 'provision a VPS' is not a sentence you want in your week

The core promise is identical to self-hosting where it counts: the payer's wallet sends directly to your wallet, on-chain, with nothing in between that can hold or freeze funds. You keep self-custody; you just don't keep a server.

decision checklist

  • do you enjoy running servers, or merely tolerate it? tolerate → hosted
  • do you need coins beyond Bitcoin without maintaining plugins? yes → hosted
  • is checkout downtime acceptable while you debug at midnight? no → hosted
  • do you need Lightning channel control or custom checkout code? yes → self-host
  • is 'no third party at all' a hard requirement? yes → self-host
  • either way: never use a custodial processor for revenue you can't afford to have frozen

frequently asked

Is a hosted non-custodial gateway as safe as self-hosting BTCPay Server?

For the funds themselves, yes — in both models payments settle on-chain directly to wallets you control, and no third party can hold or freeze them. The difference is operational: with self-hosting you carry uptime and maintenance; with a hosted service the platform does, and its worst-case failure is downtime of tooling, never loss of funds.

What does BTCPay Server actually cost to run?

The software is free and open source. Realistic running costs are a $10–30/month VPS, days of initial node sync, plus recurring hours for updates, backups and monitoring. Altcoin support requires community plugins you also maintain.

Can I accept USDT or other altcoins on BTCPay Server?

BTCPay is Bitcoin-first. Some altcoins are available through community-maintained plugins with varying support levels. Hosted gateways like crypt.pe include 24 coins across 13 chains — including USDT on Tron, Ethereum and BNB Chain — with no plugins to maintain.

If crypt.pe went offline, would my money be at risk?

No. crypt.pe never holds funds — every payment settles on-chain from the payer's wallet to yours. An outage would pause the tooling (checkout pages, webhooks, dashboards), but all settled funds are already in your wallet and every payment is independently verifiable on-chain.

ready to accept crypto?
free page, 0% fees, live in 60 seconds — non-custodial by design.
create your free page
about crypt.pe

Non-custodial by design. Payments settle wallet-to-wallet on-chain, straight from the payer to your own wallet. crypt.pe never holds, freezes or forwards funds — there is no platform balance and no withdrawal step, and every payment gets a verifiable on-chain receipt.

0% transaction fees. Plans are flat subscriptions with a free tier — compare that with the 1–2% charged by custodial processors. One page accepts Bitcoin, USDT, Ethereum, Solana and 20+ coins across 13 chains, with simple pricing and no payout schedule.

Tools merchants actually use. Exact-amount invoices with live tracking, product links, printable QR standees, HMAC-signed webhooks, CSV exports and a Stripe-style API — see the merchant guides or create your free page in about a minute.

How a payment works. You add wallet addresses you already own, share your crypt.pe link or QR code, and the customer pays from their own wallet. crypt.pe locks the amount at invoice time, watches the chain, matches the transaction and issues a receipt both sides can verify on a block explorer — software around the payment, never in the money flow.

Works everywhere by default. Because settlement is on-chain to your own wallet, there is no country list, no bank partnership gating access and no account that can be closed over geography. Merchants use crypt.pe across India, the UAE, Nigeria, the Philippines, Brazil and 100+ other markets — see the country guides.

Stablecoin-first, volatility optional. Accept USDT or USDC and a $100 invoice is still worth $100 when it is paid — no price risk in between. Prefer BTC, ETH or SOL? Amounts are locked at invoice time either way, and your dashboard records the USD value of every payment for clean bookkeeping. Questions? Start with the FAQ or payment help.