# BlockNotify ERC-20 Transfer Safety Analyzer

> BlockNotify ERC-20 Transfer Safety Analyzer is a paid API for AI agents from x402.blocknotify.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-11).

Analyzes an ERC-20 token transfer for scam risk, suspicious recipient patterns, and unusual transfer behavior, returning a recommended action before funds are sent.

## Facts

- Endpoint: POST https://x402.blocknotify.com/v1/analyze-erc20-transfer?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/blocknotify-erc-20-transfer-safety-analyzer-525ffed4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pNllQ3VGITZgz9tSH3TOZ

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 blocknotify-erc-20-transfer-safety-analyzer-525ffed4 -d '<json body>'
```

Example prompt: Before I send 500 USDC to 0xAbCd1234...5678 on Ethereum, run a safety check on the transfer — flag any scam risk or suspicious patterns with that recipient address.

## When to prefer this

Use this endpoint when an AI agent or wallet interface needs to assess the safety of a specific ERC-20 transfer before signing — particularly when the recipient is unknown, the transfer is unusually large, or the token is a high-risk asset like a meme coin. Prefer this over generic transaction simulation endpoints when you need a scam-risk verdict and recommended action rather than just gas estimates or execution success status. Ideal for building safety guardrails into autonomous agent payment flows on Ethereum, Polygon, Arbitrum, Optimism, or Base.

## Known failure modes

- Invalid or malformed Ethereum address format returns a 400 validation error
- Unsupported chain value outside the allowed enum returns a 400 error
- Ambiguous token symbol that cannot be resolved and no tokenAddress provided returns a resolution error
- Network timeout or RPC unavailability on the target chain returns a 503 or partial result
- Amount string in wrong format (e.g. raw wei instead of human units) may produce incorrect risk evaluation
- Insufficient payment (less than $0.05 USDC) returns a 402 Payment Required response

## How this service works

ERC-20 transfer safety analysis for wallets and AI agents. Evaluates token transfers for suspicious recipients, unusual transfer patterns, and scam risk, then returns a recommended action before funds move.

## Output

Returns a risk assessment for the proposed ERC-20 transfer, including a recommended action (e.g. proceed, warn, or block), scam risk indicators, flags for suspicious recipient behavior or unusual transfer patterns, and a safety verdict to guide whether the transaction should be signed and broadcast.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "from": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$",
   "description": "Sender address (the wallet that would sign and broadcast)."
  },
  "chain": {
   "enum": [
    "ethereum",
    "polygon",
    "arbitrum",
    "optimism",
    "base"
   ],
   "type": "string",
   "description": "Target EVM chain. The merchant maps this to the appropriate RPC for simulation."
  },
  "amount": {
   "type": "string",
   "description": "Amount in human units (e.g. \"1.5\"). NOT raw wei — the merchant converts using the resolved token decimals."
  },
  "decimals": {
   "type": "integer",
   "maximum": 36,
   "minimum": 0,
   "description": "Optional decimals override. Skips the remote token lookup when provided alongside tokenAddress."
  },
  "recipient": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$",
   "description": "ERC-20 recipient address."
  },
  "tokenSymbol": {
   "type": "string",
   "maxLength": 20,
   "minLength": 1,
   "description": "Token ticker (e.g. \"USDC\", \"UNI\", \"PEPE\"). Resolved via local registry first, then BlockNotify."
  },
  "tokenAddress": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$",
   "description": "ERC-20 contract address. Use when the symbol is ambiguous, unlisted, or you want to bypass symbol resolution."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/blocknotify-erc-20-transfer-safety-analyzer-525ffed4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.blocknotify.com](https://www.zero.xyz/host/x402.blocknotify.com/llms.txt)
