AgentBIT
← all tools

Token Risk Audit

ERC-20 token risk audit for AI agents, bots and DeFi workflows on Base. One call answers 'how risky does this token look?' from public data: the token's on-chain interface (name, symbol, decimals, total supply read directly via RPC), contract verification status and proxy/upgradeability from Blockscout, whether ownership has been renounced (owner() live-read — an owner-controlled token can often mint, pause or change rules), holder count and top-holder concentration (excluding burn addresses; a token where one wallet holds most of the supply can be dumped at will), malicious public tags (phishing/scam/exploit), current USD price where known, and an exact-match sanctions screen of the contract address against the OFAC SDN digital-currency address list and UN consolidated list held locally and refreshed daily. Output is a 0-100 risk score, a clear/review/high verdict and named flags explaining every point. Honest scope: this is a static and market-structure analysis, not a honeypot/trade simulation — a clear result is not proof of legitimacy and a flag is not proof of wrongdoing. Not financial, legal or compliance advice.

$0.02
USDC per call · x402
Endpoint
POST /v1/risk/token
MCP name
agentbit.token_risk
Status
active
Latency / uptime (7d)
4404 ms · 100%

Call with x402

1. Send the request. 2. Receive 402 with accepts[]. 3. Sign the payment and retry with the X-PAYMENT header.

curl -X POST https://agentbit.app/v1/risk/token \
  -H 'Content-Type: application/json' \
  -d '{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}'

Input schema

{
    "type": "object",
    "properties": {
        "address": {
            "type": "string",
            "description": "ERC-20 token CONTRACT address on Base (0x + 40 hex)"
        }
    },
    "required": [
        "address"
    ]
}

Output schema

{
    "type": "object",
    "properties": {
        "address": {
            "type": "string"
        },
        "network": {
            "type": "string"
        },
        "sanctioned": {
            "type": "boolean"
        },
        "token": {
            "type": "object",
            "properties": {
                "name": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "symbol": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "decimals": {
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "total_supply": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "holders_count": {
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "price_usd": {
                    "type": [
                        "number",
                        "null"
                    ]
                }
            }
        },
        "contract": {
            "type": "object",
            "properties": {
                "verified": {
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "owner_status": {
                    "type": "string",
                    "enum": [
                        "renounced",
                        "owned",
                        "unknown"
                    ]
                },
                "owner": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "proxy_type": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "public_tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "holders": {
            "type": "object",
            "properties": {
                "top_holder_percent": {
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "top10_percent": {
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "note": {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            }
        },
        "risk_score": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
        },
        "risk": {
            "type": "string",
            "enum": [
                "clear",
                "review",
                "high"
            ]
        },
        "flags": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "disclaimer": {
            "type": "string"
        }
    }
}

Code examples

// JavaScript (x402-fetch)
import { wrapFetchWithPayment } from "x402-fetch";
const fetchWithPay = wrapFetchWithPayment(fetch, wallet);
const r = await fetchWithPay("https://agentbit.app/v1/risk/token", {
  method: "POST",
  headers: {"Content-Type": "application/json"},
  body: JSON.stringify({"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"})
});
console.log(await r.json());
# Python (x402 client)
from x402.clients.requests import x402_requests
s = x402_requests(account)
r = s.post("https://agentbit.app/v1/risk/token",
  json={"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"})
print(r.json())
// PHP
$r = Http::withHeaders(['X-PAYMENT' => $signedPayment])
  ->post('https://agentbit.app/v1/risk/token',
    array (
  'address' => '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
));
$data = $r->json();