# OP Mainnet ERC-20 Whale & Large-Trade Tracker

> OP Mainnet ERC-20 Whale & Large-Trade Tracker is a paid API for AI agents from onchaincheck.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-30).

Returns buy/sell trade history, volume summary, net flow, and top whale wallets for an ERC-20 token on OP Mainnet over a configurable time window, sourced from its deepest WETH/USDC pools on Uniswap v3 or Velodrome.

## Facts

- Endpoint: GET https://onchaincheck.dev/optimism/trades?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/op-mainnet-erc-20-whale-large-trade-tracker-c12666ba
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_D9N-LtLKbyMjBtP0vIzLY

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-whale-large-trade-tracker-c12666ba
```

Example prompt: Show me all whale trades for the OP token (0x4200000000000000000000000000000000000042) on OP Mainnet in the last 60 minutes — only trades over $1000 USD, and list the top 20 largest.

## When to prefer this

Choose this endpoint when you need real-time whale and large-trade surveillance specifically for an ERC-20 token on OP Mainnet (Optimism), using its deepest Uniswap v3 or Velodrome WETH/USDC liquidity pools. It is best when you need wallet-level attribution (who bought/sold the most), net flow directional signal, and individual large trade details in a single call. Prefer this over generic block explorers when you want structured, aggregated DeFi trade analytics without parsing raw logs. Not suitable for tokens without WETH/USDC pool depth on Optimism, or for chains other than OP Mainnet.

## Known failure modes

- Invalid or non-OP-Mainnet token address returns an error or empty result
- Token with no WETH/USDC pool depth returns no trades (pools not tracked)
- minutes parameter outside 5–240 range may be clamped or rejected
- minUsd filter set too high returns an empty large-trades list while summary still populated
- Network or RPC issues on Optimism may return a 5xx or timeout
- Payment not sent or insufficient (x402 protocol) results in 402 Payment Required

## How this service works

Whale and large-trade tracker for an ERC-20 on OP Mainnet: every buy and sell in the last N minutes on the token's deepest WETH/USDC pools (Uniswap v3 or Velodrome), with USD size, side, wallet and transaction for the largest trades, buy/sell volume and net flow, and the wallets that bought or sold the most.

## Output

Returns a JSON object with: chain and token metadata (symbol, address, decimals); the block and time range queried; a summary with total buys, sells, buy volume USD, sell volume USD, net flow USD, and largest single trade; top buyer and seller wallets with their net USD, trades count, bought and sold amounts; and a list of large individual trades each with tx hash, DEX name, USD size, side, block, wallet, approximate timestamp, and token/quote amounts.

## 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": [
      "token"
     ],
     "properties": {
      "limit": {
       "type": "string",
       "pattern": "^\\d{1,2}$",
       "description": "Max trades listed, 1 to 40, default 20"
      },
      "token": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Token contract address on OP Mainnet"
      },
      "minUsd": {
       "type": "string",
       "pattern": "^\\d+(\\.\\d+)?$",
       "description": "Only list trades at least this large in USD, default 1000"
      },
      "minutes": {
       "type": "string",
       "pattern": "^\\d{1,3}$",
       "description": "Look-back window in minutes; 5 to 240, default 60 (capped at 12,000 blocks, about 50 minutes on Arbitrum)"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "chain": "optimism",
  "notes": "Trades from the 3 deepest WETH/USDC pools; other pairs and aggregator-internal routes are not counted. Wallets are transaction senders, looked up for the 40 largest trades.",
  "token": {
   "symbol": "OP",
   "address": "0x4200000000000000000000000000000000000042",
   "decimals": 18
  },
  "window": {
   "to": "2026-10-22T16:23:21.000Z",
   "from": "2026-10-22T15:23:21.000Z",
   "minutes": 60,
   "toBlock": 158543712,
   "fromBlock": 158541912
  },
  "summary": {
   "buys": 31,
   "sells": 10,
   "trades": 41,
   "netFlowUsd": 963.893,
   "buyVolumeUsd": 1464.88,
   "sellVolumeUsd": 500.992,
   "largestTradeUsd": 136.298
  },
  "nativeUsd": 2392.72,
  "topBuyers": [
   {
    "netUsd": 654.5,
    "trades": 6,
    "wallet": "0xF104e69537346E54BCbDB5a1280aE3Aeef092c5B",
    "soldUsd": 0,
    "boughtUsd": 654.5
   },
   {
    "netUsd": 164.6,
    "trades": 8,
    "wallet": "0x78126dAC3a2C08479d2196741Da77F56Ca8CFB88",
    "soldUsd": 29.98,
    "boughtUsd": 194.5
   },
   {
    "netUsd": 152.4,
    "trades": 6,
    "wallet": "0x042f093b5D3e35C3cFa891E461f165e2BDF3A4BC",
    "soldUsd": 49.23,
    "boughtUsd": 201.7
   },
   {
    "netUsd": 125.8,
    "trades": 1,
    "wallet": "0x092772CdEF109fEd26052E79B952Ac5404f1Ed21",
    "soldUsd": 0,
    "boughtUsd": 125.8
   },
   {
    "netUsd": 21.35,
    "trades": 1,
    "wallet": "0xf4c2BAA132722670CC0Eb89C8a9329eE8F2389ED",
    "soldUsd": 0,
    "boughtUsd": 21.35
   }
  ],
  "topSellers": [
   {
    "netUsd": -232.5,
    "trades": 2,
    "wallet": "0x31074ff71CE53897194028316A355F98F2043D88",
    "soldUsd": 232.5,
    "boughtUsd": 0
   },
   {
    "netUsd": -9.994,
    "trades": 1,
    "wallet": "0x6663F9524b76B547F1070E82ddE1Cc0A2236d758",
    "soldUsd": 9.994,
    "boughtUsd": 0
   }
  ],
  "largeTrades": [
   {
    "tx": "0x3abbe44d8a518056071465655f99749236a6038dc9bd74d13908020a2d916f08",
    "dex": "uniswap-v3",
    "usd": 136.298,
    "side": "sell",
    "block": 158542191,
    "wallet": "0x31074ff71CE53897194028316A355F98F2043D88",
    "approxTime": "2026-10-22T15:32:39.000Z",
    "quoteAmount": 0.056963409,
    "quoteSymbol": "WETH",
    "tokenAmount": 1146.4553
   },
   {
    "tx": "0x2f24b77a43957031dc2920de3d7053e2982c0e7d6f4dbac01ee987bdaeca0e97",
    "dex": "uniswap-v3",
    "usd": 125.834,
    "side": "buy",
    "block": 158542384,
    "wallet": "0x092772CdEF109fEd26052E79B952Ac5404f1Ed21",
    "approxTime": "2026-10-22T15:39:05.000Z"
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/op-mainnet-erc-20-whale-large-trade-tracker-c12666ba/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)
