CC Safety Net
A coding agent CLI safety layer that blocks destructive git and filesystem commands and secret file access before execution.
Pay-per-call pre-sign transaction safety for AI agents: EVM calldata risk -> GO/HOLD/BLOCK, settled in USDC via x402. Also an MCP server.
SecurityTypeScriptGitHub @kaito3636OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗"Should I sign this?" — a pay-per-call pre-sign safety layer for AI trading/wallet agents. An agent POSTs a raw EVM transaction (or an approval) before signing; this decodes the calldata, flags the patterns that drain wallets, and returns GO / HOLD / BLOCK. Settles in USDC via x402 to a self-custody (pseudonymous) wallet.
10-angle research (2026) on the x402 / agent-payment economy concluded:
x402-jp-data fleet made nothing.)Honest expectation: $1,000/mo is NOT achievable passively on x402 rails in 2026 — it's above the current top seller. The realistic path is distribution: ship this as an MCP tool that lands in agents' default toolsets (dual-rail: x402 pay-per-call + flat MCP key). x402 is the on-ramp; the MCP install base is the demand. The POC proves the mechanism and starts the compounding asset now.
src/decode.ts statically decodes calldata and catches the real drain vectors:
approve / increaseAllowance to an unknown or known-malicious spendersetApprovalForAll(true) (classic NFT drainer) to unknown / malicious operatorspermit / Permit2 approvals (common drainer vector)transfer / transferFrom to known-malicious recipients| path | price | what |
|---|---|---|
GET /guard/token?token=&chain= | 0.05 USDC | pre-TRADE ERC-20 safety for trading agents: malicious-DB + on-chain rug/honeypot red-flags (owner controls, mint/pause/blacklist, renounced?) |
GET /guard/tx?to=&data=&value=&chain= | 0.05 USDC | full pre-sign risk check → GO/HOLD/BLOCK + flags |
GET /guard/approval?token=&spender=&amount= | free | approval-specific (unlimited + malicious-spender) — free adoption tier |
GET /guard/signatures | free | size of the accumulating signature set (the moat) |
GET /, GET /.well-known/x402 | free | docs + Bazaar discovery |
Running in production, paid mode on: https://x402-presign-guard.vercel.app
curl https://x402-presign-guard.vercel.app/.well-known/x402 # discovery (free)
curl "https://x402-presign-guard.vercel.app/guard/tx?to=0x..." # 402 + payment requirements
A 402 returns the x402 v1 payment requirements (scheme exact, network base, USDC); an
x402-capable client pays and retries. Implemented + tested: 25/25 PASS (decode 19 + app 6),
tsc clean. Runs on both Cloudflare Workers and Vercel from one codebase.
Point any MCP client (Claude Desktop, agent frameworks) at the hosted guard — no install build, no npm account needed:
{
"mcpServers": {
"presign-guard": {
"command": "npx",
"args": ["-y", "x402-presign-guard"]
}
}
}
Published on npm: x402-presign-guard
(or run straight from source: npx -y github:kaito3636/x402-presign-guard).
Exposes two tools — presign_guard_tx and presign_guard_approval — that forward to the hosted
guard (GUARD_URL, default the live URL above). The agent calls the guard before it signs.
wrangler.toml has a commented cron + KV: a scheduled job ingests malicious selectors/addresses
from live threat feeds + own honeypot probes, timestamped — so the signature set and the
never-backfillable time-series grow every day. That daily accrual is the "掘るほど美味い" asset.
Vercel (how the live one runs):
npm install
npx vercel deploy --prod # free mode first
npx vercel env add PAY_TO production # Base self-custody wallet 0x… → go paid
npx vercel deploy --prod
Cloudflare Workers (alternative; same code):
npx wrangler login && npx wrangler deploy
npx wrangler secret put PAY_TO && npx wrangler deploy
MCP server (this repo, npx github:…) → Official MCP Registry / mcp.so; x402 Bazaar discovery needs
a facilitator that implements /discovery/resources (e.g. Coinbase CDP — set FACILITATOR_URL +
CDP keys); list on x402scan. The hosted endpoint already serves /.well-known/x402 for crawlers.