detect_rug_risk
Analyze Base mainnet tokens for rug pull risks by checking ownership, liquidity, dangerous functions, honeypot status, and contract patterns to generate a security score.
Instructions
Score rug pull risk 0-100 for a token on Base mainnet. Checks ownership, liquidity, dangerous functions, honeypot status, and contract patterns.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| token_address | Yes | Token contract address on Base mainnet |
Implementation Reference
- src/index.ts:696-724 (handler)The tool "detect_rug_risk" is registered using server.tool() in src/index.ts. It calls getTokenMetadata and computeRugScore to generate a risk profile for a token address.
// Tool 3: detect_rug_risk server.tool( "detect_rug_risk", "Score rug pull risk 0-100 for a token on Base mainnet. Checks ownership, liquidity, dangerous functions, honeypot status, and contract patterns.", { token_address: z.string().describe("Token contract address on Base mainnet"), }, async ({ token_address }) => { try { const metadata = await getTokenMetadata(token_address); const rugResult = await computeRugScore(token_address); let riskLevel = "low"; if (rugResult.score >= 70) riskLevel = "critical"; else if (rugResult.score >= 50) riskLevel = "high"; else if (rugResult.score >= 30) riskLevel = "medium"; return ok({ token: token_address, metadata: metadata ? serializeBigInts(metadata) as Record<string, unknown> : null, rugScore: rugResult.score, riskLevel, factors: rugResult.factors, }); } catch (err) { return fail(`detect_rug_risk failed: ${err instanceof Error ? err.message : String(err)}`); } } );