
SiteCheck
io.github.bck-stackv1.2.0更新于 Oct 8, 2026
29 pay-per-call agent tools: web reader, PDF, tech stack, email, domain, Solana, KYB. Paid via x402
概览
SiteCheck 是一个远程 MCP 服务器,提供 29 个按次付费工具,涵盖网页读取、PDF、域名、邮件、合规与 Solana 数据,通过 x402 以 USDC 付费。
- 功能
- 它把每个付费 HTTP 端点暴露为输入结构和价格相同的 MCP 工具,包括网页转 Markdown 阅读器、PDF 转文本、技术栈识别、站点地图 URL、邮件与域名检查、汇率、欧盟 VAT/IBAN/LEI 校验、美国召回与执法数据、英国破产公告、Solana 代币与钱包数据,以及 Panta 预测市场工具。支付使用 x402 MCP 传输:未付费的 tools/call 返回 PaymentRequired 对象,客户端签署其中一个选项并携带支付载荷重发调用。失败的调用不会结算。
- 适用场景
- 适合助手需要偶尔按次使用网页提取、文档转换、域名或邮件检查、商业与合规查询,或 Solana 与预测市场数据,且不想注册账号或管理 API 密钥的场景。也适合已经持有 USDC 并能签署 x402 支付的代理。
- 运行要求
- 远程 Streamable HTTP 端点;调用方无需账号或 API 密钥。客户端必须支持 x402 支付,并在 Base、Solana 或 Arc 上持有 USDC 及签名钱包。不支持 x402 的 MCP 客户端可以列出工具并查看价格,但调用只会返回支付要求而非结果。部分可选工具依赖服务器端密钥(PANTA_API_KEY、DOL_API_KEY、COMPANIES_HOUSE_API_KEY)。
安装
在 SourceWeft 中
- 打开 控制台中的 SiteCheck,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"sitecheck": {
"type": "http",
"url": "https://api.sitecheck-api.workers.dev/mcp"
}
}
}README
SiteCheck: pay-per-call tools for AI agents (x402 on Base, Solana and Arc)
Live: https://api.sitecheck-api.workers.dev · listed on x402scan · discovery: /.well-known/x402, /openapi.json
SiteCheck is a small API that AI agents can use without an account or API key: 29 pay-per-call tools in all. Besides its AI and web tools (including a web page to Markdown reader), it sells PDF to text, translation, tech stack detection, sitemap URLs, exchange rates, e-mail, domain and Solana token and wallet data, business and compliance data (EU VAT, IBAN, LEI, US recalls, OSHA/EPA enforcement, UK insolvency notices), prediction-market data and unsigned trade transactions powered by Panta. Every call is paid per request in USDC with the x402 protocol, on Base, Solana or Arc (Circle's L1), whichever the buyer holds USDC on. Call it, get a 402 Payment Required listing the price on each network, sign the payment and get the result. It runs on Cloudflare Workers and Workers AI.
Prediction markets (Panta)
Agents can buy market intelligence and ready-to-sign trade transactions per call, with no account and no API key. An agent researching an event pays a fraction of a cent to find the markets and one cent for a market's odds and a neutral brief. An agent that wants to act pays for an unsigned Panta buy transaction and signs it with its own wallet. Panta runs USDC prediction markets on Solana.
- No custody. SiteCheck never signs, holds keys or custodies funds.
build-buyhands back an unsigned transaction whose only signer is the agent's wallet. - Information only, not financial advice. Every response says so (
disclaimer), and the brief never recommends a trade. If the model's text reads like advice, a factual template is returned instead. - Powered by Panta. Every response carries
poweredBy: { text: "Powered by Panta", url: "https://panta.market" }, as Panta's Terms of Use require. - Pay only for results, as with every tool: if Panta refuses or fails, the call returns an error and nothing is settled. The catalog is cached for 45 seconds and prices for 15 seconds, and responses say how old their data is.
- The tools are on only when the
PANTA_API_KEYsecret is set. Otherwise they are hidden, andGET /healthsays why. Endpoints, shapes, attribution and open questions: docs/PANTA.md.
Web, documents, e-mail, domain and Solana data
Business and compliance data
Six tools for an agent that has to check a counterparty before it trades with it. All of them read free official sources (or our own cache of one), need no key from the caller, and follow the same rule as every route here: a call that fails (bad input, upstream down, timeout) returns 4xx/5xx and is not settled, so the buyer is not charged.
Workers limits are respected: every upstream call has a timeout (at most 10 s) and a SiteCheck/1.x User-Agent, every tool stays well under 50 subrequests, and nothing large is parsed per request (the Gazette text is scanned and only matching notices are parsed). Stable upstream answers are cached with the Cache API where it works.
MCP server
https://api.sitecheck-api.workers.dev/mcp is a remote MCP server (Streamable HTTP, stateless, JSON answers). Every paid endpoint is an MCP tool with the same input schema (read, pdf, tech, email_check, domain, solana_token, vat, lei, ...), and the same price.
Payment uses the x402 MCP transport: a tools/call without payment returns isError with the x402 PaymentRequired object in structuredContent; the client signs one option and repeats the call with the PaymentPayload in params._meta["x402/payment"]; the answer carries the settlement in result._meta["x402/payment-response"]. A tool call that fails is not settled. Each call is replayed inside the Worker against the matching /api route, so MCP and HTTP buyers go through the same payment checks.
MCP clients without x402 support (for example a plain remote connector) can list the tools and see each price, but a call returns the payment requirements instead of a result.
Networks
The price is the same on every network. Buyers need only USDC: EVM payments are EIP-3009 signatures, and the facilitator pays gas and Solana fees. Sources and design decisions: docs/NETWORKS.md.
Try it
Pay with any x402 client. Base or Arc, with @x402/fetch and a viem account:
Solana, with @x402/svm and a @solana/kit signer:
Every endpoint declares its input schema and an output example through the x402 Bazaar discovery extension, so agents can find and call it without reading docs.
Demo agent
scripts/demo-agent.mjs discovers the API through /.well-known/x402, pays for one audit on the network you pick, and prints the result and the transaction link:
On the first run it creates a throwaway wallet in a git-ignored file (.env.evm for Base and Arc, .env.solana for Solana) and prints its address. Fund it with about 0.10 USDC on that network; one audit costs 0.02 USDC, and no ETH or SOL is needed. --dry-run stops before paying, and --url points it at another deployment.
Design notes
- Pay only for results. The settlement runs after the handler. If a model or upstream fails, the handler returns an error status and the payment is not settled, so the buyer isn't charged. This holds on all three networks and is covered by the tests.
- One route, several networks. Each route lists one x402
acceptsentry per configured network. Base and Solana settle through PayAI. Arc settles through Circle's Facilitator Service on its keyless trial: each request carries a seller proof signed by the Arc receiving wallet's key (see below). Each facilitator client only reports the networks assigned to it (lib/payments.js). - Workers-safe x402 middleware. A Worker can't await a promise created by another request, and the x402 middleware initialises lazily. Each request builds and initialises its own middleware until one has finished; that one is then reused (
lib/app.js). - No keys in the repo. Receiving addresses live in
wrangler.toml[vars](empty by default). The Arc seller key (or, as a fallback, the Circle API key) is a Worker secret. The helper scripts keep their wallets in git-ignored.env.*files.
Arc: Circle's keyless trial and a hot wallet
Circle's Facilitator Service normally needs an API key, and on mainnet that needs a Circle account with a credit card on file. SiteCheck uses Circle's keyless trial instead. Every /verify and /settle request carries a Facilitator-Seller-Proof header: an EIP-712 signature by the key that controls Arc's payTo, bound to the route, the exact request body and a fresh nonce (lib/sellerProof.js, lib/circle.js).
The trade-off: that key has to live in the Worker, as the secret ARC_SELLER_KEY. So Arc's payTo is a dedicated hot wallet that only receives payments. The owner sweeps it to a cold wallet regularly (scripts/sweep-arc.mjs), so a leaked key would expose at most what came in since the last sweep. The trial allowance is also limited, and Circle doesn't publish it. When it runs out, Circle answers 403 registration_required. The payment is not settled and the buyer is not charged, the Worker logs it, and GET /health shows arc.trialExhausted: true. From then on, Arc needs a Circle API key or has to be switched off. Details: docs/NETWORKS.md.
Run your own
Deploy: set account_id and at least one receiving address in wrangler.toml (or pass it with --var). For Arc, create the hot wallet and store its key first:
Leave an address empty to switch that network off. GET /health shows which networks are active and why the others are not, and whether the Panta tools are on. For Arc it also shows the auth mode, the receiving address and the trial status.
License
MIT
Mainnet transactions
Real x402 settlements on all three networks:
- Solana (our test): https://solscan.io/tx/4DQcTjw791d83iUFU7NBbyi3JZxXsvHbNHWgcXb9eeVT4tqReDV4ZFqYanUpJXnGP2ogucsWHqehioJd6Dq1ghDJ
- Base (our test): https://basescan.org/tx/0xf4e4a1aeeff698706e49cd921321cda9dba79babefd00b624bdf836fda57beb1
- Arc (our test): https://explorer.arc.io/tx/0xb6abceb6108099730c31b00f9140288585a869029bc5c922b88f0df5e8289476
- Base, paid by an outside AI agent we don't control (one of its 12 paid calls so far): https://basescan.org/tx/0x9e37d0287f04f7c1f89f159f839c0f391230dab6c21aeead58d6a29588239ea9
- Base, paid by a second outside wallet (6 Oct 2026): https://basescan.org/tx/0x9d5f1cae2c5016f165eead7dc56f51a3d74a1ea90a06270d4b0ca8bf97d8d211
来源:README.md,提交 8b6b7e8
工具
0版本历史
1- v1.2.0最新Oct 8, 2026

