On this page
Accepting cryptocurrency in 2026 is no longer a statement — it is a checkout option with measurable revenue attached. Stablecoins settle more value per year than the largest card network, and a meaningful slice of internet-native customers now prefer paying on-chain. This guide walks through the whole decision, from picking rails to handling refunds, in the order you will actually face the questions.
Step 0 — Decide what problem you're solving#
Merchants come to crypto acceptance from three directions, and the right setup differs slightly for each:
- New revenue: you sell digital goods, subscriptions or services to a global audience and want buyers your card processor turns away — customers in unsupported countries, privacy-minded buyers, or the crypto-rich.
- Chargeback elimination: you are tired of fraudulent disputes. On-chain payments are final; the entire chargeback apparatus — the fees, the evidence packets, the rolling reserves — simply does not exist. More on why.
- Payment sovereignty: a processor froze your funds once and you will not let that happen twice.
Be honest about which of these you are, because it drives every later choice: a chargeback-motivated merchant should push stablecoins hard; a sovereignty-motivated one should look seriously at self-hosting or a no-KYC gateway.
Step 1 — Choose your acceptance model#
There are exactly three ways to take crypto, and the trade-off is the same everywhere: control vs. operations vs. paperwork.
- Direct wallet address. Post an address, wait for money. Free and sovereign, but no per-order matching (which payment was for which invoice?), no rate locking, no automation. Fine for donations; unworkable for a store.
- Self-hosted processor (e.g. BTCPay Server). Free software, full sovereignty, no KYC — you run the nodes, storage, uptime and upgrades. Superb if you have devops capacity and mostly need Bitcoin.
- Hosted gateway. The gateway runs the infrastructure, watches the chains, locks rates, fires webhooks. The traditional ones (BitPay, CoinGate) demand full KYB and can hold funds; the no-KYC kind (CryptoPayIn) skips identity entirely — one click, 1% flat, done.
Rule of thumb: if your monthly crypto volume × 1% is less than the cost of a competent devops-hour, a hosted gateway wins. Revisit the math when you're processing six figures monthly.
Step 2 — Pick the right coins (fewer than you think)#
Checkout data across the industry is remarkably consistent: a handful of assets settle nearly all volume. A sane 2026 menu:
- Bitcoin — the default. Largest holder base, non-negotiable.
- USDT (TRC-20 + ERC-20) — the workhorse. Dollar-stable, massive adoption; for many stores it ends up #1 by volume.
- Ethereum — second-largest holder base, fast finality, opens the ERC-20 family (USDC, DAI).
- Litecoin — quietly a top-3 payment coin every year; cheap and fast.
- Monero — if your audience values privacy, this is the one they check for first. Few gateways support it; offering it is differentiation.
- Solana — sub-minute finality and a young, spend-happy holder base.
- The meme tier (DOGE, SHIB, PEPE) — costs nothing to enable with rate-locked invoices, and their communities actively seek out merchants who accept them.
Beyond that, long-tail altcoins add menu noise, not revenue. Twelve well-chosen assets outperform three hundred obscure ones.
Step 3 — Integrate (an honest afternoon)#
Every competent gateway reduces to the same three motions. With CryptoPayIn they look like this:
- Create a payment. Your backend calls
POST /v1/paymentswith an amount, a fiat currency (any of 30), the asset, and your order reference. You get back a checkout URL and a locked crypto amount. No backend? Generate a payment link or a mini-shop from the dashboard — zero code. - Customer pays. They land on a hosted checkout: QR code, dedicated address, live confirmation tracker. Any wallet works. You never handle addresses or run nodes.
- You get notified. A webhook signed with HMAC-SHA256 hits your server when the payment completes (with automatic retries until you answer 200). Verify the signature, credit the order, ship. Full details in the documentation.
Test with a $1 invoice on a fast rail (Solana or Tron settle in seconds to a minute) before going live, and make your webhook handler idempotent — retries are a feature, not a bug.
The operational details that actually matter#
Rate locking
The moment of truth in crypto checkout is the minutes between invoice creation and payment. A serious gateway locks the rate at creation — CryptoPayIn locks two (fiat→USD and crypto→USD, independently verified, failing closed on anomalies) — so a $49.99 subscription is worth $49.99 regardless of what the market does mid-payment.
Underpayment policy
Customers sometimes send from exchanges that deduct withdrawal fees, arriving 2% short. Decide your policy now: auto-flag and request the difference (the gateway should surface this state, ours does), or absorb small deltas for UX. Never silently mark short payments as paid.
Confirmations
Each chain has a finality threshold — seconds on Solana and Tron, ~20 minutes on Bitcoin. For digital goods, deliver at confirmation. For high-value physical goods, wait for full finality; the currencies page shows live thresholds per asset.
Refunds
No chargebacks does not mean no refunds — it means refunds are yours to initiate, as a withdrawal to the customer's address. Stablecoin refunds are trivially exact; volatile-asset refunds need a policy (refund the fiat value or the crypto amount? state it in your terms).
Accounting
Insist on a USD-denominated ledger with per-transaction gross/fee/net and CSV export. Your accountant does not want a spreadsheet of wei. An append-only double-entry ledger — where every balance is explainable line by line — turns audit season from archaeology into arithmetic.
Launch checklist#
- Coins chosen (start with BTC + USDT + your audience's favourite; enable the rest — they're free).
- Webhook endpoint deployed, signature-verified, idempotent.
- Underpayment and refund policy written into your terms.
- Auto-withdraw threshold set, destination wallets tested with a small payout.
- A real $1 end-to-end test settled on a fast chain.
- “We accept crypto” visible on your pricing page — the customers you did this for should be able to tell.
That is the whole game. The rails are mature, the integration is an afternoon, and the first time a payment settles from a country your card processor never served, the decision explains itself.