GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
x402 HTTP 402 + MCP paywall: charge USDC per agent call. Self-host via npx or Docker.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
CDP_API_KEY_ID, CDP_API_KEY_SECRET, X402_PAY_TO, UPSTREAM_URL, PRICE, NETWORK, X402_ENVIRONMENT标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 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": "your-value",
"CDP_API_KEY_SECRET": "your-value",
"X402_PAY_TO": "your-value",
"UPSTREAM_URL": "your-value",
"PRICE": "your-value",
"NETWORK": "your-value",
"X402_ENVIRONMENT": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add x402-micro-tollgate --env CDP_API_KEY_ID=your-value --env CDP_API_KEY_SECRET=your-value --env X402_PAY_TO=your-value --env UPSTREAM_URL=your-value --env PRICE=your-value --env NETWORK=your-value --env X402_ENVIRONMENT=your-value -- npx -y x402-micro-tollgate --stdio运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"x402-micro-tollgate": {
"command": "npx",
"args": [
"-y",
"x402-micro-tollgate",
"--stdio"
],
"env": {
"CDP_API_KEY_ID": "your-value",
"CDP_API_KEY_SECRET": "your-value",
"X402_PAY_TO": "your-value",
"UPSTREAM_URL": "your-value",
"PRICE": "your-value",
"NETWORK": "your-value",
"X402_ENVIRONMENT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"x402-micro-tollgate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"x402-micro-tollgate",
"--stdio"
],
"env": {
"CDP_API_KEY_ID": "your-value",
"CDP_API_KEY_SECRET": "your-value",
"X402_PAY_TO": "your-value",
"UPSTREAM_URL": "your-value",
"PRICE": "your-value",
"NETWORK": "your-value",
"X402_ENVIRONMENT": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
X402_PAY_TO envUPSTREAM_URL envPRICE envNETWORK envX402_ENVIRONMENT env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 kevin2003050666-coder 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:CDP_API_KEY_ID, CDP_API_KEY_SECRET
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.3)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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”).
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.
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.
| Network | CAIP-2 | USDC | USDT | Status | Facilitator / notes |
|---|---|---|---|---|---|
| Base | eip155:8453 | native Circle | bridged | live | CDP exact. FeeSplitterFactory live (deployments/base.json) |
| Base Sepolia | eip155:84532 | test USDC | — | live | CDP testnet |
| Optimism | eip155:10 | native | bridged | config-ready | Addresses wired; not on current CDP matrix |
| Arbitrum One | eip155:42161 | native | bridged | live | CDP exact; factory stub |
| Polygon PoS | eip155:137 | native (not USDC.e) | PoS USDT | live | CDP exact; factory stub |
| BNB Smart Chain | eip155:56 | peg 18 dec | peg 18 dec | config-ready | Not on CDP list |
| Ethereum | eip155:1 | native | Tether | config-ready | Facilitator-dependent |
| Avalanche C-Chain | eip155:43114 | native | USDT | config-ready | In @x402/evm defaults |
| Celo / Sei | eip155:42220 / 1329 | USDC | — | config-ready | Catalog extras |
| Solana | solana:5eykt… | SPL USDC | SPL USDT | experimental | CDP lists Solana; gateway stubs + optional SVM paywall (SOLANA_PAY_TO) |
| TRON | tron:mainnet | — | TRC-20 | planned | No 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/.
| Wallet | Role |
|---|---|
| Coinbase Smart Wallet (Passkey) | Primary CTA |
| MetaMask | Via wagmi injected target |
| Injected | Other browser wallets |
| WalletConnect | When WALLETCONNECT_PROJECT_ID set |
| Solana paywall | Experimental, behind Solana accepts / PAYWALL_SVM |
| TronLink | Not offered (TRON planned only) |
No protocol monthly fee. Monetization is the toll — like interchange on card rails.
Requires Node.js 22+.
git clone https://github.com/kevin2003050666-coder/x402-micro-tollgate
cd x402-micro-tollgate && cp .env.example .env
npm i && npm start
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.)
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.
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.
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
npm run poc:buyer-agent
| Env | Default | Notes |
|---|---|---|
BUYER_PRIVATE_KEY | _(required)_ | 0x… EOA used to sign EIP-3009 |
TARGET_URL | https://x402-micro-tollgate.onrender.com/v1/quote | Paid route to hit |
MAX_SINGLE_USDC | 0.05 | Per-call cap (maxSingleSpendUsdc) |
MAX_TOTAL_USDC | 1.00 | Session cap / human B_max |
ROUNDS | 3 | Stop 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.
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).
| Variable | Default | Notes |
|---|---|---|
PORT | 8402 | HTTP 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_USDC | 10000000 | Atomic 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_URL | CDP default | Optional alternate facilitator base URL for MCP (createCdpFacilitatorClient({ baseUrl })). Single-vendor; no multi-facilitator routing yet |
PRICE | $0.001 | Network default USDC/USDT price tag |
NETWORK / X402_NETWORK | eip155:84532 / 8453 | Primary CAIP-2 (aliases: base, optimism, …) |
NETWORKS / X402_NETWORKS | _(primary only)_ | Comma/JSON list of networks for multi-accept |
ASSETS / X402_ASSETS | USDC | Cross 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_SVM | false | Force @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
只显示了开头部分;其余内容请在仓库中阅读