説明
x402 Pay gates selected WordPress posts behind an x402 payment. When a paywalled URL is requested without a valid Payment-Signature header, the plugin responds with HTTP 402 and a PAYMENT-REQUIRED payload describing how to pay. Bots, API clients, and browser-wallet users can sign a USDC transfer, retry the request, and get the response.
Use it to:
- Charge automated agents per article view.
- Offer pay-per-request access to a small set of premium posts.
- Test the x402 payment flow on Base Sepolia without setting up your own facilitator.
The plugin is inert until you pick a paywall mode in Settings x402 Pay. The default mode is “No posts,” so installing the plugin alone does not gate anything or contact any external service.
Audience and modes
- Audience decides who gets paywalled. “Only bots” (default) uses crawler detection so human readers still see your content. “Everyone” gates both humans and bots.
- Mode decides which posts qualify. Choose “No posts” (off), “All posts,” or restrict the paywall to a chosen category.
Built-in facilitators
- x402.org (Test network) — routes verify and settle calls through the public x402.org facilitator on Base Sepolia. Default for new installs. No real funds move.
- Coinbase CDP — routes through Coinbase Developer Platform on Base mainnet (real USDC). Requires a CDP API key.
External services
This plugin connects to external x402 facilitators to verify and settle payments. A facilitator is only contacted when a request hits a paywalled URL carrying a Payment-Signature header, or when an admin clicks Test connection on the settings page. Installing the plugin without selecting a paywall mode triggers no outbound calls.
x402.org (Test network)
Used by the default x402.org (Test network) connector.
- Endpoint:
https://x402.org/facilitator/ - What is sent: x402 PaymentRequirements (your receiving wallet address, amount, asset, network, resource URL) and the paying client’s PaymentPayload (a signed USDC
transferWithAuthorizationauthorization). - Why: to verify and settle the USDC payment on Base Sepolia.
- Site: https://www.x402.org/
- Terms of use: https://lfprojects.org/policies/terms-of-use/
- Privacy policy: https://lfprojects.org/policies/privacy-policy/
- This is a public testnet facilitator; do not use it for production paywalls.
Coinbase Developer Platform
Used only when an admin selects the Coinbase CDP connector and saves an API key.
- Endpoint:
https://api.cdp.coinbase.com/platform/v2/x402/ - What is sent: the same x402 PaymentRequirements and PaymentPayload, plus a CDP-signed JWT proving the API key.
- Why: to verify and settle the USDC payment on Base mainnet.
- Terms of service: https://coinbase.com/legal/developer-platform/terms-of-service/
- Privacy policy: https://coinbase.com/legal/privacy
Development
Source, build instructions, and issue tracker: https://github.com/Automattic/x402-pay
The admin UI is built from assets/src/index.jsx via npm run build; the bundled assets/build/index.js is the compiled output.
スクリーンショット



インストール
- Install and activate the plugin.
- Visit Settings x402 Pay.
- Enter the wallet address that should receive payments.
- Pick a paywall mode and audience.
- Pick a facilitator. For Coinbase, paste your CDP API Key ID and secret.
- Save.
FAQ
-
What does a paywalled request look like?
-
If the request does not carry a valid
Payment-Signatureheader, the plugin returns HTTP 402 with aPAYMENT-REQUIREDresponse header containing the encoded x402 PaymentRequirements. Clients sign the requirements and retry the request. -
Does this charge human readers?
-
Only if you set Audience to “Everyone.” The default is “Only bots/crawlers” so humans see posts as normal and only detected bot/agent traffic gets a 402.
-
Do I need ETH to receive payments?
-
No. x402 uses EIP-3009
transferWithAuthorization; the facilitator pays gas. You only need USDC inbound. -
Where are API keys stored?
-
Coinbase CDP secrets are stored in their own
wp_optionsrow, or can be supplied via awp-config.phpconstant or environment variable so they stay out of the database entirely.
評価
このプラグインにはレビューがありません。
貢献者と開発者
変更履歴
0.1.3
- Use canonical coinbase.com legal URLs so the terms and privacy links pass Plugin Directory link validation.
0.1.2
- Public 402 page assets now use WordPress enqueue APIs for Plugin Directory review compliance.
0.1.1
- Paywall page now swaps the wallet buttons for a single live status message while a payment is in progress, and surfaces wallet rejections or settlement failures in a dismissible modal so visitors can retry.
0.1.0
- Initial release: paywall posts by category or all posts; gate humans, bots, or both; verify and settle USDC payments via x402.org on Base Sepolia or Coinbase CDP on Base mainnet.