프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

x402 Ethereum RPC

제작자: ffboers버전 1.0.0i★ –i–
레지스트리 이름io.github.ffboers/x402-rpc-gateway

설치

개요

제작자가 쓴 설명(영어 원문)

Ethereum mainnet JSON-RPC paid per call in USDC on Base. No account, no API key: the wallet pays.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: –
  • 전송 방식:
  • 카테고리: 암호화폐 및 블록체인

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

제작자가 레지스트리에 설치 정보를 올리지 않았어요. 아래 제작자의 README를 확인하세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 ffboers 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

암호화폐 및 블록체인 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 1623개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 1623개 중 41%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 1623개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

x402 Ethereum RPC, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.0)은 2개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Highwire, Verdict: DeFi risk ratings, RealtimeAPI.ai

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Highwire

Trade, launch and research higher.fun coins on Solana, from any AI agent. Unsigned or policy-signed.

제작자: HigherMaestro성장 중↓ 1.7천/주오늘 업데이트

컴퓨터 또는 클라우드✓ highwire.fun

Verdict: DeFi risk ratings

Verdict, the security marketplace for DeFi: keyless ratings, methodology and a hack incident feed.

제작자: Verdict-Capital아주 새로움↓ 71/주오늘 업데이트

내 컴퓨터에서 실행

RealtimeAPI.ai

Live data for AI agents: crypto, Hyperliquid, stocks, news, macro, predictions. Free key or x402.

제작자: realtimeapi.ai초기오늘 업데이트

클라우드에서 실행✓ realtimeapi.ai

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

x402-rpc-gateway

A Cloudflare Worker that sells JSON-RPC access to your own Ethereum node, one request at a time, over x402. No accounts, no API keys, no invoices: a caller signs a USDC authorization on Base and gets the answer in the same exchange.

Running in production at 402rpc.com.

Why this exists

Selling RPC access normally means building signup, billing, key rotation and rate plans before you serve a single request. x402 removes all of it — but a naive gateway that simply charges per call creates two new problems, and this template solves both.

Callers must never pay for an answer you cannot give. Every request is checked *before* the paywall. A blocked namespace, a block below your history floor, a log range that is too wide — all return HTTP 400, and x402 does not settle on a response of 400 or higher. Node failures return 502 for the same reason.

Flat pricing loses money. eth_getLogs across ten thousand blocks costs your node hundreds of times more than eth_blockNumber. Prices here scale with the work a method actually costs.

Your node's own refusals arrive as HTTP 200. A node that says "no state available at that block" or "too many logs in one response" returns a JSON-RPC error with a 200 status — and x402 settles on a 200. Left alone, your customers pay for answers you could not give. This template translates that class of error into a 4xx so nothing settles. Errors that are a real answer, execution reverted for instance, stay chargeable.

What you get

  • Per-method pricing, configurable, with a ceiling so a batch never surprises anyone
  • A policy layer that refuses before charging, with reasons a caller can act on
  • Raw transactions relayed through public RPCs instead of your own node — see Privacy
  • Discovery metadata so agents can find and use the service without a human
  • A landing page for humans and JSON for machines, chosen by the Accept header
  • An MCP server, so any agent can use it as a tool
  • A fallback example: one line to add your gateway as a paid standby behind a primary

Setup

npm install

cp wrangler.jsonc.example wrangler.jsonc # edit the vars npx wrangler deploy

At minimum, set PAY_TO_ADDRESS, ORIGIN_URL and PUBLIC_URL. Everything else has a working default.

For a mainnet network you need Coinbase CDP credentials — the public x402.org facilitator serves testnets only:

npx wrangler secret put CDP_API_KEY_ID

npx wrangler secret put CDP_API_KEY_SECRET

Without them the Worker deliberately answers 503 rather than issuing payment challenges it cannot settle.

Three things the documentation will not tell you

The facilitator has an undocumented floor. Amounts around $0.0002 are rejected with amount_too_low; $0.001 goes through. Price differentiation therefore only works upward from roughly a tenth of a cent.

The Bazaar only indexes x402 version 2. Every one of the twenty resources I checked runs v2; none run v1. If you build on the v1 packages (x402-hono, x402-fetch — last published April 2026) your service works but is invisible to the discovery layer agents actually query. This template uses v2 throughout.

Pin `resource` to your public URL. Left to derive it from the request, the middleware puts your Worker's internal hostname — which contains your Cloudflare account name — into every payment challenge, right next to your receiving address.

Verify your own claims

Everything this template puts in your payment terms and landing page is a promise to a paying stranger. Test them against what your node actually does, not against what you believe it does. Three that bit us:

  • "History from block N onward" — check block N and N-1.
  • "Historical state calls are refused, not charged" — a node's own refusal arrives as HTTP 200, so without translation it settles. See nodeRefusal in policy.ts.
  • "eth_getLogs up to N blocks" — your client has its own cap on logs per response (Nethermind defaults to 20,000), which bites long before your block limit does.

Getting found

Ranking in the Bazaar is driven by measured usage — l30DaysTotalCalls and l30DaysUniquePayers — not by how well you write your description. Worth knowing before you spend an afternoon on copy.

Worth knowing too: as of August 2026 the entire visible Bazaar handled roughly 1,200 paid calls in thirty days across eighty services. The busiest Ethereum RPC among them served fourteen. Build for the market this becomes, not the one it is.

What this template does for you anyway: a bazaar discovery extension so you are indexed at all, an iconUrl, and payment accepted on Base, Polygon and Arbitrum so more wallets can reach you. What it deliberately does not do is inflate your own call count — that buys a position in a list nobody reads yet, with your own money.

Protecting your origin

Set ORIGIN_TOKEN as a secret and have your origin require the matching X-Origin-Token header. Without it, anyone who learns your origin hostname uses your node for free and the paywall is decorative. A minimal reference proxy is in examples/origin-proxy.py.

Privacy

The receiving address is necessarily public: it is in every payment challenge. Your node's IP is also public, because it takes part in the peer-to-peer network. The link between the two is what you protect.

Someone who submits a transaction through your gateway and watches which IP broadcasts it first learns where your service physically runs. Setting RELAY_URLS sends raw transactions out through public endpoints instead, and that trail disappears. Every other method only returns answers and reveals nothing.

Client usage

Any x402 client pays and retries automatically:

import { wrapFetchWithPayment, x402Client } from "@x402/fetch";

import { ExactEvmScheme } from "@x402/evm";

const x402 = new x402Client().register("eip155:8453", new ExactEvmScheme(account)); const fetchWithPay = wrapFetchWithPayment(fetch, x402); await fetchWithPay("https://your-gateway/rpc", { method: "POST", body });

As a paid fallback behind your own node — see examples/fallback.mjs:

transport: fallback([

http(YOUR_OWN_RPC), http("https://your-gateway/rpc", { fetchFn: fetchWithPay }), ], { retryCount: 0 })

A standby you never use costs nothing. That is the property a subscription cannot offer, and it is the strongest reason to run one of these.

Licence

MIT.

PopNx에게 묻기