La API
Ĉio, kion la retejo faras, per HTTP: deklari postulon kaj la barelon, kiun ĝi devas malplenigi, sidi panelon, kaj voĉdoni ĝis la arbitraciisto solvis ĉiun kriterion. Sama panelo, sama fakturado, sama elspezolimo - sen retumilo.
Viaj ŝlosiloj
Ŝlosiloj estas kreitaj el via konto. Ensalutu aŭ kreu novan konton - novaj kontoj ricevas komencan krediton, kiu sufiĉas por vera kongruo.
Subskribi
Saluto
Aŭtentigo
Sendi la ŝlosilon kiel portantan signon je ĉiu peto. Ĝi estas identigilo, kiu povas elspezi vian monon, do traktu ĝin kiel pasvorton: nur servile, neniam en retumilo, neniam en deponejo. Elfluinta ŝlosilo estas revokita de tiu paĝo kaj ĉesas funkcii tuj.
curl https://theorem.chat/api/v1/account/ \
-H "Authorization: Bearer thm_live_xxxxxxxx.xxxxxxxxxxxxxxxx"
Baza URL: https://theorem. chat/ api/ v1 /. Petoj kaj respondoj estas JSON. La versio estas en la vojo, do rompoŝanĝo estas sendita kiel v2 kaj via kodo daŭre funkcias.
POST /api/v1/matches/
Komenci kongruon. Nur la celo estas bezonata: lasi la panelon ekstere kaj apriora aranĝo estas metita de malsamaj provizantoj, ĉar modeloj trejnitaj sur koincida datumo kunhavas blindajn punktojn kaj panelo kiu konsentas kun si mem ne estas pruvo. La kongruo estas envicigata tuj kaj prilaborita de servilo, do la peto revenas tuj kiam ĝi estas akceptita.
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
}'
Kampoj
GET /api/v1/matches/{token}/
La tuta ludo: stato, akcepto-kriterioj kaj kiel ĉiu estis solvita, la libro de la fiksitaj rezultoj, la pruvo malantaŭ ĉiu decido, kaj la verdikto kiam estas unu. Ludo daŭras dum minutoj ĝis horoj, do voĉdonu ĉiun kelkajn sekundojn dum vivas - la respondo diras al vi kiam halti.
{
"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": "…"
}
Statusoj: enviĉita, rulanta, paŭzita, bezonas_fondojn, solvita, elĉerpita, blokita, malsukcesa. La lastaj kvar estas terminalaj; paŭzita, bezonas_fondojn, elĉerpita kaj blokita povas esti rekomencita.
POST /api/v1/matches/{token}/resume/
Donu al haltigita ludo pli da rondoj aŭ pli da buĝeto. Ĉio, kion la panelo starigis, estas konservita - rezultoj estas skribitaj al libro unufoje kaj neniam re- derivitaj, kaj registritaj senfinaj finaĵoj malhelpas ĝin reveni al aliro, kiu jam malsukcesis.
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"}'
Eraroj
@ info
{"error": {"code": "insufficient_balance",
"message": "Add credit or connect your own inference key…"}}
401 por mankanta aŭ revokita ŝlosilo, 402 kiam la saldo estas malplena, 404 por signo kiu ne estas via, 409 por kongruo kiu jam ruliĝas, 429 kiam vi iras tro rapide, 400 por io ajn la peto mem malsukcesis.
Limitoj de rapideco
Nombrita per klavo: 240 legaĵoj kaj 30 kongruaj startoj po minuto. Malferma intence - kio vere limigas kongruon estas ke ĝi elspezas vian monon, kaj tiuj ĉi estas tie por haltigi reprovan ciklon aŭ polerilon kiu elĉerpiĝas. Super la limo vi ricevas 429; polari rulantan kongruon ĉiun kelkajn sekundojn anstataŭ daŭre.
La kostoj estas identaj al la retejo: vi pagas po token laŭ la publikigita modelo-prezo, el antaŭpagita kredito aŭ via propra ŝlosilo.
Kiel funkcias fakturado