{
"$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"
}