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

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

Returns every significant buy and sell of an ERC-20 token on OP Mainnet's deepest WETH/USDC pools over a configurable look-back window, with USD size, wallet, transaction, volume totals, net flow, and top buyers/sellers.

## Facts

- Endpoint: GET https://ca-tax-api-mainnet.lxtap.workers.dev/optimism/trades?utm_source=zero.xyz
- Price: $0.02/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-whale-large-trade-tracker-bfcab401
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Y53bjI92aMNy6oaDpThf_

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-bfcab401
```

Example prompt: Show me all trades over $2,000 for the token at 0x4200000000000000000000000000000000000042 on OP Mainnet in the last 90 minutes — I want to see the biggest buys and sells, which wallets moved the most, and whether net flow is bullish or bearish.

## When to prefer this

Choose this endpoint when you need real-time or near-real-time whale and large-trade intelligence specifically for an ERC-20 token on OP Mainnet. It is purpose-built for Optimism's Uniswap v3 and Velodrome pools and returns both raw trade-level detail and aggregated volume/flow metrics in a single call, making it ideal for trading bots, market-monitoring agents, and due-diligence workflows that need to assess buying pressure or detect coordinated accumulation/dumping without querying a general-purpose indexer.

## Known failure modes

- Invalid or non-ERC-20 token address returns an error or empty result
- Token has no WETH/USDC pool on Uniswap v3 or Velodrome, yielding no trades
- minutes parameter outside 5–240 range may be rejected or clamped
- minUsd too high filters out all trades, returning an empty list
- Network congestion or RPC issues on OP Mainnet may cause timeouts
- limit parameter outside 1–40 range is rejected by schema validation

## 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 structured response listing individual large trades (buy or sell side, USD value, wallet address, transaction hash, pool used), aggregate buy and sell volume in USD, net flow (buy minus sell), and ranked lists of the wallets that bought or sold the most within the requested time window.

## 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-bfcab401/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)
