x402 Pay
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.