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 transferWithAuthorization authorization).
  • 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.

螢幕擷圖

安裝方式

  1. Install and activate the plugin.
  2. Visit Settings x402 Pay.
  3. Enter the wallet address that should receive payments.
  4. Pick a paywall mode and audience.
  5. Pick a facilitator. For Coinbase, paste your CDP API Key ID and secret.
  6. Save.

常見問題集

What does a paywalled request look like?

If the request does not carry a valid Payment-Signature header, the plugin returns HTTP 402 with a PAYMENT-REQUIRED response 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_options row, or can be supplied via a wp-config.php constant or environment variable so they stay out of the database entirely.

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈x402 Pay〉的開發相關工作。

參與者

將〈x402 Pay〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

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.