{
 "api_version": "2.0.0",
 "lang": "en",
 "address": "0x940181a94a35a4569e4529a3cdfb74e38fd98631",
 "chain": "base",
 "token": {
  "name": "Aerodrome",
  "symbol": "AERO",
  "total_holders": 752126
 },
 "score": 20,
 "score_breakdown": {
  "liquidity": 5,
  "holder_concentration": 15,
  "contract_trading": 0,
  "pool_age": 0,
  "news_sentiment": 0
 },
 "liquidity": {
  "pooled_all_pools_usd": 49599150.76,
  "top_pool_liquidity_usd": 35057178.63,
  "top_pool": {
   "address": "0x6cdcb1c4a4d1c3c6d054b27ac5b77e89eafb971d",
   "name": "aerodrome: AERO-USDC"
  },
  "pools_counted": 30,
  "source": "dexscreener"
 },
 "liquidity_risk": {
  "level": "low",
  "level_en": "low",
  "reason": "$49.6M pooled liquidity across 30 pools (dexscreener), deepest pool $35.06M, 24h volume $18.3M, oldest pool 1148 days",
  "pooled_all_pools_usd": 49599150.76,
  "liquidity_usd": 49599150.76,
  "volume_24h_usd": 18299917.08,
  "fdv_usd": 1557082533,
  "pools": 30,
  "oldest_pool_age_days": 1148
 },
 "holder_concentration": {
  "level": "medium",
  "level_en": "medium",
  "reason": "top 5 holders own 57.47% of supply; 49.87% sits in other contracts (lockers, vaults, bridges or treasury) and is half-weighted → adjusted 32.53%",
  "top5": [
   {
    "address": "0xeBf418Fe2512e7E6bd9b87a8F0f294aCDC67e6B4",
    "pct": 49.8727,
    "type": "contract"
   },
   {
    "address": "0x62EbEC56766e3Be84eB6b3437C501E6716A90C0A",
    "pct": 1.9352,
    "type": "wallet"
   },
   {
    "address": "0x6325aa7B6Fd01475E0f098b24c410Fab89b0aD75",
    "pct": 1.8924,
    "type": "wallet"
   },
   {
    "address": "0x3304E22DDaa22bCdC5fCa2269b418046aE7b566A",
    "pct": 1.8903,
    "type": "wallet"
   },
   {
    "address": "0x001aA0fe6f267F8C279B2F89Cd61ada3eECA212D",
    "pct": 1.8841,
    "type": "wallet"
   }
  ],
  "top5_total_pct": 57.47
 },
 "contract_flags": {
  "honeypot": false,
  "buy_tax_pct": 0,
  "sell_tax_pct": 0,
  "open_source": true,
  "proxy": {
   "value": false
  },
  "blacklist": false,
  "pause": false,
  "paused_now": false,
  "anti_whale": false,
  "mintable": true,
  "selfdestruct": false,
  "delegatecall": false,
  "capabilities_analysed": "token bytecode",
  "flags": []
 },
 "news_sentiment": {
  "level": "no_data",
  "level_en": "no_data",
  "measured": false,
  "legacy_level": "neutral",
  "sentence": "No news data: no news source is connected, so nothing is inferred (v1 reported this as 'neutral')."
 },
 "sources": [
  "https://api.dexscreener.com/latest/dex/tokens/0x940181a94a35a4569e4529a3cdfb74e38fd98631",
  "https://api.honeypot.is/v1/TopHolders?address=0x940181a94a35a4569e4529a3cdfb74e38fd98631&chainID=8453",
  "https://api.honeypot.is/v2/IsHoneypot?address=0x940181a94a35a4569e4529a3cdfb74e38fd98631&chainID=8453",
  "Base JSON-RPC (https://base-public.nodies.app, https://base-rpc.publicnode.com): token data, holder code (1 eth_call) + pool probe (Multicall3)"
 ],
 "score_method": "score 0-100, higher = more risk. Sum of: liquidity 0-35 (>= $1M: 5, >= $100k: 15, >= $10k: 25, else 35), holder concentration 0-30 (adjusted top-5 share = top-5 minus LP pools and burn, other contracts half-weighted; >= 50%: 30, >= 25%: 15, else 5), contract/trading 0-25 (honeypot 25; buy/sell tax > 10%: 15, > 5%: 8; closed source +10; upgradeable proxy +5; selfdestruct +10; blacklist function +5; pause function +3 (+10 if paused now); capped 25), pool age 0-10 (< 1 day 10, < 7 days 7, < 30 days 4, else 0). Honeypot forces score >= 90. News sentiment adds 0 and is no_data (no news source connected).",
 "liquidity_method": "liquidity.pooled_all_pools_usd = USD liquidity summed over all indexed Base pools of the token; liquidity.top_pool_liquidity_usd = the single deepest pool. Source order (same in every endpoint, one shared function): live DexScreener (all Base pairs, 2 endpoints raced) > live GeckoTerminal (top 20 pools) > the last DexScreener/GeckoTerminal value measured by any of our token APIs in the last 15 min (shared cache, measured_age_s) > honeypot.is GetPairs (often much lower: counts fewer pools; fallback_reason says why). The source is always named.",
 "flags_method": "contract capabilities are read for free from the chain: proxy = EIP-1967 implementation/beacon slot, legacy ZeppelinOS slot, EIP-1822 slot, or EIP-1167 minimal-proxy bytecode; for a proxy the implementation's bytecode is analysed. blacklist / pause / anti_whale / mintable = the bytecode dispatcher contains a known function selector (e.g. blacklist(address), isBlacklisted(address), pause(), paused(), maxTxAmount(), mint(address,uint256)); selfdestruct / delegatecall = the opcode occurs in the executable bytecode (metadata stripped). true means the capability exists, not that it was used. paused_now = paused() returned true. 'unknown' = could not be read (e.g. beacon proxy or RPC gap); never guessed.",
 "core_fields": "Core fields: liquidity_risk (a liquidity source answered) and holder_concentration with every top-5 holder typed (burn/lp/contract/wallet). If either cannot be measured the API answers 503 + Retry-After and nothing is charged.",
 "computed_at": "2026-10-19T18:23:03.469Z",
 "cached": false,
 "disclaimer": "Ikke investeringsråd / not investment advice. Automated indicator from public on-chain and DEX data; it can be incomplete or wrong. Do your own research.",
 "deprecated": "API v2: enum values are canonical English. Every `<field>_en` mirror is deprecated (identical to the field, removal planned in v3). Add ?lang=da for the previous Danish values (v1 format with _en mirrors). news_sentiment/social level 'neutral' without data is now 'no_data' (old value in legacy_level)."
}