
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

