Esports portfolio API.
Track bets. Auto-grade. Running P&L.
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.
| Endpoint | Purpose | Key filters |
|---|---|---|
| GET /v7/{sport}/portfolio | List tracked bets + summary (Quant+) | result, book, market, dates |
| POST /v7/{sport}/portfolio/track | Track a bet | offer / match fields |
| GET /v7/{sport}/results | Settlement grades the portfolio uses | Builder+ depth |
| MCP v7_portfolio | Same list from Cursor or Claude | sport |
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.
| Field | Example | Used for |
|---|---|---|
| summary.total_pnl | 0 | Running profit and loss |
| summary.roi_pct | 0 | Return on staked amount |
| summary.pending | 0 | Ungraded tickets |
| bets[] | … | Tracked rows with result when graded |
{
"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.
| Source | Schema | Best use |
|---|---|---|
| Spreadsheets | Manual grade | Personal logs |
| Book bet history | One venue, no CLV | Narrow |
| KashRock portfolio | Auto-grade on KR IDs | Desk 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.