Title: GriffNode Crypto Payments
Author: griffnode
Published: <strong>November 9, 2026</strong>
Last modified: November 9, 2026

---

Search plugins

![](https://ps.w.org/griffnode-crypto-payments/assets/banner-772x250.png?rev=3792245)

![](https://ps.w.org/griffnode-crypto-payments/assets/icon-256x256.png?rev=3792245)

# GriffNode Crypto Payments

 By [griffnode](https://profiles.wordpress.org/griffnode/)

[Download](https://downloads.wordpress.org/plugin/griffnode-crypto-payments.1.0.4.zip)

 * [Details](https://wordpress.org/plugins/griffnode-crypto-payments/#description)
 * [Reviews](https://wordpress.org/plugins/griffnode-crypto-payments/#reviews)
 *  [Installation](https://wordpress.org/plugins/griffnode-crypto-payments/#installation)
 * [Development](https://wordpress.org/plugins/griffnode-crypto-payments/#developers)

 [Support](https://wordpress.org/support/plugin/griffnode-crypto-payments/)

## Description

**GriffNode Crypto Payments lets you accept cryptocurrency anywhere on WordPress
with a simple shortcode, no WooCommerce required.** Drop a “Pay with crypto” button
into any post, page or widget, and the money settles **straight to your own wallet**.
GriffNode is non-custodial: we never hold, touch, or can freeze your funds. There
are no chargebacks.

You connect your wallet’s extended public key (xPub) once at [griffnode.com](https://griffnode.com/),
and a fresh receiving address is derived for every payment, so funds go customer
to you directly.

**Add a pay button with one shortcode:**

    ```
    [griffnode_button amount="49" reference="order-123"]
    ```

Optional attributes let you lock to one coin, pre-fill the customer email, or set
success and cancel URLs. Full options are in the [documentation](https://docs.griffnode.com/).

**Why accept crypto this way**

 * **Non-custodial**: funds settle directly to your wallet, not ours. We literally
   cannot spend or freeze them.
 * **No chargebacks**: on-chain settlement is final. No clawbacks weeks after you
   deliver.
 * **Live in minutes**: sign up, paste your xPub, drop in the shortcode.
 * **Works anywhere**: posts, pages, sidebars, any theme. No WooCommerce, no store
   required. For WooCommerce stores, use our separate GriffNode for WooCommerce 
   plugin.
 * **Flat monthly pricing**: no percentage per transaction. See [pricing](https://griffnode.com/).

**Coins supported**

Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Dogecoin (DOGE), Dash (DASH), plus
the ERC-20 stablecoins **USDT, USDC and DAI** for price-stable payments.

**Features**

 * `[griffnode_button]` shortcode with a live coin selector and a hosted, mobile-
   friendly payment page (BIP-21 QR code).
 * Real-time on-chain confirmation via signed webhooks (HMAC-SHA256).
 * Handles completed, partial and expired payment events.
 * Settings screen for your API keys and the webhook URL.

A GriffNode account and API keys are required (see External services below).

### External services

This plugin relies on the GriffNode API (`api.griffnode.com`), operated by GriffNode,
to create crypto payment sessions and to confirm payments. It is not optional: the
plugin cannot function without it.

**What is sent, and when:**

 * When a page with the `[griffnode_button]` shortcode loads, the visitor’s browser
   fetches the list of cryptocurrencies you have configured wallets for from the
   API endpoint `api.griffnode.com/merchant/cryptos`, authenticated with your Publishable
   Key (safe to expose, it grants no write access). This request reveals the visitor’s
   IP address to GriffNode.
 * When a visitor clicks the pay button, your site sends the amount, fiat currency,
   chosen cryptocurrency, your site URL, the button’s reference, and (if you set
   them in the shortcode) the customer email and success/cancel URLs to the API 
   endpoint `api.griffnode.com/transactions/create`, authenticated with your Secret
   Key. The visitor is then redirected to the GriffNode hosted payment page.
 * While any payment made through your site is open (at most 7 days), your site 
   sends the IDs of those open payments to the API endpoint `api.griffnode.com/transactions/
   list` every 30 seconds, authenticated with your Secret Key, to read their status.
   It stops when no payment is open.
 * When the payment status changes, GriffNode sends a signed webhook to your site
   at `/wp-json/griffnode/v1/webhook`. The plugin verifies the HMAC-SHA256 signature
   before acting on it.

GriffNode [Terms of Service](https://info.griffnode.com/terms-of-service) and [Privacy Policy](https://info.griffnode.com/privacy-policy).

## Installation

 1. Create a free account at [griffnode.com](https://griffnode.com/) and connect your
    wallet’s xPub.
 2. In your GriffNode dashboard, copy your Publishable key, Secret key and Webhook 
    secret.
 3. Install this plugin: Plugins  Add New  Upload, choose the zip, and Activate.
 4. Go to Settings  GriffNode and paste your keys.
 5. In your GriffNode dashboard, set the webhook URL shown on the settings screen.
 6. Add `[griffnode_button amount="10"]` to any page and place a small test payment.

## FAQ

### Do I need WooCommerce?

No. This plugin works on any WordPress site via the `[griffnode_button]` shortcode.
If you run a WooCommerce store, use our separate GriffNode for WooCommerce plugin
instead.

### Where does the money go?

Directly to your own wallet, every time, via the xPub you connect. GriffNode cannot
custody, spend, or freeze it.

### Are crypto payments reversible?

No. On-chain settlement is final, so there are no chargebacks.

### Which cryptocurrencies can customers pay with?

Bitcoin, Ethereum, Litecoin, Dogecoin and Dash, plus the USDT, USDC and DAI stablecoins.

### Where are the docs?

Full documentation and shortcode options are at [docs.griffnode.com](https://docs.griffnode.com/).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“GriffNode Crypto Payments” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ griffnode ](https://profiles.wordpress.org/griffnode/)

[Translate “GriffNode Crypto Payments” into your language.](https://translate.wordpress.org/projects/wp-plugins/griffnode-crypto-payments)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/griffnode-crypto-payments/),
check out the [SVN repository](https://plugins.svn.wordpress.org/griffnode-crypto-payments/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/griffnode-crypto-payments/)
by [RSS](https://plugins.trac.wordpress.org/log/griffnode-crypto-payments/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.4

 * Fixed: the griffnode_payment_* actions never fired (the name lost its underscore).
   The griffnode_webhook action was not affected.
 * The status check is scheduled only once a payment is open, never while WordPress
   is still loading, which fixes an early translation-loading notice with WooCommerce
   on non-English sites.

#### 1.0.3

 * Webhook signature check no longer uses str_starts_with(), so nothing in the plugin
   needs PHP 8.

#### 1.0.2

 * Works on every GriffNode plan. Without a webhook (free Starter plan) the plugin
   checks all open payments every 30 seconds in one request and fires the same griffnode_payment_*
   actions (with source = api_check). It does not depend on site visitors, and stops
   when no payment is open.
 * Each payment event fires once, whether it arrives by webhook, by status check,
   or both. Webhook replays older than 48 hours are refused.
 * New actions: griffnode_payment_paid_late and griffnode_payment_needs_review (
   coins arrived after the window, or need a manual decision in your GriffNode dashboard).
 * Payments are followed for up to 7 days: slow confirmations, partial payments 
   topped up later and late payments you confirm still arrive.
 * Admin notice when status checks fail (for example a wrong Secret Key).
 * Fixed: non-USD buttons were charged in USD (the currency was sent under the wrong
   field name).
 * Fixed: the transaction id returned after creating a payment was always empty.
 * Fixed: a fatal error when this plugin and GriffNode for WooCommerce were active
   together.

#### 1.0.1

 * Renamed to GriffNode Crypto Payments.
 * Pay button script is now a properly enqueued file, loaded only on pages that 
   show a button.
 * The cryptocurrency list is built safely with DOM methods and fetched once per
   page.
 * Documented the external services the plugin uses.

#### 1.0.0

 * Initial release: shortcode-based non-custodial crypto payments for any WordPress
   site (BTC, ETH, LTC, DOGE, DASH + USDT/USDC/DAI), hosted checkout, signed webhooks.

## Meta

 *  Version **1.0.4**
 *  Last updated **7 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [bitcoin](https://wordpress.org/plugins/tags/bitcoin/)[crypto payments](https://wordpress.org/plugins/tags/crypto-payments/)
   [cryptocurrency](https://wordpress.org/plugins/tags/cryptocurrency/)[ethereum](https://wordpress.org/plugins/tags/ethereum/)
   [payments](https://wordpress.org/plugins/tags/payments/)
 *  [Advanced View](https://wordpress.org/plugins/griffnode-crypto-payments/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/griffnode-crypto-payments/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/griffnode-crypto-payments/reviews/)

## Contributors

 *   [ griffnode ](https://profiles.wordpress.org/griffnode/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/griffnode-crypto-payments/)