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.
Requirements
| WordPress | 6.7 or later; tested through WordPress 7.1 |
| WooCommerce | 8.0 or later required; HPOS compatible and tested through WooCommerce 10.9 |
| PHP | 8.2 or later; bcmath recommended |
| Checkout | Classic WooCommerce Cart and Checkout; Block Checkout is outside the Version 1 compatibility scope |
| Verification API | An Etherscan V2 API key is required; optional Blockscout fallback is available for supported live networks |
| Receiving wallet | At least one enabled asset with a valid EVM receiving address on its intended network |
| Licence | Always free — no licence key required |
Quick start
- Install and activate — Install from WordPress.org or upload the plugin ZIP. WooCommerce must already be active.
- Configure the test gateway — Open WooCommerce → Sovereign Settle, select Testnet (Sepolia), enter an Etherscan API key, and save.
- Add the Sepolia wallet — Enable Sepolia ETH, enter the receiving address, and review its quote, timeout, confirmation and tolerance settings.
- Enable the payment method — Open WooCommerce → Settings → Payments and enable Sovereign Settle.
- Complete a full test order — Send Sepolia ETH, submit the transaction hash, and confirm that the order completes only after verification.
- 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 Key | Required for transaction verification. One key is used for Ethereum, Polygon, BNB Smart Chain and Sepolia through Etherscan V2. |
| Blockscout fallback | Optional. When enabled, the applicable public Blockscout API may be queried if the primary live-network explorer request fails. |
| Network mode | Choose Testnet (Sepolia) for test ETH or Live for configured assets on Ethereum, Polygon and BNB Smart Chain. Save after switching modes. |
| Gateway description | Text 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 Address | Enter 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 tolerance | Maximum percentage by which the received amount may exceed the order quote. |
| Under-pay tolerance | Maximum permitted percentage shortfall from the order quote. |
| Price Freeze | How long the quoted crypto price is retained before the page must calculate a new quote. The configured range is 1–60 minutes. |
| Confirmations | Required blockchain confirmations before the order completes. Defaults are one on Sepolia and twelve on live networks; set this according to your own risk policy. |
| Timeout | Total 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 Status | Choose 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.
| Network | Available assets | Chain ID |
|---|---|---|
| Ethereum | USDT, USDC, DAI, PYUSD | 1 |
| Polygon | USDT, USDC, DAI | 137 |
| BNB Smart Chain | USDT, USDC, DAI | 56 |
| Sepolia testnet | ETH | 11155111 |
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:
- select an enabled asset;
- review the exact amount, receiving address, network and remaining payment time;
- scan the QR code or copy the payment details into their wallet;
- send payment and submit the transaction hash; and
- 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 payment | The order exists but no transaction hash has been accepted. |
| Pending / Confirming | The transaction has been found but still requires verification or additional confirmations. |
| Completed | The transaction matched the order and reached the required confirmation threshold. WooCommerce completes the order once. |
| Mismatch | The asset, recipient or amount does not match the order requirements. The order remains on hold for manual review. |
| Failed | The submitted blockchain transaction failed. The order remains on hold. |
| Timeout | The 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 V2 | Receives the merchant API key and public blockchain identifiers required to verify the configured transaction. The request also exposes the site server’s IP address. |
| Blockscout | If the optional fallback is enabled, public transaction and blockchain identifiers may be sent to the applicable Blockscout API when the primary explorer request fails. |
| CoinGecko | Receives 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
! 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.
+ 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.
~ 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.
+ 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 release | 1.0.11 |
| WordPress | 6.7 or later; tested through 7.1 |
| WooCommerce | 8.0+ required; HPOS compatible; tested through 10.9 |
| Checkout | Classic Cart and Checkout |
| PHP | 8.2 or later; bcmath recommended |
| Settings | WooCommerce → Sovereign Settle |
| Gateway activation | WooCommerce → Settings → Payments |
| Verification | Etherscan V2; optional Blockscout fallback |
| Live assets | USDT, USDC, DAI and PYUSD across ten configured Ethereum, Polygon and BNB Smart Chain routes |
| Testing | Sepolia ETH |
| Price conversion | CoinGecko with cached pricing and safe fallback behavior |
| Order processing | Browser status checks, WooCommerce Action Scheduler and WordPress Cron fallback with atomic locks |
| Licence | Always free — no licence key required |
| Install | Install from WordPress.org |
