To accept crypto payments on your website you need a non-custodial wallet and a payment gateway that turns each order into a unique deposit address, monitors the blockchain, and notifies your server when the payment confirms. With CryptoGate the money goes straight to your own wallet - no KYC, no custodian, and 0% transaction fees instead of the 2-3% cards take. Here is the full 2026 setup, end to end in about 30 minutes.
Why merchants are switching to crypto
Credit card processors charge 2-3% per transaction, hold your funds for days, and can freeze your account without warning. Crypto payments cut all of that out. Funds go directly to your wallet - no middleman, no waiting period, no chargebacks.
In 2026, accepting crypto is no longer a niche move. It is table stakes for any merchant selling to a global audience, and especially for "high-risk" categories that card processors love to freeze.
What you will need before you start
- A non-custodial wallet - MetaMask (EVM chains), Exodus, or a hardware wallet like Ledger. You control the private keys.
- Your wallet xPub or addresses - so the gateway can derive a fresh receiving address per order (BTC, ETH, USDT, and more)
- A payment gateway account - this is what generates unique payment addresses per order and monitors the blockchain for you
Step 1 - Create your CryptoGate account
Go to cryptogate.live/register and sign up. No KYC is required - just an email and a password. Your account is active immediately.
Step 2 - Add your wallet
In your dashboard, go to Settings -> Wallets and connect your xPub (or paste a receiving address per coin). CryptoGate never holds your funds - it derives a fresh address from your wallet for every order, monitors the blockchain, and the money lands straight in the wallet you control.
Step 3 - Generate an API key
Under API Keys, create a key for your website integration. Copy the key - you will need it in the next step. Prefer no code? Skip to the hosted-checkout option below.
Step 4 - Create a payment session
When a customer checks out, your server calls the CryptoGate API to create a payment session:
POST https://api.cryptogate.live/v1/payment/create
Authorization: Bearer YOUR_API_KEY
{
"amount": "49.99",
"currency": "USD",
"coins": ["BTC", "ETH", "USDT"],
"order_id": "order_123",
"webhook_url": "https://yoursite.com/webhooks/crypto"
}
The API returns a unique deposit address and a payment URL. Redirect your customer to that URL - it shows a countdown timer, the exact amount to send, and a QR code. No frontend payment UI to build.
Step 5 - Handle the webhook
When the payment confirms on-chain, CryptoGate sends a POST request to your webhook_url with the order ID and status. Your server verifies the signature, marks the order as paid, and fulfills it.
{
"event": "payment.completed",
"order_id": "order_123",
"amount_received": "49.99",
"coin": "USDT",
"txid": "0xabc...def"
}
Always verify the signature header before trusting a webhook, and treat the payment as final only on the payment.completed event.
Step 6 - Test before going live
Before going live, test your integration end to end in the dashboard so you can confirm your webhook handler and order flow work correctly without real funds. Then place one small real order to verify the full path: scan the QR, pay, watch it confirm, and check fulfillment fires.
No-code option: hosted checkout and payment links
You do not need to write any code to start. Generate a CryptoGate payment link for an order total and share it by email or on your order-status page, or drop a hosted "Pay with crypto" button on your site. The customer pays on a branded hosted page and you get the same webhook. This is the fastest path live and works on any website or platform.
What does it cost vs cards?
| Method | Per-transaction fee | Settlement | Chargebacks |
|---|---|---|---|
| Card processors | 2.4-2.9% + $0.30 | Days, can be held | Yes |
| BitPay / Coinbase Commerce | ~1% | Gateway routed | No |
| NOWPayments | 0.5-1% | Gateway routed | No |
| CryptoGate | 0% (flat monthly) | Instant, to your wallet | No |
Common questions
What if the customer sends the wrong amount?
Partial payments are held in a partial state - you can choose to accept them manually or ask the customer to top up. You are in full control.
What about exchange rate volatility?
The payment session locks the exchange rate at the time of creation, so the customer always knows exactly how much crypto to send. Sessions expire after a short window (typically 15-30 minutes) if unpaid. Want zero volatility? Accept a stablecoin - see how to accept USDT payments.
Do I need to convert crypto to fiat?
That is entirely up to you. Many merchants keep a portion in crypto and convert the rest via an exchange. CryptoGate does not touch this - once the funds land in your wallet, they are yours.
Related guides
Pick the path that matches your store: accept crypto on Shopify, accept crypto on WooCommerce, or go coin-specific with accepting Bitcoin and accepting Ethereum. New to the mechanics? Read how crypto payment gateways work.
Frequently Asked Questions
How do I accept crypto payments on my website?
Create a gateway account, connect your non-custodial wallet, then either use a no-code hosted checkout or payment link, or call the API to create a payment session per order and handle the confirmation webhook. With CryptoGate the funds settle straight to your own wallet.
Can I accept crypto without coding?
Yes. CryptoGate payment links and hosted checkout let you accept Bitcoin, Ethereum and stablecoins with no code - generate a link for the order total and share it, or add a hosted pay button to your site.
Do I need KYC to accept crypto on my website?
No. Because CryptoGate is non-custodial and the funds go straight to your wallet, there is no identity verification step. You sign up with an email and connect your wallet.
How much does it cost compared to card processing?
Card processors charge roughly 2.4-2.9% plus 30 cents per transaction, and custodial crypto gateways around 1%. CryptoGate charges 0% per transaction on a flat monthly plan, so the cost does not scale with your sales volume.
How do I handle exchange rate volatility?
The payment session locks the rate when it is created, so the customer sees a fixed crypto amount and a countdown. To remove volatility entirely, accept a stablecoin like USDT or USDC, which holds a 1 dollar value.
Summary
Accepting crypto on your website takes about 30 minutes end to end: create an account, connect your wallet, generate an API key (or use a no-code link), integrate the payment session endpoint, and handle the webhook. No KYC, no custodians, no 3% fee. Create your free account and start.