Inspiration

Polymarket has processed over a billion dollars in trading volume. But when you open it, you get a price, a buy button, and a gut feeling. Meanwhile, anyone trading options on Robinhood gets probability curves, breakeven analysis, scenario modeling, and Kelly-optimal position sizing built right in. Prediction market traders are flying blind compared to every other derivatives market on earth. We wanted to fix that, and build the terminal that should have existed from day one.

What it does

Vantage is a professional analytics terminal for Polymarket. Select any of 60+ active markets and instantly get:

  • A Trade Thesis: three auto-generated bullets explaining the market, implied probability, and whether your position has edge
  • A live price history chart pulled from the Polymarket CLOB API
  • A payoff curve showing exact max profit, max loss, and breakeven across every resolution probability
  • A Kelly criterion sizer that computes the mathematically optimal position for your bankroll
  • A scenario analyzer with bear, base, and bull presets plus a draggable slider
  • A time uncertainty cone showing how much the market could move before resolution, derived from 30-day realized volatility

The Portfolio tab goes further: scenario tree with every 2^n resolution outcome, joint probability table, Pearson correlation matrix from live price history, combined payoff surface heatmap, and a perp hedge overlay that models your crypto futures and Polymarket positions together with funding drag baked in.

The Markets tab shows 60 live markets in a filterable grid, with VWAP anomaly badges that automatically surface potential mispricings.

How we built it

  • Frontend: React 18 + Vite + TypeScript + Tailwind CSS
  • State: Zustand
  • Charts: Recharts
  • Backend: Express.js as proxy server to bypass CORS
  • Data: Polymarket Gamma API (market metadata), CLOB API (price history + orderbook), Data API (trade flow), and Kraken/CoinCap/CoinGecko fallback chain (live crypto spot prices)
  • Live feed: Polymarket CLOB WebSocket for sub-second price updates
  • Deployment: Railway

Challenges we ran into

  • Data Quality: Polymarket's /markets?order=volume endpoint returns low-quality spam markets at the top. We had to switch to the /events endpoint and write a custom scoring function to reward markets with both high uncertainty and high liquidity.
  • Persistent Crypto Price Failures: CoinGecko rate limited at 429, so we had to implement a three-source waterfall where the server tries Kraken first, then CoinCap, then CoinGecko, and then give the client its own direct fallbacks if the proxy itself is down.

Accomplishments that we're proud of

  • All data exhibited in the web app is directly translated from Polymarket's API. All real, no mocks.
  • Payoff curve, Kelly sizer, time uncertainty cone, and scenario tree all working together as a coherent analytical system.

What we learned

Prediction markets are derivatives, and the tools to trade them should look like it. The math for binary options (Kelly criterion, log-normal diffusion, payoff curves, Pearson correlation) translates directly from traditional finance industries. The hard and value part really comes in when you're trying to use live APIs and have the most up to date real data as possible.

What's next for Vantage

  • On-chain execution via the Polymarket SDK, allowing users to place orders directly from the terminal
  • Realized P&L tracking for portfolio performance over time
  • Multi-user accounts with saved positions and shared watchlists
  • API access for algorithmic traders who want to build on top of Vantage's analytics layer

Built With

  • and-hedge-data-charts:-recharts-?-10+-custom-chart-types-backend:-express.js-proxy-server-to-bypass-cors-on-polymarket's-apis-data:-polymarket-gamma-api-(market-metadata)
  • clob
  • clob-api-(price-history-+-orderbook)
  • coincap
  • coingecko
  • css
  • data-api-(trade-flow)
  • express.js
  • kraken
  • polymarket
  • portfolio
  • position
  • railway
  • react
  • recharts
  • tailwind
  • typescript
  • vite
  • zustand
Share this project:

Updates