API Reference

DraftLoL API

Draft predictions, Polymarket analytics, and a real-time live draft stream. Pay-as-you-go with credits — no subscription. Base URL https://api.draftlol.ai.

Authentication

Every request needs your API key in the X-API-Key header. Get one by buying credits on /pricing — the key arrives by email. Every response includes X-Credits-Balanceso you always know what's left.

curl -X POST https://api.draftlol.ai/v1/predict/draft \
  -H "X-API-Key: koi_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "blue_team": "T1", "red_team": "Gen.G", ... }'

Errors

StatusMeaning
401Missing or invalid API key.
402Insufficient credits. Response includes a topup_url. Buy more at /pricing.
403API key inactive.
429Rate limit exceeded, or too many concurrent stream connections (max 5).

Draft Predictions

Feed a draft, get the model's win probability with a full signal breakdown. Built for tipsters and betting bots that want an edge before a game starts.

POST/v1/predict/draft100 credits

Predict draft outcome

Bayesian model (V2.12) win probability from 10 champion picks. Seven signals: champion WR, matchup WR, duo synergy, team form, head-to-head, Elo, season WR.

Use case: Score a hypothetical or in-progress draft. Compare the model's probability against the Polymarket market price to find an edge.

Parameters
blue_teamstringrequiredBlue side team name
red_teamstringrequiredRed side team name
blue_picksPlayerPick[5]required{champion, role} × 5
red_picksPlayerPick[5]required{champion, role} × 5
leaguestringoptionalLEC/LCK/LPL… selects per-league weights
Request body
{
  "blue_team": "T1",
  "red_team": "Gen.G",
  "league": "LCK",
  "blue_picks": [
    { "champion": "Azir",   "role": "mid" },
    { "champion": "Jinx",   "role": "bot" },
    { "champion": "Rumble", "role": "top" },
    { "champion": "Maokai", "role": "jungle" },
    { "champion": "Thresh", "role": "support" }
  ],
  "red_picks": [
    { "champion": "Orianna",  "role": "mid" },
    { "champion": "Varus",    "role": "bot" },
    { "champion": "Gnar",     "role": "top" },
    { "champion": "Vi",       "role": "jungle" },
    { "champion": "Nautilus", "role": "support" }
  ]
}
Response
{
  "blue_team": "T1",
  "red_team": "Gen.G",
  "blue_win_prob": 0.5005,
  "red_win_prob": 0.4995,
  "league": "LCK",
  "weights_used": "LCK",
  "model_version": "V2.12",
  "signals": {
    "blue": { "champ_wr": { "score": 0.4572, "weight": 0.15, "detail": { "Azir": { "wr": 0.42, "games": 223 } } } },
    "red":  { "champ_wr": { "...": "..." } }
  }
}

Polymarket Analytics

On-chain analytics for LoL prediction markets. Track smart-money wallets, analyse a series' price history, inspect builder attribution.

GET/v1/polymarket/series/{series_id}/analysis30 credits

Series market analysis

Full Polymarket picture for one series: markets, per-game price history, top traders, probability swings.

Use case: Backtest how the market moved during a series, or study trader behaviour around a specific match.

Parameters
series_idint (path)requiredofficial_series id
Response
{
  "event_id": "...",
  "event_title": "T1 vs Gen.G",
  "total_volume": 184320.5,
  "team1_name": "T1",
  "team2_name": "Gen.G",
  "markets": [ { "...": "..." } ],
  "games":   [ { "...": "..." } ],
  "traders": { "...": "..." }
}
GET/v1/polymarket/wallets/{address}/summary50 credits

Wallet P&L summary

Realised PnL, ROI, volume, profitable-position rate and league mix for a wallet.

Use case: Identify and follow smart money — wallets with consistent positive ROI on LoL markets.

Parameters
addressstring (path)required0x-prefixed wallet address
Response
{
  "wallet_address": "0x0003...9f7e",
  "display_name": null,
  "realized_pnl": 4210.55,
  "total_invested": 18900.0,
  "roi_pct": 22.3,
  "profitable_positions": 64,
  "total_closed_positions": 91,
  "total_trades": 412,
  "league_mix": [ { "league": "LCK", "share": 0.41 } ]
}
GET/v1/polymarket/wallets/{address}/top-markets30 credits

Wallet top positions

A wallet's biggest positions, sortable by profit, loss, or impact. Detects hedged bets.

Use case: See exactly which markets a smart-money wallet made (or lost) the most on.

Parameters
addressstring (path)required0x-prefixed wallet address
limitintoptional1–20, default 10
sortstringoptionalprofit | loss | impact
Response
[
  {
    "event_title": "T1 vs Gen.G",
    "team1_name": "T1", "team2_name": "Gen.G",
    "league": "LCK", "market_type": "winner",
    "outcome_name": "T1",
    "cash_pnl": 820.0, "invested": 1500.0, "roi_pct": 54.6,
    "won": true, "resolution": "T1", "is_hedged": false
  }
]
GET/v1/polymarket/builders/{builder_code}20 credits

Builder attribution detail

Volume, unique makers, league/market breakdown and recent trades for a CLOB v2 builder.

Use case: Understand which frontends/desks route order flow into LoL markets, and how much.

Parameters
builder_codestring (path)required0x 32-byte builder code (66 chars)
Response
{
  "builder_code": "0xb4d6...100e",
  "builder_name": null,
  "builder_kind": "frontend",
  "total_volume_usd": 92044.1,
  "total_trades": 1840,
  "unique_makers": 612,
  "breakdown": [ { "league": "LCK", "market_type": "winner", "volume_usd": 40110.0, "trades_count": 800 } ],
  "recent_trades": [ { "...": "..." } ]
}

Live Draft Stream (SSE)

The real-time feed nobody else has. Subscribe once and receive a draft_complete event — champions + Polymarket odds — the instant a draft finishes. Billed per delivered draft.

GET/v1/live/drafts/stream?league={slug}15 credits / draft

Live draft stream

Server-Sent Events. Pushes a draft_complete event (picks + market odds, no prediction) per game. Reconnect-safe, idempotent per game. Cost shown is for Tier-1 leagues; Tier-2 leagues are cheaper.

Use case: Run a bot that reacts to drafts the moment they lock — position on Polymarket while the market is still moving.

Parameters
leaguestringrequiredBilling slug: lck, lec, lpl, lcs, cblol, lcp, …
api_keystringoptionalQuery-string key for browser EventSource (header preferred)
Response
event: connected
data: {"league": "lck", "resource": "stream:live-drafts:lck"}

event: draft_complete
data: {
  "blue_team": "T1", "red_team": "Gen.G", "league": "lck",
  "blue_picks": ["Azir","Jinx","Rumble","Maokai","Thresh"],
  "red_picks":  ["Orianna","Varus","Gnar","Vi","Nautilus"],
  "polymarket_prob_blue": 0.61, "polymarket_prob_red": 0.39
}

Full streaming guide (reconnect strategy, all league slugs, Python/Node clients): see below — or the technical docs.

Ready to start? Buy a credit pack and your key arrives by email.

See pricing →