# OP Mainnet ERC-20 Token Due-Diligence Snapshot

> OP Mainnet ERC-20 Token Due-Diligence Snapshot is a paid API for AI agents from ca-tax-api-mainnet.lxtap.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-23).

Returns a security and market due-diligence snapshot for any ERC-20 token on Optimism (OP Mainnet), including metadata, ownership status, proxy/upgradeability detection, dangerous owner-only functions, and live price/liquidity data.

## Facts

- Endpoint: GET https://ca-tax-api-mainnet.lxtap.workers.dev/optimism/token?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/op-mainnet-erc-20-token-due-diligence-snapshot-839ebbe7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ogI09zBrVTHoLlh7b17qI

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 op-mainnet-erc-20-token-due-diligence-snapshot-839ebbe7
```

Example prompt: Can you run a due-diligence check on the OP Mainnet token at 0x4200000000000000000000000000000000000042 — I want to know if ownership is renounced, whether it has mint or blacklist functions, if it's behind an upgradeable proxy, and what the current USD price and liquidity look like on Uniswap v3 or Velodrome?

## When to prefer this

Choose this endpoint when you need a quick, structured due-diligence report specifically for an ERC-20 token on OP Mainnet, combining both security signals (ownership, admin functions, proxy status) and live market data (price, liquidity, FDV) in a single call. Prefer this over generic block explorers or manual RPC calls when you need actionable security signals alongside market data without writing custom bytecode inspection logic. Use sibling endpoints for Ethereum mainnet or Arbitrum One tokens.

## Known failure modes

- Invalid or malformed contract address (not matching 0x[40 hex chars] pattern) returns a validation error
- Address is an EOA or non-ERC-20 contract — token metadata fields may be missing or null
- No liquidity pools found on Uniswap v3 or Velodrome — price and liquidity fields return null or zero
- RPC timeout or Optimism node unavailability causes a 5xx error
- Token exists but has non-standard ERC-20 interface — partial data returned

## How this service works

Pay-per-call data for AI agents, paid in USDC on Base with x402: token risk checks (rug check) on Base, Ethereum, Arbitrum, Optimism, Polygon and Solana, onchain reads (balances, transactions, gas, contracts, NFTs, whale trades, new pools, ENS and Basenames), ECB exchange rates, and Canadian sales tax and business days.

## Output

A JSON object containing: token name, symbol, decimals, and total supply; the current owner address and a boolean indicating whether ownership has been renounced; a boolean for upgradeable-proxy detection; a list of owner-only functions found in bytecode (e.g. mint, pause, blacklist, fee-change); and market data including USD price, total liquidity, and FDV sourced from the deepest available WETH or USDC pool on Uniswap v3 or Velodrome on OP Mainnet.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Token contract address on OP Mainnet"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "Optimism",
  "risk": {
   "level": "medium",
   "score": 30,
   "reasons": [
    {
     "code": "can-mint",
     "text": "The owner can mint new tokens, diluting holders.",
     "points": 25
    },
    {
     "code": "owner-not-renounced",
     "text": "Ownership is not renounced.",
     "points": 5
    }
   ],
   "summary": "Medium risk: the owner can mint new tokens, diluting holders; ownership is not renounced."
  },
  "chain": "optimism",
  "flags": {
   "canMint": true,
   "ownerCanAct": true,
   "upgradeable": false,
   "canBlacklist": false,
   "noLiquidPool": false,
   "canChangeFees": false,
   "thinLiquidity": false
  },
  "notes": "Privileged functions are detected from bytecode selectors and may have false positives or misses. Liquidity is the WETH or USDC held by the deepest Uniswap v3 or velodrome pool found.",
  "owner": "0x5C4e7Ba1E219E47948e6e3F55019A647bA501005",
  "proxy": {
   "upgradeable": false
  },
  "market": {
   "dex": "uniswap-v3",
   "pool": "0x68F5C0A2DE713a54991E01858Fd27a3832401849",
   "priceUsd": 0.12043,
   "feeTierBps": 30,
   "pairedWith": "WETH",
   "poolsFound": 10,
   "fullyDilutedValueUsd": 517200000,
   "quoteSideLiquidityUsd": 109100
  },
  "symbol": "OP",
  "address": "0x4200000000000000000000000000000000000042",
  "decimals": 18,
  "nativeUsd": {
   "price": 2407.32,
   "source": "Chainlink ETH/USD",
   "symbol": "ETH",
   "updatedAt": "2026-10-23T03:59:39.000Z"
  },
  "totalSupply": 4294963292.25,
  "ownershipRenounced": false,
  "privilegedFunctions": {
   "mint": true,
   "pause": false,
   "setFees": false,
   "blacklist": false,
   "tradingSwitch": false,
   "maxTransaction": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/op-mainnet-erc-20-token-due-diligence-snapshot-839ebbe7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ca-tax-api-mainnet.lxtap.workers.dev](https://www.zero.xyz/host/ca-tax-api-mainnet.lxtap.workers.dev/llms.txt)
