# Base Transfer Risk Check

> Base Transfer Risk Check is a paid API for AI agents from base-token-check.fly.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-18).

Analyzes a Base ERC-20 token contract's bytecode for honeypot-style transfer cost indicators (fees, blacklists, transfer caps) and returns allow, warn, or block.

## Facts

- Endpoint: GET https://base-token-check.fly.dev/v1/transfer-check?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-transfer-risk-check-5af5c505
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_letvxq6F0MsCkZj1TEE80

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 base-transfer-risk-check-5af5c505
```

Example prompt: Before I swap into this Base token, can you check if the contract at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 has any transfer fees, blacklist functions, or transfer size caps that could cost me money or block me?

## When to prefer this

Use this endpoint specifically when you need a fast, bytecode-level signal about transfer-cost risk for a Base ERC-20 before executing a swap, send, or approval — especially when you want to catch honeypot-style taxes or blacklist traps. Prefer this over general token safety checks when the concern is specifically about transfer costs rather than broader token legitimacy. Note it does not simulate an actual transfer, so it complements but does not replace on-chain simulation.

## Known failure modes

- Address is not a valid ERC-20 contract → block verdict returned
- Address fails 0x + 40 hex character validation → request rejected with schema error
- Contract bytecode cannot be fetched (network issue or unverified contract) → error or block
- USDC and other legitimate tokens with isBlacklisted may receive warn verdict (false positive)
- Selector presence does not confirm fee execution on every transfer — may produce false positives

## How this service works

Check a Base ERC-20 for a honeypot-style transfer cost before a swap or send. Input: one token address. Output: allow, warn, or block. Block: not a contract or not an ERC-20. Warn: bytecode contains taxFee, liquidityFee, sellFee, buyFee, transferFee, isBlacklisted, or maxTxAmount. USDC warns because it contains isBlacklisted(address). A selector does not prove the fee, blacklist, or cap runs on every transfer, and this check does not simulate one.

## Output

Returns a verdict of 'allow', 'warn', or 'block'. Block means the address is not a contract or not a valid ERC-20. Warn means the bytecode contains known fee, blacklist, or transfer-cap selectors (taxFee, liquidityFee, sellFee, buyFee, transferFee, isBlacklisted, or maxTxAmount). Allow means none of those selectors were found. Note: a warn verdict does not prove fees run on every transfer — only that the selector exists in bytecode.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "ERC-20 contract address on Base to check for a transfer fee, blacklist, or max transfer size."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-transfer-risk-check-5af5c505/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from base-token-check.fly.dev](https://www.zero.xyz/host/base-token-check.fly.dev/llms.txt)
