Token honeypot check API

From $0.01 per successful call · failed calls are never charged · no account needed · Markdown version: /guides/token-honeypot-check-api.md

Check a Base token before you swap into it: a high/medium/low risk verdict with named red flags (paused transfers, blacklist, owner-set fees or tax, a mint selector with a live owner, upgradeable proxy, no or thin liquidity, a pair under 7 days old, buys but no sells as a honeypot sign) plus live DexScreener price, liquidity, volume and FDV. Heuristic screening, not a safety guarantee. Use before swapping into an unfamiliar Base token.

When an agent wants this

Honeypot token check, token risk: red flags plus live DEX liquidity for a Base token before a swap $0.01

Check a Base token before you swap into it: a high/medium/low risk verdict with named red flags (paused transfers, blacklist, owner-set fees or tax, a mint selector with a live owner, upgradeable proxy, no or thin liquidity, a pair under 7 days old, buys but no sells as a honeypot sign) plus live DexScreener price, liquidity, volume and FDV. Heuristic screening, not a safety guarantee. Use before swapping into an unfamiliar Base token.

Inputs: address (required): Token contract address on Base (0x...).

Free first (25 successful calls per caller, no key):

curl "https://tools.funwords.eu/token-report?address=0x4200000000000000000000000000000000000006&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/token-report?address=0x4200000000000000000000000000000000000006"
curl "https://tools.funwords.eu/token-report?address=0x4200000000000000000000000000000000000006&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is token_report.

Example result
{
  "chain": "base",
  "address": "0x4200000000000000000000000000000000000006",
  "marketDataSource": "DexScreener",
  "marketRetrievedAt": "2026-10-14T12:00:00.000Z",
  "risk": "low",
  "summary": "low risk: 0 high and 0 medium flag(s). Heuristic screening, not a guarantee of safety.",
  "flags": [],
  "token": {
    "name": "Wrapped Ether",
    "symbol": "WETH",
    "decimals": 18
  },
  "market": {
    "priceUsd": 2432.15,
    "priceChange24hPct": -3.05,
    "volume24hUsd": 40100383,
    "liquidityUsdTotal": 4904163,
    "pairCount": 2,
    "topPair": {
      "dex": "pancakeswap",
      "quote": "USDC",
      "ageDays": 1000
    },
    "trades24h": {
      "buys": 32010,
      "sells": 30694
    }
  }
}

Tool page, inputs and limits

Base ERC-20 token facts and risk flags: check a Base ERC-20 token's supply, owner and risk flags before buying $0.01

Base only (other chains: <chain>_token_info). Live on-chain facts for an ERC-20 token on Base: name, symbol, decimals, total supply, owner and whether ownership is renounced, paused state, proxy detection (EIP-1967, minimal proxy) with implementation and admin, and bytecode heuristics for mint, pause, blacklist and fee-setter functions. Use for token due diligence and rug-pull or honeypot screening before a swap.

Inputs: address (required): Token contract address on Base (0x...).

Free first (25 successful calls per caller, no key):

curl "https://tools.funwords.eu/token?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/token?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
curl "https://tools.funwords.eu/token?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is token.

Example result
{
  "chain": "base",
  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "name": "USD Coin",
  "symbol": "USDC",
  "decimals": 6,
  "totalSupplyFormatted": "4333612020.876957",
  "owner": "0x3ABd6f64A422225E61E435baE41db12096106df7",
  "ownershipRenounced": false,
  "paused": false,
  "proxy": {
    "isProxy": true,
    "kind": "zeppelinos-legacy",
    "implementation": "0x2ce6311ddae708829bc0784c967b7d77d19fd779",
    "admin": "0x4fc7850364958d97b4d3f5a08f79db2493f8ca44"
  },
  "capabilities": {
    "mint": false,
    "burn": false,
    "pause": false,
    "blacklist": false,
    "feeSetter": false
  }
}

Tool page, inputs and limits

Smart contract risk check: proxy, bytecode and supply red flags for a Base contract before approving it $0.01

Check a Base contract before you approve or call it: a low to critical risk tier with named flags (proxy, proxy with no implementation, tiny bytecode, zero token supply), plus bytecode size, the EIP-1967 implementation slot and ERC-20 owner, renounced and paused reads. Unreadable reads are null; EOAs return not-applicable. Limited heuristics, not a full security audit. Use before approving a spender or calling an unfamiliar Base contract.

Inputs: address (required): Base chain contract address, 0x-prefixed 20-byte hex.

Free first (25 successful calls per caller, no key):

curl "https://tools.funwords.eu/contract-risk?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/contract-risk?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
curl "https://tools.funwords.eu/contract-risk?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is contract_risk.

Example result
{
  "chain": "base",
  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "type": "contract",
  "riskLevel": "low",
  "riskFlags": [],
  "summary": "low risk: 0 flag(s). Bytecode 8953 bytes.",
  "facts": {
    "bytecodeSize": 8953,
    "deployedAt": null,
    "hasCode": true,
    "isProxy": false,
    "proxyImplementation": null
  },
  "tokenProperties": {
    "name": "USD Coin",
    "symbol": "USDC",
    "decimals": 6,
    "totalSupply": "10000000000000",
    "owner": "0x0000000000000000000000000000000000000001",
    "ownershipRenounced": false,
    "paused": null
  },
  "lastUpdatedBlock": 18650000
}

Tool page, inputs and limits

Questions

Is a low verdict a safety guarantee?

No. It is heuristic screening from on-chain reads and DexScreener market data, not an audit.

Which chain?

Base. For token facts on other chains use the chain's token_info tool.

How do I pay?

Each successful call costs the tool's price; failed calls are not charged. The first 25 calls are free. Then pay with card credits from $1 (the key goes in an Authorization header or as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.