Skip to main content
The audit endpoint returns contract security analysis — source verification, proxy detection, and vulnerability scanning.

Usage

curl "https://api.naos.trade/api/v1/token-audit?token=0x833589fcd6edb6e08f4c7c32d4f71b54bda02913&chain=BASE" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "audit": {
    "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
    "chain": "BASE",
    "status": "safe",
    "openSource": true,
    "isProxy": true,
    "implementationAddress": "0x...",
    "contractType": "ERC-20",
    "creatorAddress": "0x...",
    "vulnerabilities": []
  }
}

Audit status

StatusDescription
safeNo critical vulnerabilities found
unsafeCritical vulnerabilities detected
in_progressAudit is being computed
closed_sourceContract source not verified
unknownUnable to determine

Vulnerability object

When vulnerabilities are found:
{
  "code": "HIDDEN_OWNER",
  "type": "ownership",
  "description": "Contract has a hidden owner function",
  "severity": 3
}

Pre-trade safety check

Combine token-info and token-audit before trading:
async function isSafeToTrade(token: string, chain: string): Promise<boolean> {
  const [info, audit] = await Promise.all([
    api<any>(`/api/v1/token-info?token=${token}&chain=${chain}`),
    api<any>(`/api/v1/token-audit?token=${token}&chain=${chain}`)
  ])

  if (!info.success || !audit.success) return false

  const buyTax = info.misc?.buyTax || 0
  const sellTax = info.misc?.sellTax || 0
  const liquidity = info.poolInfo?.liquidity || 0
  const status = audit.audit?.status

  // Skip tokens with high taxes, low liquidity, or unsafe audit
  if (buyTax > 1000 || sellTax > 1000) return false  // >10% tax
  if (liquidity < 10000) return false                  // <$10k liquidity
  if (status === 'unsafe') return false

  return true
}