ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

x402 Micro Tollgate

โดย kevin2003050666-coderรุ่น 0.3.3i★ –iรันบนเครื่อง
ชื่อใน registryio.github.kevin2003050666-coder/x402-micro-tollgate

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

x402 HTTP 402 + MCP paywall: charge USDC per agent call. Self-host via npx or Docker.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เครื่องมือนักพัฒนา
  • ต้องใส่ค่าเหล่านี้: CDP_API_KEY_ID, CDP_API_KEY_SECRET

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: CDP_API_KEY_ID, CDP_API_KEY_SECRET, X402_PAY_TO, UPSTREAM_URL, PRICE, NETWORK, X402_ENVIRONMENT

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "x402-micro-tollgate": {
      "command": "npx",
      "args": [
        "-y",
        "x402-micro-tollgate",
        "--stdio"
      ],
      "env": {
        "CDP_API_KEY_ID": "ใส่ค่าของคุณ",
        "CDP_API_KEY_SECRET": "ใส่ค่าของคุณ",
        "X402_PAY_TO": "ใส่ค่าของคุณ",
        "UPSTREAM_URL": "ใส่ค่าของคุณ",
        "PRICE": "ใส่ค่าของคุณ",
        "NETWORK": "ใส่ค่าของคุณ",
        "X402_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add x402-micro-tollgate --env CDP_API_KEY_ID='ใส่ค่าของคุณ' --env CDP_API_KEY_SECRET='ใส่ค่าของคุณ' --env X402_PAY_TO='ใส่ค่าของคุณ' --env UPSTREAM_URL='ใส่ค่าของคุณ' --env PRICE='ใส่ค่าของคุณ' --env NETWORK='ใส่ค่าของคุณ' --env X402_ENVIRONMENT='ใส่ค่าของคุณ' -- npx -y x402-micro-tollgate --stdio

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "x402-micro-tollgate": {
      "command": "npx",
      "args": [
        "-y",
        "x402-micro-tollgate",
        "--stdio"
      ],
      "env": {
        "CDP_API_KEY_ID": "ใส่ค่าของคุณ",
        "CDP_API_KEY_SECRET": "ใส่ค่าของคุณ",
        "X402_PAY_TO": "ใส่ค่าของคุณ",
        "UPSTREAM_URL": "ใส่ค่าของคุณ",
        "PRICE": "ใส่ค่าของคุณ",
        "NETWORK": "ใส่ค่าของคุณ",
        "X402_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "x402-micro-tollgate": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "x402-micro-tollgate",
        "--stdio"
      ],
      "env": {
        "CDP_API_KEY_ID": "ใส่ค่าของคุณ",
        "CDP_API_KEY_SECRET": "ใส่ค่าของคุณ",
        "X402_PAY_TO": "ใส่ค่าของคุณ",
        "UPSTREAM_URL": "ใส่ค่าของคุณ",
        "PRICE": "ใส่ค่าของคุณ",
        "NETWORK": "ใส่ค่าของคุณ",
        "X402_ENVIRONMENT": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • CDP_API_KEY_ID ความลับ env
    Coinbase CDP API key ID for the x402 facilitator
  • CDP_API_KEY_SECRET ความลับ env
    Coinbase CDP API key secret for the x402 facilitator
  • X402_PAY_TO env
    EVM address that receives USDC settlements
  • UPSTREAM_URL env
    Upstream HTTP API to proxy after payment (omit for built-in mock)
  • PRICE env
    Dollar price per paid call, e.g. $0.001
  • NETWORK env
    CAIP-2 network id (eip155:84532 Base Sepolia or eip155:8453 Base)
  • X402_ENVIRONMENT env
    development or production

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub kevin2003050666-coder ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi

  • ดาวมากกว่า 0% ของอีก 1396 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 47% ของอีก 1396 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1396 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

x402 Micro Tollgate ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: CDP_API_KEY_ID, CDP_API_KEY_SECRET

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.3) เข้า registry 2 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

GitHub

โดย github

server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้

บนเครื่องหรือคลาวด์★ 34,245MITอัปเดต 4 วันที่ผ่านมา
ติดตั้ง

Desktop Commander

โดย wonderwhy-er

MCP server for terminal commands, file operations, and process management

รันบนเครื่อง★ 10,225MITอัปเดต 16 วันที่ผ่านมา
ติดตั้ง

Cloudflare MCP

โดย cloudflare

Cloudflare MCP servers

รันบนคลาวด์★ 4,446Apache-2.0อัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

x402-micro-tollgate

Visa for AI agents that can’t hold a card.

Second-scale settlement bridge for agent traffic — the Web3 tollbooth that clears USDC micropayments and takes 0.1%.

为千万级无支付能力的 AI Agent 提供秒级过桥清算,抽成 0.1% 的 Web3 版 Visa 收费站

Security backed by Coinbase CDP. We don't touch your keys or settle payments on custom cryptography — EIP-3009 authorization nonces are single-use at the CDP facilitator (source of truth for on-chain uniqueness). The gateway hardens four buyer/seller trust surfaces: payment-proof replay/race, SSRF on URL fetch, upstream bypass (shared-secret trust header), and Base congestion / settle-latency (pending + retry same proof — never treat HTTP timeout alone as “payment failed”).

What it is

A thin self-hosted tollgate in front of your API or MCP tools. When an agent calls a paid route, it gets HTTP 402 as a price tag (not a hard deny). It pays a small USDC (or configured USDT) amount; you deliver. Default clearing is Base + USDC via Coinbase CDP; multi-network accepts are env-driven (see matrix below). Humans can still hit a free path; agents convert at the booth.

Self-host is free (MIT). Repo: github.com/kevin2003050666-coder/x402-micro-tollgate · Questions: 2767111713@qq.com

Not an official Coinbase product. Not a full agent marketplace. Not a billing SaaS. A sharp Visa-style tollbooth. Not fiat custody.

Why this exists: MANIFESTO.md — pain, engineering, on-chain proof, MIT.

Network × asset matrix

Default deploy profile: Base USDC only (dev: Base Sepolia). Enable multi with NETWORKS + ASSETS or ACCEPTS_JSON / X402_* aliases. Browser HTML 402 shows a chain + asset picker when more than one accept is configured.

NetworkCAIP-2USDCUSDTStatusFacilitator / notes
Baseeip155:8453native CirclebridgedliveCDP exact. FeeSplitterFactory live (deployments/base.json)
Base Sepoliaeip155:84532test USDC—liveCDP testnet
Optimismeip155:10nativebridgedconfig-readyAddresses wired; not on current CDP matrix
Arbitrum Oneeip155:42161nativebridgedliveCDP exact; factory stub
Polygon PoSeip155:137native (not USDC.e)PoS USDTliveCDP exact; factory stub
BNB Smart Chaineip155:56peg 18 decpeg 18 decconfig-readyNot on CDP list
Ethereumeip155:1nativeTetherconfig-readyFacilitator-dependent
Avalanche C-Chaineip155:43114nativeUSDTconfig-readyIn @x402/evm defaults
Celo / Seieip155:42220 / 1329USDC—config-readyCatalog extras
Solanasolana:5eykt…SPL USDCSPL USDTexperimentalCDP lists Solana; gateway stubs + optional SVM paywall (SOLANA_PAY_TO)
TRONtron:mainnet—TRC-20plannedNo scheme in deps — never in accepts[]

USDT on EVM typically uses extra.assetTransferMethod: "permit2" (not EIP-3009). FeeSplitter production path remains Base + USDC; other chains are config stubs under contracts/deployments/.

Browser wallets
WalletRole
Coinbase Smart Wallet (Passkey)Primary CTA
MetaMaskVia wagmi injected target
InjectedOther browser wallets
WalletConnectWhen WALLETCONNECT_PROJECT_ID set
Solana paywallExperimental, behind Solana accepts / PAYWALL_SVM
TronLinkNot offered (TRON planned only)

Who it’s for

  • API sellers who want agents to pay per call — without building a billing console or selling monthly seats
  • Tool builders shipping paid MCP endpoints into Cursor / Claude
  • Operators who want Visa-like take-rate economics (0.1%), not hosting invoices

How money works

  1. Price tag — unpaid traffic gets HTTP 402 with the amount due (conversion, not rejection)
  2. Pay — the agent settles a USDC micropayment in seconds via Coinbase CDP
  3. Unlock — the tollgate proxies to your upstream; you keep ~99.9%, protocol take 0.1%

No protocol monthly fee. Monetization is the toll — like interchange on card rails.


1-minute quickstart

Requires Node.js 22+.

git clone https://github.com/kevin2003050666-coder/x402-micro-tollgate

cd x402-micro-tollgate && cp .env.example .env

set CDP_API_KEY_ID, CDP_API_KEY_SECRET, X402_PAY_TO (optional: PUBLIC_BASE_URL, UPSTREAM_URL)

npm i && npm start

curl http://127.0.0.1:8402/health → 200

curl http://127.0.0.1:8402/x402/discover → 200 (free agent yellow pages)

curl http://127.0.0.1:8402/v1/quote → 402

curl "http://127.0.0.1:8402/v1/fetch-md?url=https://example.com" → 402 (paid HTML→Markdown demo)

npx one-liners (no clone):

npx x402-micro-tollgate@0.3.3

npx x402-micro-tollgate@0.3.3 --seller 0xYourReceivingAddress --stdio

--seller / -s sets X402_PAY_TO before boot (env vars still work). Default without --stdio is HTTP + /mcp on port 8402.

Agent / crawler docs: llms.txt (also GET /llms.txt and GET /.well-known/llms.txt) · OpenAPI 3.1: docs/openapi.yaml · well-known: GET /.well-known/x402.json, GET /.well-known/agent-card.json

Alternative one-liner: docker compose up --build

Without CDP keys the process runs in demo mode (protocol-shaped 402 / MCP PaymentRequired, no on-chain settle).

Cursor mcp.json:

{

"mcpServers": { "x402-micro-tollgate": { "url": "http://127.0.0.1:8402/mcp" } } }

Stdio:

{

"mcpServers": { "x402-micro-tollgate": { "command": "npx", "args": [ "x402-micro-tollgate@0.3.3", "--seller", "0xYourReceivingAddress", "--stdio" ], "env": { "CDP_API_KEY_ID": "...", "CDP_API_KEY_SECRET": "...", "PUBLIC_BASE_URL": "https://your.public.host" } } } }

(X402_PAY_TO in env still works if you omit --seller.)

Library drop-in (permissionless seller)
import express from "express";

import { x402Tollgate } from "x402-micro-tollgate";

const app = express(); app.use("/v1", await x402Tollgate({ seller: process.env.SELLER! }));

Or set SELLER / X402_SELLER in .env and run npm start. See Environment for the $10 threshold, factory address, and fee-release details.

Buyer / Agent client

Thin TypeScript helper that wraps official @x402/fetch + @x402/evm ExactEvmScheme. On HTTP 402 it parses PAYMENT-REQUIRED, checks budgets, signs EIP-3009 once, and retries once with PAYMENT-SIGNATURE (never loops).

npm i x402-micro-tollgate@0.3.3
import { createX402Fetch } from "x402-micro-tollgate/client";

const fetch402 = createX402Fetch({ privateKey: process.env.BUYER_KEY as 0x${string} }); const res = await fetch402("https://x402-micro-tollgate.onrender.com/v1/quote");

Defaults: maxSingleSpendUsdc = 0.05, maxTotalSpendUsdc = 1.00 (clear Error if exceeded). Circuit breaker (before sign): max 10 paid 402s / 0.05 USDC per rolling 60s, plus fingerprint dead-loop halt (maxPaidRequestsPerMinute, maxSpendUsdcPerMinute, enableFingerprintBreaker). Hot-wallet warning: keep only ~$5–$10 USDC on the signing key — treat it as an agent spend faucet, not a treasury.

Human-delegated agent credit (CLI)

Thin PoC: Human sets `B_max` → Agent loops createX402Fetch against a paid URL (auto 402 → pay once → retry). Chrome / Telegram / Session Key / Passkey UI are deferred.

# SAFETY: fund BUYER_PRIVATE_KEY with ≤ $5–$10 USDC only. Never commit keys.

export BUYER_PRIVATE_KEY=0xYourHotWalletKey

optional: TARGET_URL MAX_SINGLE_USDC MAX_TOTAL_USDC ROUNDS

npm run poc:buyer-agent

or: npx tsx scripts/buyer-agent-poc.ts

EnvDefaultNotes
BUYER_PRIVATE_KEY_(required)_0x… EOA used to sign EIP-3009
TARGET_URLhttps://x402-micro-tollgate.onrender.com/v1/quotePaid route to hit
MAX_SINGLE_USDC0.05Per-call cap (maxSingleSpendUsdc)
MAX_TOTAL_USDC1.00Session cap / human B_max
ROUNDS3Stop after N calls or when budget exhausted

The script imports the local client (../src/client) so repo CI does not need a live chain pay. For a live demo against the published package, swap the import to x402-micro-tollgate/client (same API as 0.3.2+). Each round prints status, autoPaid, and sessionSpendUsdc on stdout; the safety banner goes to stderr.


Deploy

Uses render.yaml: Node 22, npm start, health /health, env names from .env.example. Set CDP_API_KEY_ID, CDP_API_KEY_SECRET, and X402_PAY_TO in the dashboard for live settlement; set PUBLIC_BASE_URL to your https://….onrender.com origin for Bazaar.

Ops bump: redeploy discover + well-known (force Render GitHub auto-deploy so production picks up GET /x402/discover, GET /.well-known/x402.json, GET /.well-known/agent-card.json, and MCP fetch_md). If auto-deploy does not fire within a few minutes after this lands on main, use the Render dashboard → Manual Deploy → Deploy latest commit.

Self-host production: Docker — docker compose up --build (see Dockerfile / docker-compose.yml).


Environment

VariableDefaultNotes
PORT8402HTTP listen port
UPSTREAM_URL_(unset → mock)_Your API origin
UPSTREAM_SHARED_SECRET / X402_UPSTREAM_SECRET—Optional. After settle, tollgate injects X-Tollgate-Secret + X-Tollgate-Paid (HMAC). Upstream must require them and reject public direct hits (not mTLS)
X402_PAY_TO—EVM receive address (live mode SDK init)
SELLER / X402_SELLER—Permissionless seller EOA (EIP-55 validated; invalid → startup fail)
FACTORY_ADDRESS—Operator-set FeeSplitterFactory for CREATE2 predict when amount ≥ threshold (Base live address in contracts/deployments/base.json; do not hardcode secrets)
FEE_FREE_BELOW_USDC / X402_FEE_FREE_BELOW_USDC10000000Atomic USDC (6 decimals). < $10 → payTo=seller; ≥ $10 → FeeSplitter
CDP_API_KEY_ID / CDP_API_KEY_SECRET—CDP facilitator (+ Onramp session tokens)
CDP_CLIENT_API_KEY—Public CDP client key for browser Smart Wallet paywall (safe in frontend). Alias: CDP_CLIENT_KEY
X402_FACILITATOR_URL / CDP_FACILITATOR_URLCDP defaultOptional alternate facilitator base URL for MCP (createCdpFacilitatorClient({ baseUrl })). Single-vendor; no multi-facilitator routing yet
PRICE$0.001Network default USDC/USDT price tag
NETWORK / X402_NETWORKeip155:84532 / 8453Primary CAIP-2 (aliases: base, optimism, …)
NETWORKS / X402_NETWORKS_(primary only)_Comma/JSON list of networks for multi-accept
ASSETS / X402_ASSETSUSDCCross with NETWORKS → accepts (USDC, USDT)
ACCEPTS_JSON / X402_ACCEPTS_JSON—Explicit accepts array (overrides NETWORKS×ASSETS)
FACTORY_ADDRESSES—JSON map caip2 → FeeSplitterFactory (Base live; others optional)
SOLANA_PAY_TO—Base58 payTo for experimental Solana accepts
PAYWALL_SVMfalseForce @x402/paywall SVM UI (also auto if Solana in accepts)
WALLETCONNECT_PROJECT_ID—Enables WalletConnect in browser paywall

| X402_MIN_PRICE_USDC | — | Optional static minimum accept amount (atomic USDC). Effect

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx