Valorant prop grader.
Every posted line, resolved against the final map.
Why grading Valorant props is hard
Valorant lines are map-scoped. Deaths on map 2 is not the same bet as series deaths, and the board that posted the line is gone by the time the map ends. A grader has to keep the exact line, the player ID, and the open/close tape — not just the final score.
Practical rule: never grade from a screenshot alone. Grade from the finalized map record with the propId you bound at placement.
What a graded result row is
A graded row joins the offer the book posted, the exact line that settled, and the finalized stat. KashRock keeps all three on one row, plus open/close when the tape has them.
The grade field
grade is hit, miss, push, pending, or error. Pending means the match is not finalized; error means the evidence was missing — never an invented grade.
Grader endpoints
Pull settled grades from GET /v7/valorant/results or the v7_results MCP tool with sport=valorant.
| Endpoint | Purpose | Key filters |
|---|---|---|
| GET /v7/valorant/results | Settled prop and line-odds grades | grade, from, to, book, limit |
| GET /v7/valorant/props | Live board — bind propId at placement | book, market |
| GET /v7/valorant/players?include=gamelogs | Finalized per-map stats | limit |
| MCP v7_results | Same grades from Cursor or Claude | sport=valorant |
IDs that keep a grade honest
Grades join on kr_pl_*, kr_match_id, and propId — not display names.
- —propId — the book offer; stable while the line moves
- —line_prop_id — the exact line that was graded
- —kr_pl_* / kr_match_id — joins that survive renames
A real graded Valorant prop
Live sample: Nami over 14.5 deaths on map 2, graded a miss on 12. The line opened 14.5 and closed 15.5 — CLV is on the row.
| Field | Example | Used for |
|---|---|---|
| results[].propId | kr_prop_5dbf947a9052 | The book offer you bound at placement |
| results[].stat_type | VAL_DEATHS_MAP_2 | Sport-prefixed, map-scoped market |
| results[].grade | miss | hit | miss | push | pending | error |
| results[].actual_value | 12.0 | Finalized stat the line graded against |
| results[].opening_line → closing_line | 14.5 → 15.5 | CLV straight off the quote tape |
{
"source": "kashrock",
"sport": "valorant",
"total": 20967,
"results": [
{
"propId": "kr_prop_5dbf947a9052",
"line_prop_id": "kr_prop_c2841e68177f",
"book_name": "thunderpick",
"player_name": "Nami",
"canonical_player_id": "kr_pl_1638c8f36b0e",
"stat_type": "VAL_DEATHS_MAP_2",
"line": 14.5,
"direction": "over",
"grade": "miss",
"actual_value": 12,
"team": "Gentle Mates GC",
"opponent": "Team Liquid Brazil",
"event_time": "2026-10-23T18:00:00.000Z",
"graded_at": "2026-10-23T20:20:45.000Z",
"kr_match_id": "kr_valorant_gentle-mates-vs-liquid-brazil-23-10-2026",
"opening_line": 14.5,
"opening_odds": -159,
"closing_line": 15.5,
"closing_odds": 109
}
]
}Ways to grade Valorant props
Stat sites give the final number. KashRock keeps the book's line and price history beside the grade so you can measure hit rate against what was actually offered.
| Source | Schema | Best use |
|---|---|---|
| Book app / screenshots | Today's board only | Bets you remember placing |
| Stat trackers | Final scores, no book lines | Checking one result by hand |
| KashRock results | Normalized rows + open/close tape | Grading every posted line at scale |
How KashRock grades a prop
- —Hit / miss — the map record contained the stat and the line resolved.
- —Push — the stat landed exactly on the threshold.
- —Pending / error — not finalized, or no evidence.
Running a grader in production
- —Bind propId + direction at placement; grades arrive after settlement.
- —Valorant grades need Hobby+; Sandbox is CS2 eval only.
- —Filter book, stat_type, or grade=hit|miss|push for hit-rate views.
Quick reference
GET /v7/valorant/results returns hit/miss/push with actual_value and open/close. Get your free key to start on Sandbox, then upgrade for Valorant.
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.