# Arbitrum One ERC-20 Token Risk & Market Snapshot

> Arbitrum One ERC-20 Token Risk & Market 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, on-chain metadata, ownership/proxy analysis, privileged function flags, and Uniswap v3 market data for any ERC-20 token on Arbitrum One.

## Facts

- Endpoint: GET https://onchaincheck.dev/arbitrum/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/arbitrum-one-erc-20-token-risk-market-snapshot-65949502
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8nZLLKKo1sJ0xrcxWcWrM

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 arbitrum-one-erc-20-token-risk-market-snapshot-65949502
```

Example prompt: Can you run a rug check on the Arbitrum One token at 0x912CE59144191C1204E64559FE8253a0e49E6548 and tell me the risk score, whether ownership is renounced, if it can mint new tokens, and what the current liquidity looks like on Uniswap?

## When to prefer this

Use this endpoint when you need a fast, single-call due-diligence snapshot of an ERC-20 token on Arbitrum One specifically — combining risk scoring, ownership analysis, proxy detection, privileged function flags, and Uniswap v3 market data in one response. Prefer it over generic block explorers when you need structured, agent-consumable risk signals rather than raw on-chain data. Choose the Polygon or Ethereum sibling endpoints for those chains.

## Known failure modes

- Invalid address format (not a valid 0x hex address) returns a validation error
- Address is not a deployed ERC-20 contract on Arbitrum One returns an error or empty result
- No Uniswap v3 pool found for the token results in noLiquidPool flag being true and null market data
- Upgradeable proxy detection may have false positives or misses due to bytecode selector analysis
- Payment not included or insufficient (x402) results in 402 Payment Required response
- RPC or indexer downtime on Arbitrum One may cause transient failures

## How this service works

Rug check and due-diligence snapshot of an ERC-20 token on Arbitrum One: 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 WETH or USDC pool on Uniswap v3. Facts only, no buy or sell opinion.

## Output

A JSON object containing: a 0-100 risk score with a level (low/medium/high) and a list of scored risk reasons (e.g. can-mint, upgradeable, owner-not-renounced); token metadata (name, symbol, decimals, totalSupply, owner address, ownershipRenounced); proxy details (upgradeable flag, implementation and admin addresses); a flags object (canMint, canBlacklist, canChangeFees, upgradeable, noLiquidPool, thinLiquidity, ownerCanAct); privilegedFunctions breakdown; and market data from the deepest WETH or USDC Uniswap v3 pool (priceUsd, quoteSideLiquidityUsd, fullyDilutedValueUsd, pool address, fee tier, pairedWith). Also includes a native ETH/USD reference price from Chainlink and a notes disclaimer about bytecode-based detection.

## 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 Arbitrum One"
      }
     },
     "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": "Arbitrum",
  "risk": {
   "level": "medium",
   "score": 24,
   "reasons": [
    {
     "code": "can-mint",
     "text": "The owner can mint new tokens, diluting holders.",
     "points": 13
    },
    {
     "code": "upgradeable",
     "text": "The contract is an upgradeable proxy: its code can be replaced.",
     "points": 8
    },
    {
     "code": "owner-not-renounced",
     "text": "Ownership is not renounced.",
     "points": 3
    }
   ],
   "summary": "Medium risk: the owner can mint new tokens, diluting holders; the contract is an upgradeable proxy; 1 more. Powers are weighted down for $1.6M of liquidity."
  },
  "asset": {
   "known": false
  },
  "chain": "arbitrum",
  "flags": {
   "canMint": true,
   "ownerCanAct": true,
   "upgradeable": true,
   "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 pool found.",
  "owner": "0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827",
  "proxy": {
   "admin": "0xdb216562328215E010F819B5aBe947bad4ca961e",
   "upgradeable": true,
   "implementation": "0xd47D14a315394ddf063174f2286Ab4Eb7C507fa0"
  },
  "market": {
   "dex": "uniswap-v3",
   "pool": "0xC6F780497A95e246EB9449f5e4770916DCd6396A",
   "priceUsd": 0.183249,
   "feeTierBps": 5,
   "pairedWith": "WETH",
   "poolsFound": 8,
   "fullyDilutedValueUsd": 1832000000,
   "quoteSideLiquidityUsd": 824400
  },
  "symbol": "ARB",
  "address": "0x912CE59144191C1204E64559FE8253a0e49E6548",
  "decimals": 18,
  "nativeUsd": {
   "price": 2405.95,
   "source": "Chainlink ETH/USD",
   "symbol": "ETH",
   "updatedAt": "2026-10-23T06:17:14.000Z"
  },
  "totalSupply": 9999998977.61,
  "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/arbitrum-one-erc-20-token-risk-market-snapshot-65949502/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)
