Chain
Token safety / honeypot check API
Screen an ERC-20 token before buying it: checks if it's a real token, whether the owner can rug it (ownership renounced?), whether it's an upgradeable proxy, how much liquidity exists to sell into, and scans bytecode for dangerous functions. Returns a 0–100 risk score, machine-readable flags, and a plain-English verdict — all from free public RPC reads. Structural check (not yet a buy/sell simulation).
Price$0.04per request
MethodPOST
Route/v1/chain/token-safety
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache300s public
chainforensicstoken-safetyhoneypotrug-checkdefierc20scam-detection
API URL
Integration docshttps://x402.hexl.dev/v1/chain/token-safetyExample request
{
"token": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"chain": "ethereum"
}Example response
{
"token": "0x6b175474e89094c44da98b954eedeac495271d0f",
"chain": "ethereum",
"riskScore": 0,
"riskLevel": "low",
"symbol": "DAI",
"facts": {
"isErc20": true,
"symbol": "DAI",
"decimals": 18,
"ownerRenounced": true,
"ownerAddress": null,
"isUpgradeableProxy": false,
"hasV2Pair": true,
"wethLiquidity": 120.5,
"dangerousFunctions": []
},
"flags": [
"ownership-renounced"
],
"interpretation": "Looks structurally safe: standard ERC-20, ownership renounced, liquidity present, no major red flags on the checks run. (Structural check only — not a sell simulation.)",
"methodology": "Structural token safety via free public RPC reads: ERC-20 conformance, owner() renouncement, EIP-1967 upgradeability, Uniswap V2 liquidity depth, and a bytecode scan for dangerous functions.",
"methodologyVersion": "token-safety-2026.1",
"checkedAt": "2026-06-02T00:00:00.000Z"
}Input schema
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"examples": [
"0x6B175474E89094C44Da98b954EedeAC495271d0F"
]
},
"chain": {
"type": "string",
"enum": [
"base",
"ethereum"
],
"default": "base"
}
}
}Output schema
{
"type": "object",
"required": [
"token",
"chain",
"riskScore",
"riskLevel",
"facts",
"flags",
"interpretation",
"methodologyVersion"
],
"properties": {
"token": {
"type": "string"
},
"chain": {
"type": "string"
},
"riskScore": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"riskLevel": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"critical"
]
},
"symbol": {
"type": [
"string",
"null"
]
},
"facts": {
"type": "object",
"properties": {
"isErc20": {
"type": "boolean"
},
"symbol": {
"type": [
"string",
"null"
]
},
"decimals": {
"type": [
"number",
"null"
]
},
"ownerRenounced": {
"type": "boolean"
},
"ownerAddress": {
"type": [
"string",
"null"
]
},
"isUpgradeableProxy": {
"type": "boolean"
},
"hasV2Pair": {
"type": "boolean"
},
"wethLiquidity": {
"type": "number"
},
"dangerousFunctions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"flags": {
"type": "array",
"items": {
"type": "string"
}
},
"interpretation": {
"type": "string"
},
"methodology": {
"type": "string"
},
"methodologyVersion": {
"type": "string"
},
"checkedAt": {
"type": "string"
}
}
}