How to Accept Crypto Payments on WordPress (Full Guide)
Guide · CryptoGate Team · June 25, 2026 · 9 min read

How to Accept Crypto Payments on WordPress (Full Guide)

Want to accept crypto payments on WordPress? Connect your own wallet, drop in a CryptoGate hosted page, button, or plugin-style snippet, and start taking Bitcoin and stablecoins on any WordPress site.

To accept crypto payments on WordPress, connect your own crypto wallet to a payment gateway like CryptoGate, then add a hosted payment page, a custom "Pay with crypto" button, or a plugin-style snippet to any page. You do not need to run a store to do this. Any WordPress site can take Bitcoin, Ethereum, Litecoin, Dogecoin, Dash and stablecoins (USDT/USDC) for products, memberships, donations, invoices, or a simple "pay" button, and the funds settle straight to your own wallet.

This guide walks through every route, from the no-code hosted page to a fully custom integration, plus how to handle webhooks and test safely in a sandbox before you go live. If you run a WooCommerce shop specifically, you can skip ahead to our dedicated guide to accepting crypto payments on WooCommerce, but the rest of WordPress is covered here.

Can WordPress accept crypto payments?

Yes. WordPress itself does not process payments, so accepting cryptocurrency is a matter of bolting a payment layer onto your site. There are three common ways to do that with WordPress cryptocurrency payments:

Because CryptoGate is non-custodial, your crypto never sits with us. Every payment is generated from your own wallet's extended public key (xPub), so coins land directly in a wallet only you control. To understand the mechanics behind that, see how crypto payment gateways work.

What you need before you start

Accepting Bitcoin on WordPress takes three things:

  1. A WordPress site you can edit (any theme, any hosting).
  2. A crypto wallet that can export an xPub (extended public key) — most modern wallets can.
  3. A CryptoGate account.

The xPub is the key idea that makes this non-custodial. From a single extended public key, the gateway can derive an unlimited number of fresh receiving addresses, one per payment, without ever touching your private keys. If that sounds unfamiliar, read what an xPub key is and how one key generates unlimited Bitcoin addresses before you continue.

Step 1: Get your wallet's xPub

Open your crypto wallet (hardware wallets like Ledger and Trezor, or software wallets, all work) and export the extended public key for the coin you want to accept. Wallets label this differently — xpub, ypub, or zpub for Bitcoin, depending on the address type. Copy it exactly. You will paste this into CryptoGate, and it is safe to share: an xPub can generate receiving addresses but cannot spend funds.

You will repeat this for each coin you want to support (BTC, ETH, LTC, DOGE, DASH, plus the wallets backing your USDT/USDC). You can start with one coin and add more later.

Step 2: Create your CryptoGate account

Sign up at cryptogate.live, add your xPub(s) under your wallet settings, and choose which currencies to accept. CryptoGate runs on a flat monthly plan with 0% per-transaction fees — you keep 100% of every payment. That is a meaningful difference at volume: traditional card processors typically charge around 2.4%–2.9% plus roughly 30c per transaction, every single time. For a deeper breakdown, see our article on crypto payment gateway fees explained.

Once your wallet is connected and verified, you have everything you need to add crypto checkout to WordPress.

Step 3: Add the crypto payment to WordPress

Pick the route that matches your site. You can mix and match — a hosted link for a donation page, a custom button on a landing page, and so on.

Option A: Hosted payment page (no code)

This is the fastest way to accept crypto on WordPress and needs zero development. In your CryptoGate dashboard, create a payment (set the amount, currency, and an optional description), and CryptoGate gives you a secure hosted checkout URL. Then simply link to it from WordPress:

This works for one-off invoices, "Buy now" links, donation buttons, or paywalled access — anything where you can place a link. No plugin required.

Option B: Custom "Pay with crypto" button or snippet

If you want the payment to feel native to your page, add a small snippet that calls the CryptoGate REST API to create a payment and then redirects the buyer to checkout. Drop this into a Custom HTML block (or your theme), wiring the click to your own backend endpoint that talks to the API with your secret key:

<button id="cg-pay">Pay with crypto</button>
<script>
  document.getElementById('cg-pay').addEventListener('click', async () => {
    // Call YOUR server, which creates the payment with your CryptoGate API key
    const res = await fetch('/wp-json/myplugin/v1/crypto-checkout', { method: 'POST' });
    const data = await res.json();
    window.location = data.checkout_url; // hosted CryptoGate page
  });
</script>

Keep your API secret key on the server side (a small custom plugin or a serverless function), never in front-end JavaScript. The browser only ever sees the resulting checkout URL. This gives you full control over amount, currency, metadata, and post-payment redirects while staying secure.

Option C: WooCommerce store

Running a shop on WooCommerce? Then crypto should appear as a payment method at checkout alongside cards, with order status updating automatically. The setup is slightly different from the above, so follow the dedicated WooCommerce crypto payments guide for the exact steps.

WordPress crypto payment options compared

Here is how the three routes stack up so you can pick the right WordPress crypto payment plugin or method for your use case:

Method Best for Code needed Transaction fee
Hosted payment page Donations, invoices, simple "pay" buttons, paywalls None 0% (flat monthly plan)
Custom button / snippet Landing pages, memberships, bespoke flows A little (server-side API call) 0% (flat monthly plan)
WooCommerce Full online stores with carts and inventory Plugin setup, no coding 0% (flat monthly plan)
Card processor (for comparison) Card payments Plugin setup ~2.4%–2.9% + ~30c per transaction

Whichever route you choose, the underlying behaviour is the same: funds settle to your own wallet, there are no chargebacks (crypto payments are final once confirmed on-chain), and you can accept BTC, ETH, LTC, DOGE, DASH plus USDT and USDC stablecoins.

Step 4: Handle the webhook

To know when a payment lands — to unlock content, send a receipt, or mark an order paid — listen for CryptoGate webhooks. A webhook is an HTTP POST that CryptoGate sends to a URL on your site the moment a payment is detected and again when it is confirmed.

In WordPress, the cleanest way is a small custom REST route:

add_action('rest_api_init', function () {
  register_rest_route('myplugin/v1', '/crypto-webhook', array(
    'methods'  => 'POST',
    'callback' => 'myplugin_crypto_webhook',
    'permission_callback' => '__return_true',
  ));
});

function myplugin_crypto_webhook($request) {
  $payload = $request->get_json_params();
  // 1. Verify the webhook signature against your CryptoGate signing secret
  // 2. Check $payload['status'] === 'confirmed'
  // 3. Fulfil: grant access, email receipt, update order, etc.
  return new WP_REST_Response(array('ok' => true), 200);
}

Always verify the signature so nobody can forge a "paid" event, and act only on the confirmed status for anything valuable. Then point your webhook URL (https://yoursite.com/wp-json/myplugin/v1/crypto-webhook) in your CryptoGate settings.

Step 5: Test in the sandbox before going live

Before you take real money, run a test payment in CryptoGate's sandbox. This lets you trigger the full flow — create payment, see the checkout page, simulate a confirmation, and receive the webhook — without moving real crypto. Confirm that:

Once the sandbox flow works end to end, switch to live mode and do one small real payment to yourself as a final check.

Why crypto on WordPress (beyond shops)

Crypto is not just for stores. On WordPress it shines for:

Stablecoins like USDT and USDC are especially useful here because they hold a steady value, so you are not exposed to price swings between checkout and settlement. See how to accept stablecoin payments for the details. And if you are on a different site builder, our guide to accepting crypto on Wix follows the same pattern.

Ready to accept crypto on your WordPress site?

Connect your wallet, pick a route, and you can be taking Bitcoin and stablecoins today — with 0% transaction fees and funds in your own wallet. Create your free CryptoGate account and add your first crypto payment to WordPress.

Frequently Asked Questions

Can WordPress accept crypto payments?

Yes. WordPress does not process payments itself, but you can connect a crypto payment gateway such as CryptoGate and add a hosted payment page, a custom button, or a WooCommerce plugin. This lets any WordPress site accept Bitcoin, Ethereum, Litecoin, Dogecoin, Dash and stablecoins, with funds settling to your own wallet.

Is there a free crypto plugin for WordPress?

You can accept crypto on WordPress with no plugin at all by linking to a CryptoGate hosted payment page. CryptoGate charges a flat monthly plan with 0% per-transaction fees rather than taking a cut of each sale, so unlike card processors that charge around 2.4 to 2.9 percent plus a fixed fee per transaction, you keep 100 percent of every payment.

How do I accept Bitcoin on WordPress without WooCommerce?

Use the hosted payment page or a custom button. Create a payment in your CryptoGate dashboard, copy the secure checkout URL, and link to it from any page, post, donation form, or membership area. No store or cart is required — it works for invoices, paywalls, tips, and simple pay buttons.

Which cryptocurrencies can I accept on WordPress?

With CryptoGate you can accept Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Dogecoin (DOGE), Dash (DASH), and the USDT and USDC stablecoins. You choose which coins to enable, and you can start with one and add more later as you connect each wallet.

Do I need KYC to accept crypto on WordPress?

CryptoGate is non-custodial and does not require buyers to complete KYC to pay. Because payments settle directly to your own wallet using your xPub, the gateway never holds your funds. You stay in control of your money at all times.

How do I get paid and confirm a crypto payment landed?

Each payment is sent to a fresh address derived from your wallet xPub, so funds arrive directly in the wallet you control. To know exactly when a payment is confirmed, set up a webhook: CryptoGate sends an HTTP POST to your WordPress site when the payment is detected and confirmed, which you can use to grant access, email a receipt, or mark an order paid.

Ready to accept crypto payments?

Set up in minutes. No KYC required. Non-custodial — funds go directly to your wallet.

Get started free →