# Is This Token Safe? — ERC-20 Token Security Check

> Is This Token Safe? — ERC-20 Token Security Check is a paid API for AI agents from tokensafetycheck.xyz, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-12).

Performs a comprehensive on-chain security audit of an ERC-20 token, detecting honeypots, rug pull risks, hidden owner powers, and blacklisting across 18 EVM chains via simulated sell-through OpenSea's swap

## Facts

- Endpoint: POST https://tokensafetycheck.xyz/api/token-safety-check?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/is-this-token-safe-erc-20-token-security-check-cc33b101
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eBz7nHSEjbqcJvvyZnAre

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability is-this-token-safe-erc-20-token-security-check-cc33b101 -d '<json body>'
```

Example prompt: Can you check if this Base token at 0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed is safe to buy? I want to see a full security check — especially whether the owner can rug it or hike the tax after I'm in.

## When to prefer this

Choose this endpoint when you need real sell-simulation evidence (not just static bytecode flags) for ERC-20 tokens across 18 EVM chains, especially when you want to know what you'd actually receive selling through OpenSea's swap, whether a supposedly renounced token still has hidden control, or whether your specific wallet is blacklisted. Prefer it over generic token scanners when you need per-finding evidence, owner-power enumeration, and trade-size-aware slippage recommendations rather than simple pass/fail scores.

## Known failure modes

- Token contract address not found on specified chain — returns error with chain mismatch indication
- Non-ERC-20 or non-EVM contract provided — returns unsupported token error
- Wallet address not provided for hold/sell intent — sell simulation unavailable
- Insufficient on-chain liquidity to simulate trade — returns depth unknown or minimum fallback amount
- Chain not supported — enum validation error listing valid chains
- Token too new or unindexed — limited evidence, findings may be incomplete

## How this service works

Checks whether an ERC-20 token is safe to buy, hold or sell: honeypot, rug pull and scam risk. Input: chain and token address. Output: a verdict (OK, CAUTION, AVOID or UNVERIFIED), a short summary and each risk with its evidence. Not just code flags: it simulates a buy and a sale through OpenSea's swap, sales from real holders' wallets, sales up to a year after buying, and a holder's sale after each owner power (tax, blacklist, mint) is used. Shows who can pull the liquidity. 18 EVM chains.

## Output

Returns a safety verdict (safe/unsafe/warning) with structured reasons, evidence per finding, identified owner privileges (tax hike, mint, blacklist, seize), liquidity drain risk actors, hidden ownership details for 'renounced' tokens, simulated sell return in USD, recommended slippage, and maximum viable trade size. Standard detail is under 9 KB; full detail includes all raw measurements up to 36 KB.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "ethereum",
    "base",
    "arbitrum",
    "optimism",
    "polygon",
    "avalanche",
    "sei",
    "ape_chain",
    "flow",
    "soneium",
    "bera_chain",
    "unichain",
    "hyperevm",
    "monad",
    "megaeth",
    "ink",
    "robinhood",
    "arc"
   ],
   "type": "string",
   "description": "OpenSea chain identifier of the token, as returned by OpenSea get_tokens / get_chains (e.g. \"base\", \"ethereum\", \"robinhood\"). EVM chains only."
  },
  "detail": {
   "enum": [
    "standard",
    "full"
   ],
   "type": "string",
   "description": "standard (default, under 9 KB): decision, reasons and key facts. full: also every raw measurement under `evidence` (9–36 KB; some agent shells keep only ~10 KB of output)."
  },
  "intent": {
   "enum": [
    "check",
    "buy",
    "hold",
    "sell"
   ],
   "type": "string",
   "description": "What you came for. The check and the verdict are the same for every intent; the summary answers yours first. check (default): is this token safe to deal with. buy: can I buy and get out later, what can the owner do once I hold it. hold: can I (your wallet) sell now, what changed, what threatens holders. sell: what my sale returns and through whom, the slippage to set, the largest sale that goes through."
  },
  "wallet": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "description": "Your wallet address (hold / sell): its real balance is sold in simulation, which catches a blacklist on that address. Nothing is signed or sent."
  },
  "address": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "description": "Token contract address (ERC-20) on that chain."
  },
  "amount_usd": {
   "type": "number",
   "maximum": 10000000,
   "description": "Size of the planned trade in USD, tested as given. Not given: $100, or 2% of the pool's depth when that is less (at least $10; $50 when the depth is unknown), so price impact stays small. With wallet + sell: the part of your balance to sell (default: all of it).",
   "exclusiveMinimum": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/is-this-token-safe-erc-20-token-security-check-cc33b101/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tokensafetycheck.xyz](https://www.zero.xyz/host/tokensafetycheck.xyz/llms.txt)
