$EDGE Public API · v0 reference

One curl away.

Every prediction-market signal $EDGE surfaces is also a public API. No auth required for the free tier. Base URL: https://www.thepolyedge.com. Returns JSON. Cached at the edge for 10-60s depending on the endpoint. Analyst tier (1M $EDGE) unlocks higher rate limits and webhook delivery.

Free Tier · No Auth
60 / min
per IP · edge cache shared
Analyst Tier · 1M $EDGE
600 / min
API key · soon
Desk Tier · 5M $EDGE
unlimited
priority queue · webhooks

Markets

Aggregated Polymarket + Kalshi market data
GET /api/markets Edge-cached 30s

Top 200 active Polymarket markets + all open Kalshi events with nested markets. Normalized to a single shape across platforms. Sorted by 24h volume desc.

Request
# curl
curl https://www.thepolyedge.com/api/markets

# JavaScript
const r = await fetch("/api/markets");
const data = await r.json();
Response
{
  "markets": [
    {
      "id": "poly_2308197",
      "source": "polymarket",
      "title": "Will the Iran ceasefire continue through May 24?",
      "slug": "will-the-iran-ceasefire-continue-through-may-24",
      "yes_price": 0.99,
      "no_price": 0.01,
      "volume_24h": 6217543.12,
      "liquidity": 412330.5,
      "end_date": "2026-05-24T23:59:00Z",
      "category": "Geopolitics",
      "link": "https://polymarket.com/event/will-the-iran-ceasefire-continue-through-may-24"
    }
  ],
  "stats": {
    "total_volume_24h": 52994321.5,
    "total_markets": 194,
    "by_source": { "polymarket": 100, "kalshi": 94 }
  },
  "fetched_at": "2026-05-26T20:14:33.000Z"
}

Whales

Polymarket whale firehose · leaderboard · per-wallet drilldown
GET /api/whales/firehose Edge-cached 30s

Live whale trade firehose. Filters Polymarket trades by USD size (size × price). Returns the most recent N trades crossing the threshold.

Query Params
minint · optionalMinimum USD size per trade. Default 5000. Try ?min=100 to widen during quiet markets.
limitint · optionalMax trades returned. Default 40, capped at 100.
Example
curl "https://www.thepolyedge.com/api/whales/firehose?min=1000&limit=20"
GET /api/whales/leaderboard Edge-cached 60s

Top active whales by recent volume. Each entry enriched with portfolio value (parallel /value lookups on Polymarket data-api).

Query Params
limitint · optionalDefault 20. Max 50.
windowint · optionalTrades window to aggregate over. Default 500.
GET /api/whales/wallet Edge-cached 30s

Composed wallet detail: identity, summary stats, all open positions sorted by current value, recent trades. Single payload for the wallet drill-down page.

Query Params
user0x… · requiredWallet proxy address (40-hex). Returns 400 if invalid.

Buzz

Real-time chatter aggregator · Reddit + Polymarket comments + HN + News RSS
GET /api/buzz/feed Edge-cached 30s

Chronological feed across all four sources (Reddit, Polymarket comments, HN, News). Each thread carries up to 3 matched markets with confidence scores.

Query Params
limitint · optionalDefault 60, max 200.
matched0|1 · optionalmatched=1 filters to only threads matched to a live market.
GET /api/buzz/markets Edge-cached 30s

Markets ranked by chatter heat. Heat = thread count × 2 + log10(upvotes+1) × 1.5 + unique sources × 3 + best match confidence × 4. Sorted desc.

Query Params
limitint · optionalDefault 25, max 50.

Edge

Money vs Mouth divergence scoring · the picker algorithm
GET /api/edge/scores Edge-cached 30s

Composite scoring per market. Returns money_intensity (0-100, derived from volume + price velocity + whale activity), mouth_intensity (0-100, from chatter heat), divergence, and an edge_call: INSIDER FLOW · FRONT-RUNNING · ALIGNED · QUIET FLOW · LOUD ROOM · NO SIGNAL.

Query Params
limitint · optionalDefault 20, max 50.
min_divint · optionalFilter markets below this divergence threshold (0-100).

Arb

Cross-platform Polymarket ↔ Kalshi arbitrage opportunities
GET /api/arb/opportunities Edge-cached 30s

Pairs Polymarket markets to Kalshi markets via token-overlap matching, computes fee-adjusted edge per pair, returns ranked arbs with both legs + suggested stakes. Filters edges > 12pp as likely matcher errors — better honest empty than false positives.

Query Params
min_edgenumber · optionalMin fee-adjusted edge in pp. Default 0.5.
fee_buffernumber · optionalFee assumption (0-0.1). Default 0.02 (2pp).
limitint · optionalDefault 20, max 50.

Market Detail

Per-market composed view — Edge + Whales + Buzz + Affiliate
GET /api/market/detail Edge-cached 30s

Single payload composing everything we know about one market: basic info, whale trades filtered by market, buzz heat if matched, Edge score, affiliate- wrapped trade URL.

Query Params
slugstring · requiredMarket slug from /api/markets. Returns 404 if not found.

Ticker

Live activity firehose · WHALE_TRADE · NEWS_DROP · EDGE_CALL
GET /api/ticker Edge-cached 30s

Merged chronological feed of whale trades, news drops, and Edge calls. Used by the scrolling tape that lives below the header on every page. Up to 30 events newest-first.

OG Cards

Dynamically rendered 1200×630 PNGs for shares
GET /api/og Edge-cached 24h

Returns a 1200×630 PNG OG card. Surfaces: coming-soon · launch · edge · arb · market · whale · divergence. Dynamic surfaces take query params for the data to render.

Query Params
surfacestring · requiredOne of the surface names above. Defaults to coming-soon.
title, yes, no, vol, platformstring · for marketMarket card params. ?surface=market&title=…&yes=99&no=1&vol=$4.86M&platform=polymarket
name, value, positions, pnl, pnlnumstring · for whaleWhale card params. Used by /whales.html per-wallet shares.

Waitlist

Pre-launch funnel — wallet signup, prediction game, leaderboard
POST /api/waitlist/join No cache

Add a wallet to the waitlist. Returns the position number. Idempotent — same wallet returns its existing position.

Body (JSON)
walletstring · requiredSolana base58 or Ethereum 0x… address.
emailstring · optionalLaunch alerts only.
referredBystring · optionalReferrer's wallet address.
GET /api/waitlist/stats Edge-cached 10s

Total signups, recent additions, leaderboard, and current-wallet status (if ?wallet= passed).

POST /api/waitlist/predict No cache

Submit market predictions for the prediction game. Returns the projected score.

Body (JSON)
walletstring · requiredMust already be on the waitlist.
predictionsarray · requiredArray of { market_slug, side: "YES" | "NO", confidence: 0..1 }, up to 20 items.

Rug Radar

Solana + Ethereum token risk analysis
GET /api/tracker/analyze Edge-cached 30s

Full risk report for a token: weighted red flags from DexScreener, GoPlus, RugCheck (Solana), Honeypot.is (ETH), and chain RPC. Returns a 0-100 risk score plus categorized flags (critical / warn / info).

Query Params
addressstring · requiredSolana mint or Ethereum 0x… contract.
chainsolana|ethereum · optionalAuto-detected from address format if omitted.
GET /api/tracker/trending Edge-cached 30s

Trending tokens — DexScreener boosts enriched with per-token price / liquidity / 24h volume. Solana + Ethereum only.

Build on the edge.

Free for anyone. Higher rate limits + webhooks for token holders. The API stays public — that's part of the contract.