{"id":298164,"date":"2026-04-24T05:35:29","date_gmt":"2026-04-24T05:35:29","guid":{"rendered":"https:\/\/ko.wordpress.org\/plugins\/nanotrans-x402\/"},"modified":"2026-04-24T06:45:18","modified_gmt":"2026-04-24T06:45:18","slug":"nanotrans-agent-paywall","status":"publish","type":"plugin","link":"https:\/\/zh-hk.wordpress.org\/plugins\/nanotrans-agent-paywall\/","author":23477458,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.1.0","stable_tag":"0.1.0","tested":"6.9.4","requires":"6.9","requires_php":"8.1","requires_plugins":null,"header_name":"NanoTrans Agent Paywall","header_author":"NanoTrans","header_description":"Agent-native paywall for WordPress. AI agents discover and pay for content via the x402 protocol. Dual access for humans and agents.","assets_banners_color":"172961","last_updated":"2026-04-24 06:45:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/nanotrans.io","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":105,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"nanotrans01","date":"2026-04-24 06:45:18"}},"upgrade_notice":{"0.1.0":"<p>Initial release. Install, activate, and enter your wallet address in Settings &gt; NanoTrans.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3514456,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3514456,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3514456,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3514456,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"nanotrans\/paywall":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"nanotrans\/paywall","version":"0.1.0","title":"NanoTrans Paywall","category":"design","icon":"lock","description":"Mark the boundary between free preview and paid content. Content below this block requires x402 payment.","keywords":["paywall","paid","x402","premium","nanotrans"],"textdomain":"nanotrans-agent-paywall","attributes":{"price":{"type":"string","default":"0.05"},"previewLength":{"type":"number","default":200},"category":{"type":"string","default":""},"languages":{"type":"array","default":[],"items":{"type":"string"}}},"example":{"attributes":{"price":"0.05","previewLength":200,"category":"k-pop","languages":["ko","en"]}},"supports":{"html":false,"multiple":false,"reusable":false,"anchor":false,"className":false},"editorScript":"file:.\/index.js","style":"file:.\/style.css","render":"file:.\/render.php"}},"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3514456,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3514456,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3514456,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3514456,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Admin Dashboard - Revenue overview and payment analytics","2":"Gutenberg Paywall Block - Visual price configuration","3":"Payment Widget - Browser wallet connection for human users","4":"Agent Discovery - \/.well-known\/x402 endpoint response"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[232494,16761,12688,209195,260969],"plugin_category":[],"plugin_contributors":[260970],"plugin_business_model":[],"class_list":["post-298164","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-agent","plugin_tags-micropayment","plugin_tags-paywall","plugin_tags-usdc","plugin_tags-x402","plugin_contributors-nanotrans01","plugin_committers-nanotrans01"],"banners":{"banner":"https:\/\/ps.w.org\/nanotrans-agent-paywall\/assets\/banner-772x250.png?rev=3514456","banner_2x":"https:\/\/ps.w.org\/nanotrans-agent-paywall\/assets\/banner-1544x500.png?rev=3514456","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nanotrans-agent-paywall\/assets\/icon-128x128.png?rev=3514456","icon_2x":"https:\/\/ps.w.org\/nanotrans-agent-paywall\/assets\/icon-256x256.png?rev=3514456","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/nanotrans-agent-paywall\/assets\/screenshot-1.png?rev=3514456","caption":"Admin Dashboard - Revenue overview and payment analytics"},{"src":"https:\/\/ps.w.org\/nanotrans-agent-paywall\/assets\/screenshot-2.png?rev=3514456","caption":"Gutenberg Paywall Block - Visual price configuration"},{"src":"https:\/\/ps.w.org\/nanotrans-agent-paywall\/assets\/screenshot-3.png?rev=3514456","caption":"Payment Widget - Browser wallet connection for human users"},{"src":"https:\/\/ps.w.org\/nanotrans-agent-paywall\/assets\/screenshot-4.png?rev=3514456","caption":"Agent Discovery - \/.well-known\/x402 endpoint response"}],"raw_content":"<!--section=description-->\n<p>NanoTrans Agent Paywall is an agent-native paywall plugin that enables AI agents to automatically discover and purchase WordPress content using the x402 payment protocol with USDC stablecoin on the Base Network (Ethereum L2).<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Dual Access<\/strong> - Humans pay via browser wallet (MetaMask); AI agents pay automatically via x402 protocol<\/li>\n<li><strong>x402 Protocol<\/strong> - Industry-standard HTTP 402 payment flow with EIP-712 signatures<\/li>\n<li><strong>USDC Payments<\/strong> - Stablecoin payments on Base Network (low gas fees, fast settlement)<\/li>\n<li><strong>Agent Discovery<\/strong> - <code>\/.well-known\/x402<\/code> endpoint for automatic content discovery<\/li>\n<li><strong>Gutenberg Block<\/strong> - Visual paywall block editor with price configuration<\/li>\n<li><strong>Batch Payments<\/strong> - Purchase up to 20 articles in a single transaction<\/li>\n<li><strong>Admin Dashboard<\/strong> - Revenue tracking, anomaly detection, emergency controls<\/li>\n<li><strong>MCP Server<\/strong> - Compatible with Claude, Cursor, and other MCP clients<\/li>\n<li><strong>Real-time Notifications<\/strong> - SSE-based payment alerts<\/li>\n<li><strong>Permanent Access<\/strong> - One-time payment grants permanent access via signed wallet cookie<\/li>\n<\/ul>\n\n<p><strong>How It Works:<\/strong><\/p>\n\n<ol>\n<li>Publisher sets content prices using the Gutenberg paywall block<\/li>\n<li>AI agent requests content and receives HTTP 402 with payment requirements<\/li>\n<li>Agent signs USDC payment via EIP-712<\/li>\n<li>x402 Facilitator verifies payment on-chain<\/li>\n<li>Content is delivered as structured JSON<\/li>\n<\/ol>\n\n<p><strong>For Content Publishers:<\/strong><\/p>\n\n<ul>\n<li>Set per-article prices in USDC<\/li>\n<li>Dynamic pricing (agent vs human, time-based)<\/li>\n<li>Revenue dashboard with real-time analytics<\/li>\n<li>Automatic fund distribution via Splitter contracts<\/li>\n<\/ul>\n\n<p><strong>For AI Agent Developers:<\/strong><\/p>\n\n<ul>\n<li>MCP server for Claude\/Cursor integration<\/li>\n<li>OpenClaw SKILL.md for agent skill registration<\/li>\n<li>Structured JSON API responses<\/li>\n<li>Spending limits and audit logging<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the following third-party services to process x402 micropayments. Payments cannot be verified or settled without them. All connections are opt-in: no outbound network call is made until the site administrator explicitly enables the Facilitator Proxy connection in Settings &gt; NanoTrans and saves the settings.<\/p>\n\n<p><strong>1. NanoTrans Facilitator Proxy (Cloudflare Worker)<\/strong><\/p>\n\n<ul>\n<li>What it is: A Cloudflare Worker operated by NanoTrans that brokers authenticated requests to the Coinbase CDP x402 Facilitator. It signs requests with CDP credentials on your behalf so site owners do not need to manage CDP API keys.<\/li>\n<li>What data is sent, and when: Only after the site administrator opts in (checks \"Enable Facilitator Proxy connection\" in Settings &gt; NanoTrans and saves the settings). On the first save after opt-in, the plugin sends the site URL to register the site and receive an API key. During each payment attempt, it forwards x402 payment headers (EIP-712 signed USDC transfer authorization, payer wallet address, transaction hash, amount, recipient address) to verify and settle the payment.<\/li>\n<li>Default endpoint: https:\/\/nanotrans-facilitator-proxy.celee.workers.dev\/ (configurable via the NANOTRANS_FACILITATOR_URL constant in wp-config.php).<\/li>\n<li>Terms of service: https:\/\/www.cloudflare.com\/website-terms\/<\/li>\n<li>Privacy policy: https:\/\/www.cloudflare.com\/privacypolicy\/<\/li>\n<\/ul>\n\n<p><strong>2. Coinbase Developer Platform (CDP) x402 Facilitator<\/strong><\/p>\n\n<ul>\n<li>What it is: Coinbase's official x402 Facilitator service that verifies EIP-712 USDC transfer authorizations and submits settled transfers on the Base Network.<\/li>\n<li>What data is sent, and when: Only during a payment attempt after Facilitator Proxy opt-in. The Cloudflare Worker forwards the signed USDC transfer authorization and payment requirements (payer address, receiver address, USDC amount, network ID, nonce, signature) so CDP can validate and broadcast the on-chain settlement.<\/li>\n<li>Endpoint: https:\/\/api.cdp.coinbase.com\/platform\/v2\/x402<\/li>\n<li>Terms of service: https:\/\/www.coinbase.com\/legal\/cloud\/terms-of-service<\/li>\n<li>Privacy policy: https:\/\/www.coinbase.com\/legal\/privacy<\/li>\n<\/ul>\n\n<p><strong>3. Base Network JSON-RPC (public endpoint)<\/strong><\/p>\n\n<ul>\n<li>What it is: A public JSON-RPC endpoint for Base Mainnet and Base Sepolia used to read on-chain transaction receipts and verify that a USDC transfer has been confirmed.<\/li>\n<li>What data is sent, and when: Only after a payment attempt. The plugin issues read-only RPC calls (eth_getTransactionReceipt, eth_call) with the submitted transaction hash and USDC contract address.<\/li>\n<li>Endpoint: https:\/\/mainnet.base.org (Base Mainnet) and https:\/\/sepolia.base.org (Base Sepolia).<\/li>\n<li>Terms of service: https:\/\/www.base.org\/terms-of-service<\/li>\n<li>Privacy policy: https:\/\/www.coinbase.com\/legal\/privacy<\/li>\n<\/ul>\n\n<p><strong>4. Bundled ethers.js provider URLs (not called by this plugin)<\/strong><\/p>\n\n<p>The ethers.js library bundled at assets\/js\/ethers.umd.min.js is the official upstream UMD build from https:\/\/github.com\/ethers-io\/ethers.js (version 6.16.0, MIT licensed). That bundle contains hard-coded provider URLs for common block explorers (listed below) as part of its default provider list.<\/p>\n\n<ul>\n<li>This plugin does NOT call any of these URLs. It only uses ethers.js for EIP-712 signing and USDC contract read\/write through the user's browser wallet (MetaMask or compatible) and the configured Base Network RPC endpoint listed above.<\/li>\n<li>No Etherscan\/Arbiscan\/Basescan API keys are configured, requested, or stored by this plugin.<\/li>\n<li>Domains present in the ethers.js bundle for reference (NOT contacted by this plugin):\n\n<ul>\n<li>https:\/\/api.etherscan.io<\/li>\n<li>https:\/\/api-goerli.etherscan.io<\/li>\n<li>https:\/\/api-sepolia.etherscan.io<\/li>\n<li>https:\/\/api-holesky.etherscan.io<\/li>\n<li>https:\/\/api.arbiscan.io<\/li>\n<li>https:\/\/api-goerli.arbiscan.io<\/li>\n<li>https:\/\/api.basescan.org<\/li>\n<\/ul><\/li>\n<li>If a user integrates a custom ethers.js provider pointing to one of these endpoints, the operator of that endpoint is responsible for its own terms and privacy policy. For the default ethers.js usage in this plugin, no connection is made to any of them.<\/li>\n<li>ethers.js upstream license: https:\/\/github.com\/ethers-io\/ethers.js\/blob\/main\/LICENSE.md<\/li>\n<\/ul>\n\n<p>No personal data (email, real name, IP logs) is sent to any of these services. Wallet addresses are pseudonymous blockchain identifiers required for USDC transfer settlement.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>NanoTrans Agent Paywall processes the following data:<\/p>\n\n<ul>\n<li><strong>Wallet addresses<\/strong>: Stored in the transactions table for payment verification and receipt lookup. Wallet addresses are pseudonymous blockchain identifiers, not directly linked to personal identity.<\/li>\n<li><strong>User-Agent strings<\/strong>: Stored for request routing (human vs agent detection). Retained with transaction records.<\/li>\n<li><strong>IP addresses<\/strong>: Used for rate limiting only (via WordPress transients). Not permanently stored.<\/li>\n<li><strong>Wallet cookies<\/strong>: After a successful payment, an HMAC-signed cookie is set to grant permanent access to purchased content. The cookie contains a wallet address hash and a timestamp; no personal data is stored.<\/li>\n<\/ul>\n\n<p>This plugin does not use third-party tracking services and does not collect email addresses or personal information.<\/p>\n\n<p>For GDPR compliance, transaction records containing wallet addresses can be exported or deleted via the WordPress admin dashboard.<\/p>\n\n<!--section=installation-->\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>PHP 8.1 or higher with GMP extension<\/li>\n<li>WordPress 6.9 or higher<\/li>\n<li>Base Network wallet (MetaMask or compatible)<\/li>\n<li>USDC tokens on Base Network<\/li>\n<\/ul>\n\n<p><strong>Step 1: Install and Activate<\/strong><\/p>\n\n<p>Upload the <code>nanotrans-x402<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install directly from the WordPress plugin directory. Activate the plugin through the 'Plugins' menu.<\/p>\n\n<p>On activation, the plugin automatically connects to the Facilitator Proxy service. You will see a success notice: \"Successfully connected to Facilitator Proxy.\"<\/p>\n\n<p><strong>Step 2: Configure Your Wallet<\/strong><\/p>\n\n<p>Go to Settings &gt; NanoTrans and enter your Base Network wallet address (the address that will receive USDC payments). Configure default content prices and other options as needed.<\/p>\n\n<p><strong>Step 3: Create Paywalled Content<\/strong><\/p>\n\n<p>Add the NanoTrans Paywall block to any post or page using the Gutenberg editor. Set the price in USDC and publish.<\/p>\n\n<p>That's it! No wp-config.php editing required. The plugin handles Facilitator authentication automatically.<\/p>\n\n<p><strong>Testing:<\/strong><\/p>\n\n<p>To test with the Base Sepolia testnet, change the network to \"base-sepolia\" in Settings &gt; NanoTrans and use testnet USDC from a faucet.<\/p>\n\n<p><strong>Advanced Configuration (optional):<\/strong><\/p>\n\n<p>For custom Facilitator Proxy deployments, you can override the default by adding constants to <code>wp-config.php<\/code>:<\/p>\n\n<pre><code>define( 'NANOTRANS_FACILITATOR_URL', 'https:\/\/your-worker.workers.dev' );\ndefine( 'NANOTRANS_PROXY_AUTH_SECRET', 'your-manual-bearer-token' );\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20x402%3F\"><h3>What is x402?<\/h3><\/dt>\n<dd><p>x402 is an open protocol that enables machine-to-machine payments over HTTP. When content requires payment, the server responds with HTTP 402 (Payment Required) along with payment details. The client automatically signs and submits payment, then receives the content.<\/p><\/dd>\n<dt id=\"which%20blockchain%20network%20does%20this%20use%3F\"><h3>Which blockchain network does this use?<\/h3><\/dt>\n<dd><p>NanoTrans uses the Base Network (Ethereum L2) for USDC stablecoin payments. Base offers low gas fees (~$0.01) and fast confirmation times (~2 seconds).<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20woocommerce%3F\"><h3>Is this compatible with WooCommerce?<\/h3><\/dt>\n<dd><p>NanoTrans operates independently of WooCommerce. It uses its own payment flow (x402 protocol) and does not conflict with WooCommerce product pricing.<\/p><\/dd>\n<dt id=\"how%20are%20payments%20secured%3F\"><h3>How are payments secured?<\/h3><\/dt>\n<dd><ul>\n<li>EIP-712 typed data signatures for payment authorization<\/li>\n<li>x402 Facilitator verifies signatures on-chain before settlement<\/li>\n<li>Replay attack prevention via unique transaction hashes<\/li>\n<li>Rate limiting and anomaly detection<\/li>\n<li>All payment attempts logged for audit<\/li>\n<\/ul><\/dd>\n<dt id=\"what%20ai%20agents%20are%20supported%3F\"><h3>What AI agents are supported?<\/h3><\/dt>\n<dd><p>Any AI agent that supports the x402 protocol or MCP (Model Context Protocol). This includes Claude (via MCP server), GPT-based agents, and custom agents using the x402 SDK.<\/p><\/dd>\n<dt id=\"how%20do%20i%20test%20without%20real%20money%3F\"><h3>How do I test without real money?<\/h3><\/dt>\n<dd><p>Use the Base Sepolia testnet. Set the network to \"base-sepolia\" in plugin settings and use testnet USDC from a faucet.<\/p><\/dd>\n<dt id=\"do%20i%20need%20cdp%20api%20keys%20or%20manual%20configuration%3F\"><h3>Do I need CDP API keys or manual configuration?<\/h3><\/dt>\n<dd><p>No. The plugin automatically registers with the Facilitator Proxy on activation and receives an API key. No wp-config.php editing or CDP keys required. The Cloudflare Worker proxy handles all CDP JWT signing on your behalf.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20store%20private%20keys%3F\"><h3>Does this plugin store private keys?<\/h3><\/dt>\n<dd><p>No. The plugin does not require or store any private keys. Payment verification is handled by the Facilitator proxy (Cloudflare Worker). Only your public wallet address is needed.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20wordpress%20multisite%3F\"><h3>Does this work with WordPress Multisite?<\/h3><\/dt>\n<dd><p>No. NanoTrans Agent Paywall currently supports single-site WordPress installations only. On multisite, settings and transaction records would be shared across all sites, which is not suitable for separate content publishers. Multisite support is planned for a future release.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20caching%20plugins%3F\"><h3>Is this compatible with caching plugins?<\/h3><\/dt>\n<dd><p>Yes. NanoTrans sends <code>Cache-Control: no-store<\/code> and <code>X-NanoTrans: payment-gateway<\/code> headers on all payment-required (HTTP 402) responses, so caching plugins like WP Super Cache and W3 Total Cache should automatically exclude them. If you experience issues, add a cache exclusion rule for URLs containing <code>\/nanotrans\/v1\/<\/code>.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20payment%20facilitator%20goes%20down%3F\"><h3>What happens if the payment Facilitator goes down?<\/h3><\/dt>\n<dd><p>NanoTrans includes a circuit breaker that detects Facilitator outages. After 3 consecutive failures, payments are temporarily paused for 5 minutes to prevent cascading timeouts. An admin notice will appear on the NanoTrans dashboard. The system automatically retries when the cooldown expires.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>x402 payment protocol support (v1 and v2) with USDC on Base Network<\/li>\n<li>Dual access: human (browser wallet) and agent (x402 auto-payment)<\/li>\n<li>Permanent human access via HMAC-signed wallet cookie after one-time payment<\/li>\n<li>Gutenberg paywall block with visual editor<\/li>\n<li>Agent discovery via \/.well-known\/x402 endpoint<\/li>\n<li>JSON API for structured content delivery to AI agents<\/li>\n<li>5 MCP tools: search, list categories, preview, purchase, payment status<\/li>\n<li>Batch payments (2-20 articles per transaction)<\/li>\n<li>Admin dashboard with revenue tracking and anomaly detection<\/li>\n<li>SSE real-time payment notifications<\/li>\n<li>Splitter contract integration for automatic fund distribution<\/li>\n<li>Circuit breaker for Facilitator outage resilience<\/li>\n<li>Cloudflare Worker proxy for CDP Facilitator authentication<\/li>\n<li>Automatic Facilitator Proxy registration on activation (no manual config needed)<\/li>\n<\/ul>","raw_excerpt":"Agent-native paywall for WordPress. AI agents auto-pay for content via x402 (USDC on Base). Dual access for humans and agents.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/298164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=298164"}],"author":[{"embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nanotrans01"}],"wp:attachment":[{"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=298164"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=298164"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=298164"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=298164"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=298164"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=298164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}