Install
openclaw skills install token-scanScan token contract security risk and return a structured summary including score, tax, holder concentration, and LP lock status. Supported chains are bsc, eth, solana, arbitrum, base, polygon, avax, tron, ton, plasma, and sui. Trigger when the user provides a chain and contract address and asks for token risk analysis, security review, high-risk item identification, tax interpretation, or holder distribution analysis.
openclaw skills install token-scanUse {skillDir}/scripts/token_scan.py to inspect one token contract with the CertiK token scan API.
Use this skill when the user wants a token risk review for a specific chain and contract address.
bsc, eth, solana, arbitrum, base, polygon, avax, tron, ton, plasma, sui
If the user provides a chain outside this list, do not call the API. Tell the user the chain is not supported yet and list the supported chains.
curl fallback.Important:
--chainonly supportsbsc|eth|solana|arbitrum|base|polygon|avax|tron|ton|plasma|sui. If the user provides a chain outside this list, do not call the API. Reply that the chain is not supported yet and include the supported chain list so the user can switch.
Prefer Python first:
python3 scripts/token_scan.py --chain "bsc" --contract "0x..."
If Python is unavailable, use curl:
curl -sG "https://open.api.certik.com/token-scan" \
-H "Accept: application/json, text/plain, */*" \
--data-urlencode "chain=bsc" \
--data-urlencode "address=0x..."
score, alert_count, and the highest alert level.Critical -> Major -> Medium -> Minor and show up to 8 items.alert_count > 8, explicitly say: Total N alerts, showing the top 8 highest-priority items.skyknight_score.details.buy_tax and skyknight_score.details.sell_tax are deduction factors, not the real tax percentage.security_summary.*.extended_data.* when it exists.GET https://open.api.certik.com/token-scanchain (required)address (required)Example:
curl -sG "https://open.api.certik.com/token-scan" \
-H "Accept: application/json, text/plain, */*" \
--data-urlencode "chain=eth" \
--data-urlencode "address=0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"
Supported chain formats:
arbitrum: EVM hex 0x... with 42 charsavax: EVM hex 0x... with 42 charsbase: EVM hex 0x... with 42 charsbsc: EVM hex 0x... with 42 charseth: EVM hex 0x... with 42 charsplasma: EVM hex 0x... with 42 charspolygon: EVM hex 0x... with 42 charssolana: Base58 public keysui: Hex 0x... with module pathton: EQ or UQ prefix, 46-48 charstron: Base58check, starts with T, 34 charsmessage is in progress, the scan has not finished.message is success, the scan is complete and can be summarized.message is error, return the upstream error information.skyknight_score.details.buy_tax and skyknight_score.details.sell_tax are deduction factors, not literal tax percentages.security_summary.buy_tax.extended_data.buy_taxsecurity_summary.sell_tax.extended_data.sell_tax