guardbot

GuardBot ⚡ — pre-trade safety for agents & bots

GuardBot MCP server — quality and maintenance score on Glama

35-second demo: a block verdict with evidence on a homoglyph impostor token, an honest safe on real USDT with measured numbers, a one-QR three-chain wallet connection, and an on-chain-simulated revoke

▶ Interactive 35-second demo — real recorded runs, reproducible from this repo.

One paste field, two questions, three ecosystems (EVM · Solana · TRON):

Try it — 2 minutes, zero dependencies

Python stdlib only. No pip install, no keys, no account. Everything runs on your machine.

git clone https://github.com/anthonygozzini/guardbot && cd guardbot
python3 guardd.py            # open http://127.0.0.1:8403/view

From the CLI or as an agent tool:

python3 tokencheck.py bsc 0x<token>       # is it a trap?
python3 approvals.py  0x<wallet>          # what has it approved? (also T… / Solana base58)
python3 mcp_server.py                     # MCP: check_token + check_approvals for agents

In a container, the way a registry or a sandboxed client starts it (no dependencies to install):

docker build -t guardbot . && docker run -i --rm guardbot   # MCP over stdio

Why trust the verdicts

Revoking

Coverage and speed

Chain History Verdict engine
Ethereum, Arbitrum, Polygon full logs (free Etherscan tier) buy/sell simulation
Base full logs (Blockscout, keyless) buy/sell simulation
Optimism free-RPC log scan buy/sell simulation (Velodrome)
BSC probe (96.6% coverage) + automatic deep scan buy/sell simulation
Solana SPL delegates via RPC mint/extension reading
TRON TronScan + TronGrid bytecode power scan

Honest limits

Tests

python3 -m unittest discover -s tests                    # 51 offline tests, ~0.3s
GUARDBOT_LIVE=1 python3 -m unittest discover -s tests    # + 19 live tests on real chains

Many are regressions for bugs that actually shipped here. The testnet signing proof is python3 tools/testnet_e2e.py solana|tron — throwaway local key, zero value at risk.

Configuration (all optional)

Env var Effect
GUARDBOT_PORT port (default 8403)
GUARDBOT_HOST=0.0.0.0 expose on your LAN (phone in the same Wi-Fi); default loopback
GUARDBOT_WC_PROJECT_ID enables WalletConnect (free id from cloud.reown.com)
GUARDBOT_ETHERSCAN_KEY free; speeds up log history on eth/arbitrum/polygon
GUARDBOT_SOLANA_RPC / GUARDBOT_TRON_NETWORK point at testnets (devnet / nile)
GUARDBOT_DEV_SEED=1 serves /dev/seed, a testnet-only page to create test grants
GUARDBOT_NO_CACHE=1 disable the local index

Payments (x402) — off by default

The repo is free forever; humans never pay for safety. For a hosted deployment there is a real x402 rail: unpaid calls get HTTP 402 with the price, an agent pays USDC through a facilitator (/verify + /settle, replay-guarded), and the paid endpoint serves the same first-hand engines. Missing facilitator → paid calls are rejected, never faked.

GUARDBOT_PRICE_USDC=0.01 GUARDBOT_NETWORK=base-sepolia \
GUARDBOT_FACILITATOR=<url> GUARDBOT_PAY_TO=0x<you> python3 guardd.py

Files

References

This is a safety signal on public data, not financial advice.

License

MIT — see LICENSE.

Who built this

Anthony Gozzini — project page · anthonygozzini.github.io

GuardBot MCP server — quality and maintenance score on Glama