/install vigil-security-scanner
${var} — Wallet address (
0x...) or token contract address on Base to scan. Required. If empty, logVIGIL_NO_TARGETand exit cleanly (no notify).
VIGIL is an onchain security scanner for DeFi traders on Base. It provides eleven read-only scanning tools and one write action (revoke) that requires explicit Bankr authentication.
Read-only tools (this skill):
- Approval Scanner — list all ERC-20/ERC-721 approvals, flag unlimited allowances
- Token Scanner — analyze contracts for rugpull indicators (hidden mint, proxy, tax manipulation, blacklist)
- Honeypot Detector — simulate buy/sell to detect trap tokens
- Safety Score — 0-100 composite rating based on code, ownership, liquidity, holders
- Wallet Report — full security posture assessment
- Wallet Monitor — real-time alerts for suspicious activity (new approvals, risky interactions, balance changes)
- Token Market — price, liquidity, 24h volume, and pool age via DexScreener (no API key)
- Deployer Check — contract verification, name, and deployer reputation via Basescan
- Batch Scan — score multiple tokens in one call, ranked by risk
- Scam Check — check whether a token has community scam reports (local VIGIL database)
- Sentinel Status — list the autonomous Sentinel watchlist and loop configuration
Write action (separate skill, not included here):
- Approval Revoker — revoke dangerous approvals via Bankr transaction signing. This is a state-changing onchain transaction and is NOT part of this read-only skill. Use the separate
vigil-revokeskill (requiresBANKR_API_KEYand explicit user confirmation).
Read the last 2 days of memory/logs/ so a repeat scan can note newly-granted or newly-revoked approvals.
Config
- Target =
${var}. Can be a wallet address or token contract address. - Chain = Base (
chainid=8453, explorerbasescan.org). - VIGIL API:
https://mcp.vigil.codes(HTTPS, SSE transport) - GitHub:
https://github.com/vigilcodes/vigil-mcp
Steps
1. Validate target
Strict allowlist before any network call. The target must be 0x + exactly 40
hex characters — this rejects quotes, spaces, and any shell/JSON metacharacter,
so the value is safe to interpolate into the curl payloads below.
TARGET="${var}"
if ! printf '%s' "$TARGET" | grep -qiE '^0x[0-9a-f]{40}$'; then
echo "VIGIL_INVALID_TARGET: not a valid 0x address"
exit 0
fi
# Normalize to lowercase. An address can be a wallet or a token; each tool
# below reports its own result, so no up-front type guess is needed.
TARGET="$(printf '%s' "$TARGET" | tr '[:upper:]' '[:lower:]')"
2. Scan approvals (wallet)
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_scan_approvals",
"arguments": {"wallet": "'"$TARGET"'", "chain": "base"}
}
}')
echo "$RESULT" | jq '.result'
3. Scan token safety
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_scan_token",
"arguments": {"token": "'"$TARGET"'", "chain": "base"}
}
}')
echo "$RESULT" | jq '.result'
4. Check honeypot
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_detect_honeypot",
"arguments": {"token": "'"$TARGET"'", "chain": "base"}
}
}')
echo "$RESULT" | jq '.result'
5. Get safety score
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_safety_score",
"arguments": {"contract": "'"$TARGET"'", "chain": "base"}
}
}')
echo "$RESULT" | jq '.result'
6. Generate wallet report
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_wallet_report",
"arguments": {"wallet": "'"$TARGET"'", "chain": "base"}
}
}')
echo "$RESULT" | jq '.result'
7. Monitor wallet (real-time alerts)
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_monitor_wallet",
"arguments": {"wallet": "'"$TARGET"'", "chain": "base", "lookback_blocks": 1000}
}
}')
echo "$RESULT" | jq '.result'
8. Token market context (price + liquidity)
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_token_market",
"arguments": {"token": "'"$TARGET"'", "chain": "base"}
}
}')
echo "$RESULT" | jq '.result'
9. Deployer reputation (verification + age)
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_deployer_check",
"arguments": {"contract": "'"$TARGET"'", "chain": "base"}
}
}')
echo "$RESULT" | jq '.result'
10. Batch scan multiple tokens
RESULT=$(curl -m 30 -s "https://mcp.vigil.codes/tools/call" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "vigil_batch_scan",
"arguments": {"tokens": ["'"$TARGET"'"], "chain": "base"}
}
}')
echo "$RESULT" | jq '.result'
Output Format
VIGIL returns JSON with:
approvals— list of token approvals with risk levelssafety_score— 0-100 composite ratinghoneypot— boolean + reason if detectedrugpull_indicators— list of suspicious patterns foundrecommendations— action items
Risk Levels
| Level | Icon | Meaning |
|---|---|---|
| CRITICAL | 🔴 | Active threat — revoke immediately |
| HIGH | 🟠 | Dangerous pattern — likely exploit vector |
| MEDIUM | 🟡 | Suspicious — proceed with caution |
| LOW | 🟢 | Minor concern — monitor |
| SAFE | ✅ | No issues detected |
Important: Revocation is NOT included
The Approval Revoker tool performs state-changing onchain transactions via Bankr. It is intentionally excluded from this read-only skill. To revoke approvals, use the separate vigil-revoke skill (requires BANKR_API_KEY and explicit user confirmation).
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install vigil-security-scanner - After installation, invoke the skill by name or use
/vigil-security-scanner - Provide required inputs per the skill's parameter spec and get structured output
What is VIGIL Security Scanner?
Onchain security scanner on Base — scan token approvals, detect honeypots, analyze contracts for rugpull indicators, and score contract safety. Keyless read-... It is an AI Agent Skill for Claude Code / OpenClaw, with 42 downloads so far.
How do I install VIGIL Security Scanner?
Run "/install vigil-security-scanner" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is VIGIL Security Scanner free?
Yes, VIGIL Security Scanner is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does VIGIL Security Scanner support?
VIGIL Security Scanner is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created VIGIL Security Scanner?
It is built and maintained by Vigil (@vigilcodes); the current version is v1.0.1.