Send tool schemas and Tīrtha checks every call against them. Send tests and it runs them in a sandbox, so you only get code that passes. When a request has nothing to check against, it says so and escalates instead of guessing. Frontier-class coding (92.1% HumanEval+, on par with Sonnet) for less than frontier price. Change one base URL and leave the rest of your client alone.
You call one endpoint and never pick a model. Behind it, the request is classified by shape and each shape gets its own path, its own check, and its own honest answer about whether anything was checked at all.
Put your checks in tirtha.tests. We run the code in a sandbox and serve only what passes. A failure escalates instead of reaching you.
Every emitted call is checked against your schema. When the schema is ambiguous it declines rather than inventing a call.
There is nothing to run, so we do not pretend. Two lightweight models must independently agree or the request escalates.
Every response carries a tirtha object beside the standard fields. Most gateways tell you nothing about how your answer was produced. This is the part we would want if we were the customer.
Each call goes to the lightest model and effort that can handle it.
The result is verified, so a wrong answer is caught, not served.
Premium models are spent on the calls that truly need them.
| Suite | Tīrtha | Notes |
|---|---|---|
| HumanEval+ (164) | 92.1% | Frontier-class: ≈ Sonnet 4.6 (92.7), just under Opus 4.8 (93.3), above GPT-5.3-codex (90.2); +7 over the base model (84.8). Cache-cleared, verified. |
| BFCL v4 tool calls | 749 / 800 | One fixed pass of BFCL v4 Python through the production tool path. An official AST re-score of the same saved outputs gives 751/800. Single pass, no multi-seed, no bootstrap interval. Not a leaderboard submission. We claim parity on tools, not the highest accuracy. |
| Reliability trap set, primary path | 200 / 200 | Serves no wrong tool. Clopper-Pearson 95% [98.1, 100]; wrong answers served 0/200, [0.0, 1.9]. That interval is Clopper-Pearson, not the rule of three. |
| Reliability trap set, failover path | 30 / 40 | When the primary stalls we fail over for availability. That model matches the primary on calling and fails it on declining: all 10 misses are the same verdict, it calls a tool where it should abstain. Measured 2026-08-02. |
| Operations | 0 retries | 0 retries in 800, 1 wrong tool in 800, deterministic routing. Scored on our harness and re-scored with the official checker; methods on request. |
Change your base URL to ours and keep everything else. Copy the call, drop in your key, run it in your terminal.
# change one line: your base URL curl https://api.tirtha.ai/v1/chat/completions \ -H "Authorization: Bearer $TIRTHA_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "tirtha/verified", "messages": [{"role":"user","content":"Hello"}] }'
One endpoint. You do not pick a model. Send tool schemas and every call is checked against them. Send tests and your code runs in a sandbox, so you only get what passes. When a request has nothing to check against, we say so and escalate rather than guess.