{"ok":true,"site":{"host":"negativeev.com","url":"https://negativeev.com/","type":"live","desc":"Paste a bet and NegativeEV checks it against thousands of simulated games to tell you whether the price is good, bad, or fair.","tools":[{"name":"check_bet","kind":"answer","impl":"imperative","description":"Grade a sports bet against NegativeEV's game simulations. Input the bet as plain text (teams/players, market, line, odds); a multi-leg parlay in one string is graded leg by leg and priced as a whole. Use it when the caller has a SPECIFIC bet to evaluate — it prices a bet you name, it does not search for good bets, so there is nothing to send for 'what should I bet tonight'. Call `get_slate` first if it isn't known that today's games are simulated. Every result leads with `status`: `graded` (every leg scored — this is the only status that spends a check), `partial` (some legs scored), `ungraded` (the bet was understood but no leg is covered by the sims), `no_bet_found` (no bet recognized in the text), or `no_slate`, `unsupported_market`, `unsupported_sport`. When a leg doesn't score, `ungraded_legs[].reason` says why and `retry.rephrasing_helps` says whether re-wording could change the answer — it is false whenever the bet parsed, so do NOT resend the same bet in different words to work around an `ungraded` result. Covers MLB, WNBA, PGA, and ATP; any other sport returns unsupported_sport. Games that already started still grade, against the simulations from before first pitch (a pre-game projection, flagged as such).","inputSchema":{"type":"object","properties":{"bet":{"type":"string","description":"The bet text, e.g. 'Shohei Ohtani over 1.5 total bases -120'"}},"required":["bet"]},"executable":true,"handlerField":"execute","page":"/"},{"name":"get_slate","kind":"answer","impl":"imperative","description":"Whether there is a checkable slate right now (at least one simulated, not-yet-started game) in each live sport: MLB, WNBA, PGA, and ATP. Pass `sport` to ask about one; omit it for all of them. This is the free pre-check for `check_bet`: call it before grading when it isn't known that today's games are simulated, and call it after an `ungraded` result instead of re-wording the bet, because `ungraded` means the game isn't on the simulated slate rather than that the wording was wrong. Free — spends no check.","inputSchema":{"type":"object","properties":{"sport":{"type":"string","enum":["MLB","WNBA","PGA","ATP"],"description":"One of: MLB, WNBA, PGA, ATP. Omit to get every live sport."}}},"executable":true,"handlerField":"execute","page":"/"},{"name":"get_usage","kind":"answer","impl":"imperative","description":"How many bet checks the caller has left and when the next one frees up — the daily allowance for anonymous callers, the hourly pace window for accounts. Call it before grading several bets in one turn, to know how many will fit, and after a check is refused for quota, to know when to retry. It reports the budget only; `check_bet` is what spends it. Free — spends no check.","inputSchema":{"type":"object","properties":{}},"executable":true,"handlerField":"execute","page":"/"}],"category":"Finance & Crypto","favicon":"/favicons/negativeev.com.png","apiSurface":"spec","_scrape":{"etag":null,"lastModified":null,"scrapedAt":"2026-08-27T00:25:04.000Z"},"toolCount":3}}