Esports arbitrage API.
Cross-book arbs with the stake split already done.

When two books price opposite sides so the implied probabilities sum under 100%, you can lock a spread. KashRock scans the lines board and returns each arb with legs, stake_share, margin_pct, and deeplinks — not a screenshot of two tabs.

Why this surface exists

Esports books disagree more often than traditional sports books. An arb API has to join the same market across venues, compute the stake split, and keep offer_ids so you can place what you scanned — not re-price by hand.

Practical rule: margin_pct is how far under 100% implied the pair sits — not a model edge.

What the record represents

Each arb row is one market on one match: legs[], margin_pct, overround, and confidence. Each leg carries source, decimal/american, stake_share, offer_id, and a deeplink when the book has one.

Core endpoints

Scan with GET /v7/{sport}/arb or MCP v7_arb. Pair with /lines for the consensus board and /uav for the match card when you act.

EndpointPurposeKey filters
GET /v7/{sport}/arbCross-book arbs on the lines board (Quant+)market, limit
GET /v7/{sport}/signals?kind=arbArb alerts in the signals feed (Pro+)kind=arb
GET /v7/{sport}/linesConsensus board the arbs are built fromHobby+
MCP v7_arbSame surface from Cursor or Claudesport

Canonical IDs

  • —kr_match_id — the fixture both legs share
  • —offer_id — the exact book offer on each leg
  • —matchup_key — stable home/away join when event ids still diverge

Sample payload

Live CS2 board: mouz vs TYLOO map-1 total rounds 20.5 — BetWhale Over 1.74 and GG.bet Under 3.61, margin about 14.8%, stake split already on the row.

FieldExampleUsed for
margin_pct14.83How far under 100% implied the pair sits
legs[].sourcebetwhale / ggbetBook on each side
legs[].stake_share0.67 / 0.33How to split a unit stake
legs[].offer_idkr_offer_*Exact offer to bind
kr_match_idkr_cs2_…Match join for UAV, CLV, results
confidencelow|…Quality flag on the opportunity
GET /v7/cs2/arb
{
  "available": true,
  "sport": "cs2",
  "total": 271,
  "arbs": [
    {
      "kr_match_id": "kr_cs2_mouz-vs-tyloo-02-11-2026",
      "market": "total_rounds",
      "map": 1,
      "line": 20.5,
      "margin_pct": 14.8279,
      "overround": 0.851721,
      "confidence": "low",
      "legs": [
        {
          "source": "betwhale",
          "outcome": "Over",
          "decimal": 1.74,
          "american": -135,
          "stake_share": 0.674766,
          "offer_id": "kr_offer_8377c7ab415c"
        },
        {
          "source": "ggbet",
          "outcome": "Under",
          "decimal": 3.61,
          "american": 261,
          "stake_share": 0.325234,
          "offer_id": "kr_offer_a16439d7baee"
        }
      ]
    }
  ]
}

Comparing sources

Sportsbooks and prediction venues on the lines board. DFS pick'em apps are a different product — use props and gaps for those.

SourceSchemaBest use
Manual two-tab shoppingSlow, easy to missOne-off checks
Single-book scrapeOne venuePersonal alerts
KashRock /arbJoined legs + stake splitBoard-wide scanning

How to use it

An arb is a pricing lock, not a prediction. After settlement, grade each leg with /results or track the ticket in /portfolio.

Operational practices

  • —Filter confidence and margin_pct so noise stays out of alerts.
  • —Always store offer_id per leg when you place.
  • —Quant unlocks /arb; start on Sandbox free to learn IDs.

Quick reference

GET /v7/cs2/arb returns cross-book arbs with stake_share and margin_pct. 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

What is an esports arbitrage API?

An API that finds markets where the best prices across books sum to less than 100% implied probability, and returns the legs, stake split, and margin. KashRock serves that at GET /v7/{sport}/arb on Quant+.

Is /arb the same as signals?kind=arb?

Related but not identical. /arb is the dedicated cross-venue arb board with stake_share. signals?kind=arb is the alert stream. Lead with /arb for scanning.

Is there a free key?

Yes. Sandbox is $0 for CS2 props and match discovery so you can learn KashRock IDs. Live arb rows need Quant.