API
Kaikki mitä sivusto tekee, HTTP:n kautta: ilmoita korvausvaatimus ja sen on oltava selvä, aseta paneeli ja kysely, kunnes erotuomari on ratkaissut kaikki kriteerit. Sama paneeli, sama laskutus, samat menorajat – ei selainta.
Avaimesi
Avaimet luodaan tililtäsi. Kirjaudu sisään tai luo sellainen – uudet tilit saavat aloitusluottoa, mikä riittää todelliseen match:een.
Rekisteröidy
Kirjautuminen
Todentaminen
Lähetä avain kantajaksi jokaiseen pyyntöön. Se on luotettava, joka voi käyttää tasapainosi, joten kohtele sitä kuin salasanaa: vain palvelimen puolella, ei koskaan selaimessa, ei koskaan arkistossa. Vuotanut avain poistetaan tältä sivulta ja lakkaa toimimasta välittömästi.
curl https://theorem.chat/api/v1/account/ \
-H "Authorization: Bearer thm_live_xxxxxxxx.xxxxxxxxxxxxxxxx"
Perusosoite: https://theorem.chat/api/v1/. Pyynnöt ja vastaukset ovat JSON-sivustolla. versio on polulla, joten murtava vaihtoalus v2:na ja koodisi toimii.
POST /api/v1/matches/
Aloita match. Vain tavoite on: jätä paneeli pois ja oletuskokoonpano on eri myyjiltä, koska päällekkäisiin datanjakoa koskeviin paikkoihin koulutetut mallit ja paneeli, joka on samaa mieltä itsensä kanssa, eivät ole todisteita. match jonotetaan välittömästi ja se on palvelimen tekemä, joten pyyntö palaa heti, kun se hyväksytään.
curl -X POST https://theorem.chat/api/v1/matches/ \
-H "Authorization: Bearer $THEOREM_KEY" \
-H "Content-Type: application/json" \
-d '{
"goal": "Every prime p > 3 satisfies p^2 = 1 (mod 24).",
"rigor_preset": "formal",
"seats": [
{"model": "anthropic/claude-opus-4.5"},
{"model": "openai/gpt-5", "stance": "Attack the statement."}
],
"max_rounds": 8,
"usd_ceiling": "2.00",
"public": false
}'
Kenttä
GET /api/v1/matches/{token}/
Koko match: statuksen, hyväksymiskriteerit ja se, miten jokainen on sovittu, vakiintuneiden tulosten kirjan, jokaisen päätöksen takana olevat todisteet ja tuomion saatuaan yksi. match kulkee minuuteista tuntiin, joten kyselyt muutaman sekunnin välein suoritettaessa suoraa lähetystä – vastaus kertoo, milloin on lopetettava.
{
"token": "k3m9x…",
"status": "solved",
"round": 5,
"progress": 100,
"usd_spent": "0.734120",
"usd_ceiling": "2.000000",
"criteria": [
{"text": "p^2 - 1 is divisible by 8", "status": "met", "settled_round": 2},
{"text": "p^2 - 1 is divisible by 3", "status": "met", "settled_round": 3}
],
"evidence": [
{"kind": "computation", "code": "…", "output": "…", "verified": true}
],
"verdict": "…"
}
Tilat: jonotettu, käynnissä, tauotettu, tarverahastot, ratkaistu, uupunut, jumissa, epäonnistunut. Neljä viimeistä ovat pääte; pysähtynyt, tarverahastot, uupunut ja jumissa voidaan jatkaa.
POST /api/v1/matches/{token}/resume/
Anna pysähtyneille match kierrosta lisää tai enemmän budjettia. Kaikki, mitä paneeli on asettanut, pidetään – tulokset kirjoitetaan tilikirjaan kerran eikä koskaan uudelleen johdettuna, ja nauhoitetut umpikujat pysäyttävät sen palaamasta jo epäonnistuneeseen lähestymistapaan.
curl -X POST https://theorem.chat/api/v1/matches/$TOKEN/resume/ \
-H "Authorization: Bearer $THEOREM_KEY" \
-H "Content-Type: application/json" \
-d '{"more_rounds": 4, "more_usd": "2.00"}'
Virheet
Jokainen epäonnistuminen on saman muotoinen. Oksakoodi on vakaa; viesti on proosa ja se voidaan muotoilla uudelleen.
{"error": {"code": "insufficient_balance",
"message": "Add credit or connect your own inference key…"}}
401 puuttuvalle tai peruutetulle avaimelle, 402 kun saldo on tyhjä, 404, kun kyseessä on rahake, joka ei ole sinun, 409, kun kyseessä on jo käynnissä oleva match, 429, kun ajat liian nopeasti, 400, kun pyyntö meni pieleen.
Verorajat
Avainta kohti laskettu lukumäärä on 240 ja aloitusaika on minuutti. Löysä tarkoituksella – itse asiassa match:n raja on se, että se kuluttaa tasapainosi, ja nämä ovat tulleet estämään uudelleenrynnistyksen tai polttajan juoksemisen täysillä. Rajan yli saa 429; ja jos se on käynnissä match:n parissa sekunnissa, se ei ole jatkuva.
Laskutus on sama kuin sivustolla: maksat kuponkia kohti julkaistulla mallikoron mukaan, prepaid-luotolla tai omalla avaimellasi.
Miten laskutus toimii