PlainText Wallet Approval Checker

io.github.Fizzl13由 GitHub 账号 Fizzl13 发布v1.1.2更新于 Nov 1, 2026

Explains wallet approvals and signature requests in plain language: SAFE, CAUTION or RISK.

发布方自己的服务:Approval Studio

已验证Streamable HTTP可网页运行金融安全与监控

概览

AI 生成的概览

远程 MCP 服务器,用于检查 EVM 钱包的代币与 NFT 授权,并用通俗语言给出 SAFE、CAUTION 或 RISK 结论。

可以做什么
  • 检查钱包当前的代币与 NFT 授权,并给出通俗语言的安全结论,说明每个授权方是谁、哪些应当撤销
  • 用通俗语言解释你已有的授权、权限或签名 JSON 数据
  • 以结构化方式提交关于该服务的缺陷报告或功能建议
适用场景
当助手需要帮用户判断钱包的代币或 NFT 授权是否存在风险,或在签名前把授权、签名数据翻译成通俗语言时适用。
运行要求
远程 streamable HTTP 端点;未声明任何身份验证、环境变量或请求头。托管服务依赖第三方安全与模型 API,README 提到免费实例空闲后首次请求约需 30 至 50 秒唤醒。
安装前请注意
提交的钱包地址会发送到托管服务及其上游安全与模型提供商;README 称检查为无状态、不存储用户数据。结论来自第三方授权数据,仅供参考,签名或撤销前不应视为保证。反馈工具会把报告发送给运营方。

安装

在 SourceWeft 中

  1. 打开 控制台中的 PlainText Wallet Approval Checker,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Fizzl13%2Fplaintext-wallet-checker/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "plaintext-wallet-approval-checker": {
      "type": "http",
      "url": "https://plaintext.fizzl.eu/mcp"
    }
  }
}

README

PlainText — wallet approval translator

[x402 payable] · Live status

Built on presign-guard: PlainText's verdicts now come from presign-guard (the same checks, sanctions list, wallet age and signed receipt); PlainText adds the explanation in plain language for people. POST /api/check-wallet ($0.04) uses presign-guard's approval audit, POST /api/explain ($0.03) its pre-sign check when the payload is a real approval, transaction or typed-data signature (anything else is explained by the model alone, source: "model"). Agents that only need the verdict and reason codes can call presign-guard directly ($0.01–$0.02). Needs FIZZL_INTERNAL_KEY (the same value on both services, Render only); without it the old path (GoPlus + Claude) runs.

A small Node.js app that looks up a wallet's token/NFT approvals via the GoPlus Security API and asks Claude to explain them in plain language.

[PlainText in a minute]

▶ Watch the 1-minute explainer · Live: https://plaintext.fizzl.eu

Project structure

plaintext-wallet/├── server.js          Express backend (GoPlus + Anthropic calls)├── media.js           Serves the explainer video from the explainer-video branch├── feedback.js        POST /feedback and the MCP tool feedback (same file in every Fizzl service)├── media/explainer/   Script and pipeline for the explainer video├── package.json├── render.yaml         Render deploy config (optional, see below)├── .env.example         Copy to .env for local dev└── public/    └── index.html      Frontend (wallet check + demo scenarios)

Feedback

Found a bug, or missing something? Send it with POST /feedback (free, no payment) or the MCP tool feedback:

bash
curl -X POST https://plaintext.fizzl.eu/feedback \  -H 'content-type: application/json' \  -d '{"type": "feature", "message": "Support Solana wallets", "endpoint": "/api/check-wallet"}'

type is bug, feature or other; message is required (up to 2000 characters); endpoint and contact are optional. The answer is 202 with an id. At most 10 reports per hour per caller. Reports go to the usage log, and a person reads every one; nothing in a report is run or changed automatically. GET /feedback shows the schema.

1. Run it locally first

bash
cd plaintext-walletnpm installcp .env.example .env# edit .env and paste your ANTHROPIC_API_KEYnpm start

Open http://localhost:3000 — try the "Try a sample" tab first (no API keys needed besides Anthropic), then "Check a wallet" with a real address once you're happy it works.

2. Deploy to Render

Option A — one-click via render.yaml (Blueprint)

  1. Push this folder to a new GitHub repo.
  2. In the Render dashboard: New + → Blueprint → select your repo. Render reads render.yaml automatically and creates the web service.
  3. When prompted, fill in the environment variables:
    • ANTHROPIC_API_KEY — required, from console.anthropic.com
    • GOPLUS_ACCESS_TOKEN — optional, only needed if you outgrow GoPlus's free 30 calls/minute limit (see console.gopluslabs.io)
  4. Click Apply — Render builds and deploys automatically.

Option B — manual web service (no render.yaml needed)

  1. Push this folder to a GitHub repo.
  2. Render dashboard → New + → Web Service → connect your repo.
  3. Settings:
    • Environment: Node
    • Build Command: npm install
    • Start Command: npm start
    • Instance Type: Free (fine for a prototype)
  4. Under Environment Variables, add ANTHROPIC_API_KEY (and optionally GOPLUS_ACCESS_TOKEN).
  5. Click Create Web Service. Render gives you a https://<name>.onrender.com URL once the build finishes.

Render's free tier spins the service down after inactivity — the first request after idling will take ~30-50 seconds to wake up. That's normal and fine for a prototype you're sharing for feedback.

Notes on the GoPlus integration

  • The wallet check calls token_approval_security or nft721_approval_security under https://api.gopluslabs.io/api/v2/.... This is documented but the GoPlus docs site is JS-rendered, so before you rely on this in front of real users, do one manual test call (e.g. with curl) against a wallet you control, and compare the actual JSON shape to what server.js expects — field names occasionally shift between GoPlus API versions.
  • The free GoPlus tier is capped at 30 calls/minute — plenty for early testing, but rate-limit errors will surface as a plain error message in the UI if you exceed it.
  • No user data is stored anywhere in this app — every check is a stateless round trip. If you later add accounts, saved wallets, or history, update this note (and your own privacy policy) accordingly.

Costs to expect

  • Render free tier: $0/month, with the cold-start behavior above. A paid tier ($7/month "Starter") removes the spin-down if this gets real usage.
  • Anthropic API: pay-per-use, billed to whatever key you provide. A single explanation call is small (well under 1K tokens), so cost per check will be a fraction of a cent — but keep an eye on your usage dashboard if this gets shared widely, since there's no rate limiting built into this prototype yet.

来源:README.md,提交 5081cea

工具

3

check_wallet_approvals

Check Wallet Approvals

Check an EVM wallet's live token/NFT approvals and get a plain-language safety verdict (SAFE, CAUTION, or RISK) with an explanation. The verdict comes from presign-guard's approval audit (who each spender is, which to revoke).

输入参数kindchainaddress必填

explain_approval

Explain Approval Payload

Explain an arbitrary approval/permission JSON payload in plain language, when you already have the data instead of needing an on-chain lookup.

输入参数data必填

feedback

Send feedback (free)

Report a bug, a missing feature or anything else about this service, in a structured way. Free. A person reads every report; nothing is run or changed automatically.

输入参数typecontactmessage必填endpoint

版本历史

4
  1. v1.1.2最新Oct 5, 2026
  2. v1.1.1Sep 28, 2026
  3. v1.1.0Sep 23, 2026
  4. v1.0.0Sep 22, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Approval 集成