# Polygon PoS ERC-20 Token Risk & Due-Diligence Snapshot

> Polygon PoS ERC-20 Token Risk & Due-Diligence Snapshot is a paid API for AI agents from onchaincheck.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-29).

Returns a 0-100 risk score with reasons, token metadata, ownership/proxy info, privileged function flags, and live Uniswap v3 price/liquidity for any ERC-20 token on Polygon PoS.

## Facts

- Endpoint: GET https://onchaincheck.dev/polygon/token?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/polygon-pos-erc-20-token-risk-due-diligence-snapshot-5351f24d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_u4lHt3X364Yin-t51Ny7A

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 polygon-pos-erc-20-token-risk-due-diligence-snapshot-5351f24d
```

Example prompt: Can you run a rug-check on the Polygon token at address 0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39 and tell me its risk score, whether the owner can mint or blacklist, and what the current liquidity is on Uniswap v3?

## When to prefer this

Use this endpoint when you need a fast, factual due-diligence snapshot of an ERC-20 token specifically on Polygon PoS — especially when you want risk scoring, ownership/proxy analysis, privileged function detection, and live Uniswap v3 liquidity all in a single call. Prefer it over generic block explorers when you need structured, machine-readable output for agent decision-making. Choose the Ethereum or Base sibling endpoints for tokens on those chains instead.

## Known failure modes

- Invalid or non-checksummed address returns a 400 error
- Non-existent or non-ERC-20 contract address may return empty/null token metadata
- Token with no Uniswap v3 WPOL or USDC pool will have noLiquidPool flag set true and null market data
- Bytecode analysis may produce false positives or false negatives for privileged function detection
- Rate limiting or payment failure returns a 402 if x402 payment is not provided
- Polygon RPC node downtime may cause transient 503 errors

## How this service works

Rug check and due-diligence snapshot of an ERC-20 token on Polygon PoS: a 0-100 risk score with reasons, name, symbol, decimals, supply, owner and whether ownership is renounced, upgradeable-proxy detection, owner-only functions found in the bytecode (mint, pause, blacklist, fee changes), and USD price, liquidity and FDV from the deepest WPOL or USDC pool on Uniswap v3. Facts only, no buy or sell opinion.

## Output

A JSON object containing: a numeric risk score (0-100) and level (low/medium/high) with human-readable reasons and a summary; token name, symbol, decimals, and total supply; owner address and whether ownership is renounced; whether the contract is an upgradeable proxy; boolean flags for privileged functions (mint, pause, blacklist, fee changes, trading switch, max transaction); market data from the deepest Uniswap v3 WPOL or USDC pool including USD price, quote-side liquidity, FDV, fee tier, and pool address; and the POL/USD native price from Chainlink.

## 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 Polygon PoS"
      }
     },
     "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": "ChainLink Token",
  "risk": {
   "level": "low",
   "score": 0,
   "reasons": [],
   "summary": "No risky powers or liquidity problems found."
  },
  "asset": {
   "known": false
  },
  "chain": "polygon",
  "flags": {
   "canMint": false,
   "ownerCanAct": false,
   "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 WPOL or USDC held by the deepest Uniswap v3 pool found.",
  "owner": null,
  "proxy": {
   "upgradeable": false
  },
  "market": {
   "dex": "uniswap-v3",
   "pool": "0x79E4240E33C121402dfc9009dE266356c91f241d",
   "priceUsd": 12.1853,
   "feeTierBps": 30,
   "pairedWith": "USDC",
   "poolsFound": 8,
   "fullyDilutedValueUsd": 13770000,
   "quoteSideLiquidityUsd": 89140
  },
  "symbol": "LINK",
  "address": "0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39",
  "decimals": 18,
  "nativeUsd": {
   "price": 0.0920898,
   "source": "Chainlink POL/USD",
   "symbol": "POL",
   "updatedAt": "2026-10-23T06:17:15.000Z"
  },
  "totalSupply": 1130446.8868,
  "ownershipRenounced": null,
  "privilegedFunctions": {
   "mint": false,
   "pause": false,
   "setFees": false,
   "blacklist": false,
   "tradingSwitch": false,
   "maxTransaction": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/polygon-pos-erc-20-token-risk-due-diligence-snapshot-5351f24d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from onchaincheck.dev](https://www.zero.xyz/host/onchaincheck.dev/llms.txt)
