{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreif4kiofemjdsjmvdz4sip5x7z5zwevkb2lcjwxi4ydsxq62mqdpfy",
    "uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mpaknx3tnnv2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreigyqgj3y5l2gbml4rvi26gf6jprwwssl4ugkwylngnzj4eqaho6pe"
    },
    "mimeType": "image/webp",
    "size": 65070
  },
  "path": "/manpreet_brar_264e408885a/i-built-a-free-whale-tracker-for-polymarket-heres-what-i-learned-21bi",
  "publishedAt": "2026-06-27T03:16:11.000Z",
  "site": "https://dev.to",
  "tags": [
    "webdev",
    "javascript",
    "startup",
    "productivity",
    "WhaleTrack →",
    "Product Hunt"
  ],
  "textContent": "The problem: I kept missing big moves on Polymarket because I had no way to see what the biggest traders were betting on in real time.\n\nSo I built WhaleTrack — a free, no-signup tool that shows you exactly what top Polymarket whales are buying and selling.\n\n##  What it does\n\n  * **Live whale activity feed** — see the last 40 trades from top wallets, updated on refresh\n  * **Whale leaderboard** — P&L, win rate, trade count for the biggest accounts\n  * **No login, no ads, no fluff** — just the data\n\n\n\n##  How it works\n\nThe whole thing is vanilla HTML/CSS/JS deployed on Vercel with two serverless functions:\n\n**`/api/whales.js`** — hits the Polymarket leaderboard API, fetches position stats for each whale, calculates win rates from closed positions\n\n**`/api/activity.js`** — pulls recent trades for each whale wallet in parallel, filters out internal combo transactions (no title / zero price), and returns the 40 most recent trades\n\nThe serverless layer solves CORS — Polymarket's data API doesn't allow browser requests, so everything goes server-side.\n\n##  Tech stack\n\n  * Frontend: Vanilla HTML/CSS/JS (zero dependencies)\n  * Backend: Vercel serverless functions\n  * Data: Polymarket public data API\n  * Deploy: Vercel (free tier)\n\n\n\n##  Biggest lesson\n\nFiltering bad data is half the work. The raw API returns combo trades and internal transactions that show up as \"Unknown Market @ 0¢\" — useless noise. Had to figure out which fields to check (title, price > 0) to strip them.\n\nAlso: win rate calculation is tricky when most whales have unrealized profits. Showing \"—\" instead of 0% is more honest.\n\n##  Try it\n\nWhaleTrack →\n\nAlso launched on Product Hunt today if you want to show some love: Product Hunt\n\nBuilt this in a weekend. Happy to answer questions about the Polymarket API or Vercel serverless setup.",
  "title": "I built a free whale tracker for Polymarket — here's what I learned"
}