Free, self-hosted stablecoin gateway

Sovereign Settle – Stablecoin Gateway for WooCommerce

Accept supported stablecoins directly to your own wallet, give each WooCommerce order an exact payment quote, and verify the submitted blockchain transaction automatically.

Overview

Direct-wallet settlement with WooCommerce order controls around it.

Non-custodial by design

Customers send payment from their wallet directly to the receiving address configured for the selected asset. Sovereign Settle does not hold, forward, exchange or settle the funds.

Verified against the order

The submitted transaction is checked for the expected network, token contract, receiving address, quoted amount, payment window and required confirmations before WooCommerce completes the order.

Merchant responsibility: blockchain payments are irreversible. You remain responsible for wallet security, network and token selection, accounting, taxation, regulatory obligations and any refund sent from your own wallet. Test the complete flow on Sepolia before accepting live funds.

Requirements

WordPress6.7 or later; tested through WordPress 7.1
WooCommerce8.0 or later required; HPOS compatible and tested through WooCommerce 10.9
PHP8.2 or later; bcmath recommended
CheckoutClassic WooCommerce Cart and Checkout; Block Checkout is outside the Version 1 compatibility scope
Verification APIAn Etherscan V2 API key is required; optional Blockscout fallback is available for supported live networks
Receiving walletAt least one enabled asset with a valid EVM receiving address on its intended network
LicenceAlways free — no licence key required

Quick start

  1. Install and activate — Install from WordPress.org or upload the plugin ZIP. WooCommerce must already be active.
  2. Configure the test gateway — Open WooCommerce → Sovereign Settle, select Testnet (Sepolia), enter an Etherscan API key, and save.
  3. Add the Sepolia wallet — Enable Sepolia ETH, enter the receiving address, and review its quote, timeout, confirmation and tolerance settings.
  4. Enable the payment method — Open WooCommerce → Settings → Payments and enable Sovereign Settle.
  5. Complete a full test order — Send Sepolia ETH, submit the transaction hash, and confirm that the order completes only after verification.
  6. Move to Live carefully — Select Live, enable only the assets you intend to accept, confirm every receiving address and repeat a low-value production test.

User guide

Open the section that matches the task being completed.

Configure the gateway

API and network

Etherscan API KeyRequired for transaction verification. One key is used for Ethereum, Polygon, BNB Smart Chain and Sepolia through Etherscan V2.
Blockscout fallbackOptional. When enabled, the applicable public Blockscout API may be queried if the primary live-network explorer request fails.
Network modeChoose Testnet (Sepolia) for test ETH or Live for configured assets on Ethereum, Polygon and BNB Smart Chain. Save after switching modes.
Gateway descriptionText shown below the gateway title at checkout.

Stablecoin discount

Optionally apply a percentage discount when the customer selects Sovereign Settle and show a Save X% badge beside the gateway name. The discounted WooCommerce order total is used for the crypto quote.

Configure assets and payment rules

Enable only the assets you intend to receive. Each asset has its own wallet and risk settings.

Wallet AddressEnter the EVM receiving address for this asset and network. Mixed-case hexadecimal addresses are supported. Confirm the address independently before accepting live funds.
Over-pay toleranceMaximum percentage by which the received amount may exceed the order quote.
Under-pay toleranceMaximum permitted percentage shortfall from the order quote.
Price FreezeHow long the quoted crypto price is retained before the page must calculate a new quote. The configured range is 1–60 minutes.
ConfirmationsRequired blockchain confirmations before the order completes. Defaults are one on Sepolia and twelve on live networks; set this according to your own risk policy.
TimeoutTotal time allowed for the payment to reach its required state before the order is placed on hold for review. The configured range is 5–180 minutes.
Pending StatusChoose whether a newly created crypto order begins as Pending Payment or On Hold while awaiting verification.
Supported networks and assets

Checkout displays only the assets enabled and configured for the active network mode.

NetworkAvailable assetsChain ID
EthereumUSDT, USDC, DAI, PYUSD1
PolygonUSDT, USDC, DAI137
BNB Smart ChainUSDT, USDC, DAI56
Sepolia testnetETH11155111
Customer payment flow

At Classic Checkout, the customer selects Sovereign Settle and completes the normal WooCommerce checkout details. The payment card then guides them through the blockchain payment:

  1. select an enabled asset;
  2. review the exact amount, receiving address, network and remaining payment time;
  3. scan the QR code or copy the payment details into their wallet;
  4. send payment and submit the transaction hash; and
  5. wait while the transaction is checked and reaches the required confirmations.

The payment and confirmation card uses WooCommerce’s native order-received and customer order endpoints. A customer who leaves before submitting the hash can return through the protected WooCommerce order link while the payment opportunity remains valid.

Verification states and merchant review
Awaiting paymentThe order exists but no transaction hash has been accepted.
Pending / ConfirmingThe transaction has been found but still requires verification or additional confirmations.
CompletedThe transaction matched the order and reached the required confirmation threshold. WooCommerce completes the order once.
MismatchThe asset, recipient or amount does not match the order requirements. The order remains on hold for manual review.
FailedThe submitted blockchain transaction failed. The order remains on hold.
TimeoutThe payment window expired before successful verification. The order remains on hold and must not be completed automatically.

A transaction hash cannot be accepted for more than one order. Review the order notes and Stablecoin Payment Details panel before making any manual decision about an unmatched payment.

Refunds, deactivation and deletion

Refunds

WooCommerce can record the commercial refund, but Sovereign Settle cannot reverse or send a blockchain transaction. Independently verify the return address and amount before sending any cryptocurrency from the merchant wallet.

Deactivation

Normal deactivation leaves settings and WooCommerce order records available for later reactivation.

Plugin deletion

Deleting the plugin runs its uninstall cleanup for current and pre-rename settings, schedules, locks and plugin-owned WooCommerce order metadata. Back up the site before deletion when historical payment data must be retained.

External services and privacy

Sovereign Settle contacts external services only when required to quote or verify a configured payment. It does not add advertising or analytics tracking.

Etherscan V2Receives the merchant API key and public blockchain identifiers required to verify the configured transaction. The request also exposes the site server’s IP address.
BlockscoutIf the optional fallback is enabled, public transaction and blockchain identifiers may be sent to the applicable Blockscout API when the primary explorer request fails.
CoinGeckoReceives asset and fiat-currency identifiers needed for the order quote, plus the site server’s IP address. WooCommerce customer identity and order contents are not sent.

The WooCommerce order stores payment-related data including the selected asset, quoted amount, receiving address, exchange rate, transaction hash, confirmation state and verification timestamps. Describe this processing and the relevant external services in your own privacy information where required.

Etherscan API Terms · Etherscan Privacy Policy · Blockscout Privacy Policy · CoinGecko API Terms · CoinGecko Privacy Policy

Troubleshooting

The gateway does not appear at checkout

Confirm WooCommerce is active, Sovereign Settle is enabled under WooCommerce → Settings → Payments, and at least one asset is enabled with a valid receiving address. Version 1 requires Classic Cart and Checkout.

A wallet address is rejected

Use a complete EVM address beginning with 0x followed by 40 hexadecimal characters. Current release 1.0.11 supports valid lowercase, uppercase and mixed-case hexadecimal addresses. Confirm that the address belongs to the intended network.

An order is waiting for confirmations

Confirm the transaction is visible on the correct network, has not failed, and is gaining confirmations. Check the required confirmation setting, Etherscan API key and scheduled processing. Browser polling, WooCommerce Action Scheduler and WordPress Cron may all participate without completing the same order twice.

A payment reports a mismatch

Compare the order’s selected asset, token contract, receiving address and expected amount with the transfer recorded inside the submitted transaction receipt. Review the configured over-pay and under-pay tolerance. Do not complete the order merely because the wallet has received a different historical transfer.

The quoted amount or discount looks wrong

Confirm the WooCommerce order total after selecting the gateway. The stablecoin discount is applied to the WooCommerce total before the crypto quote is calculated. A customized checkout may require its normal refresh before displaying the discount, although the resulting order total remains authoritative.

The price quote expired

Refresh the protected order page to request a current quote if the price-freeze period expired but the overall payment window remains active. If the complete payment timeout has expired, create a new order rather than sending against the old quote.

An API request fails

Confirm the Etherscan key is valid and the server can make outbound HTTPS requests. If appropriate, enable the disclosed Blockscout fallback for supported live networks. CoinGecko pricing is cached and uses safe stablecoin fallback behavior during temporary rate-provider failures.

Developer notes

Sovereign Settle uses the normal WooCommerce return flow unless a store explicitly changes it.

Order storage: payment state is stored as WooCommerce order metadata and supports HPOS. WooCommerce remains the source of truth for the commercial order and lifecycle.

Verification: ERC-20 payments are matched against transfer logs in the submitted transaction receipt. Atomic order locks prevent overlapping browser, Cron and Action Scheduler checks from completing the same order more than once.

Scheduling: WooCommerce Action Scheduler is used where available, with WordPress Cron fallback.

Migration: the renamed package migrates supported pre-Sovereign Settle settings, wallet addresses, payment-page references and historical order metadata automatically.

Use a custom completion page

Use this filter only when the site has a non-standard post-payment route. It receives the normal WooCommerce return URL and the order object.

add_filter('sovsettle_completion_url', function ($url, $order) {
    return $url;
}, 10, 2);
Use a custom terminal-payment page

Mismatch, failed and timeout states normally remain on hold for merchant review. This filter can change the customer destination without changing that order behavior.

add_filter('sovsettle_terminal_payment_url', function ($url, $order, $status) {
    if (!in_array($status, ['mismatch', 'failed', 'timeout'], true)) {
        return $url;
    }

    return add_query_arg([
        'order_id' => $order->get_id(),
        'key'      => $order->get_order_key(),
        'reason'   => $status,
    ], home_url('/order-failed/'));
}, 10, 3);

Important: the custom page must validate the WooCommerce order key before displaying order-specific information.

Changelog

v1.0.11 — August 2026

! Fixed live settings validation incorrectly rejecting valid mixed-case EVM wallet addresses.
~ Aligned live address validation with the strict hexadecimal format enforced when settings are saved.

v1.0.10 — August 19, 2026

+ Renamed the plugin to Sovereign Settle – Stablecoin Gateway for WooCommerce and added automatic migration of supported legacy settings and order metadata.
+ Added a direct documentation link to the installed Plugins screen.
~ Raised the minimum PHP version to 8.2, upgraded the QR library and adopted the sovsettle_ developer-hook prefix.
! Bound ERC-20 verification to transfer logs in the submitted transaction receipt.
! Added atomic verification locks and prevented duplicate Completed transitions, emails and notes.
! Preserved explicit rejection of wrong-token, wrong-recipient and out-of-tolerance payments.

v1.0.6 — August 14, 2026

~ Improved checkout validation, AJAX protection, operational logging and HPOS uninstall cleanup.
! Corrected stablecoin discount handling so the discounted order total is reflected in the quoted cryptocurrency amount.

v1.0.4 — July 21, 2026

+ Initial public payment flow for supported assets on Ethereum, Polygon and BNB Smart Chain, with Sepolia ETH testing.
+ Order-specific quotes, native WooCommerce endpoints, transaction verification, duplicate-hash protection and configurable confirmation, timeout, freeze, tolerance and discount settings.

Quick reference

Current release1.0.11
WordPress6.7 or later; tested through 7.1
WooCommerce8.0+ required; HPOS compatible; tested through 10.9
CheckoutClassic Cart and Checkout
PHP8.2 or later; bcmath recommended
SettingsWooCommerce → Sovereign Settle
Gateway activationWooCommerce → Settings → Payments
VerificationEtherscan V2; optional Blockscout fallback
Live assetsUSDT, USDC, DAI and PYUSD across ten configured Ethereum, Polygon and BNB Smart Chain routes
TestingSepolia ETH
Price conversionCoinGecko with cached pricing and safe fallback behavior
Order processingBrowser status checks, WooCommerce Action Scheduler and WordPress Cron fallback with atomic locks
LicenceAlways free — no licence key required
InstallInstall from WordPress.org

Back to top ↑