Esports portfolio API.
Track bets. Auto-grade. Running P&L.

Portfolio stores the tickets you care about, grades them when results land, and keeps a running summary (wins, losses, ROI). List with GET; track with POST.

Why this surface exists

If tracked bets live in a sheet, grades drift and P&L lies. Portfolio keeps the offer_id and grades from the same vault the API already trusts.

What the record represents

GET returns summary plus bets[]. Filter by result (win/loss/push/pending), book, market, and date.

Core endpoints

GET /v7/{sport}/portfolio and POST /v7/{sport}/portfolio/track. MCP v7_portfolio lists.

EndpointPurposeKey filters
GET /v7/{sport}/portfolioList tracked bets + summary (Quant+)result, book, market, dates
POST /v7/{sport}/portfolio/trackTrack a betoffer / match fields
GET /v7/{sport}/resultsSettlement grades the portfolio usesBuilder+ depth
MCP v7_portfolioSame list from Cursor or Claudesport

Canonical IDs

  • —offer_id / propId on track
  • —kr_match_id
  • —canonical_player_id when player markets

Sample payload

Empty ledger is a valid live response — summary zeros until you POST track. Shape stays the same once bets exist.

FieldExampleUsed for
summary.total_pnl0Running profit and loss
summary.roi_pct0Return on staked amount
summary.pending0Ungraded tickets
bets[]…Tracked rows with result when graded
GET /v7/cs2/portfolio
{
  "available": true,
  "sport": "cs2",
  "summary": {
    "total_bets": 0,
    "pending": 0,
    "wins": 0,
    "losses": 0,
    "total_pnl": 0,
    "roi_pct": 0
  },
  "bets": []
}

Comparing sources

Portfolio grades from the settled results store — not from a second scraper.

SourceSchemaBest use
SpreadsheetsManual gradePersonal logs
Book bet historyOne venue, no CLVNarrow
KashRock portfolioAuto-grade on KR IDsDesk ledger

How to use it

Results grades flow into portfolio automatically after you track an offer.

Operational practices

  • —Track with the offer_id you actually placed.
  • —Filter result=pending for open risk.
  • —Quant unlocks portfolio; Sandbox is free for ID practice.

Quick reference

GET /v7/cs2/portfolio returns summary P&L and tracked bets. Get your free key.

If you need a normalized feed instead of another UI wrapper, the esports api exposes live boards, schedules, and history on one schema — with the IDs and outcome patterns that keep backtests and grading honest. Start free on Sandbox, or see published pricing.

Frequently asked questions

How do bets get graded?

Portfolio joins tracked offers to the same results feed that powers /results — hit, miss, push, void.

Which plan unlocks portfolio?

Quant. Start free on Sandbox to learn prop and match IDs.