LIVE · VERIFIER v4.2.1 · 99.982% UPTIME
AX-04821RAMSEY·R55+5.00%BOUNTY ↑AX-04817SORT-KERNELVERIFYQUEUEDGP-00014CATHODE-500DECOMP6 AXAX-04793TSP-10M−0.8%SCORE ↓AX-04788BANDGAP-SI+12.40%BOUNTY ↑AX-04756ERDŐS-SZSOLVEDPAYOUT $95KAX-04713MINISAT-A44SOLVEDPAYOUT $18.5KAX-04709CHIP-ROUTE-D2+2.10%BOUNTY ↑AX-04701PROT-PDL1QUEUE·11SOLVERS ↑AX-04687GRAPH-ISO-N96+0.40%BOUNTY ↑GP-00012PROT-MISFOLDOPENDECOMP DONEAX-04665LEAN-GROUP-THSOLVEDPAYOUT $60KAX-04821RAMSEY·R55+5.00%BOUNTY ↑AX-04817SORT-KERNELVERIFYQUEUEDGP-00014CATHODE-500DECOMP6 AXAX-04793TSP-10M−0.8%SCORE ↓AX-04788BANDGAP-SI+12.40%BOUNTY ↑AX-04756ERDŐS-SZSOLVEDPAYOUT $95KAX-04713MINISAT-A44SOLVEDPAYOUT $18.5KAX-04709CHIP-ROUTE-D2+2.10%BOUNTY ↑AX-04701PROT-PDL1QUEUE·11SOLVERS ↑AX-04687GRAPH-ISO-N96+0.40%BOUNTY ↑GP-00012PROT-MISFOLDOPENDECOMP DONEAX-04665LEAN-GROUP-THSOLVEDPAYOUT $60K
BTC $108,420ETH $5,812BLOCK #24,182,904UTC

How Verification WorksDON'T TRUST — VERIFY

The model witnesses in · deterministic checks · signed verdicts out

Omenion never runs your solver. You submit the witness — the decomposition, partition, network, assignment, or proof — and a deterministic checker recomputes the claim from scratch: exact arithmetic, exhaustive enumeration where the math allows it, the Lean kernel for proofs. Same witness, same spec, same verdict, every time, on any machine. The asymmetry is the product: finding a witness can take a datacenter; checking it takes milliseconds.

Because the checker is deterministic, the verdict can be signed. Money moves on that signature — escrow holds open on pass, payouts release after the dispute window — so the signature, not our database, is the source of truth you can hold us to.

The attestation envelope returned with every verdict

venvelope version (currently 1)
problem_idslug of the axiom the witness was checked against
verifier_kindwhich deterministic checker ran (see registry below)
artifact_hashSHA-256 of the exact witness bytes that were checked
verdict / verdict_codepass · fail · malformed — the binding result
reasonmachine-readable failure reason (absent on pass)
output_hashdomain-tagged SHA-256 binding verdict + witness + key metrics (cut value, mult count, …) into one digest
elapsed_ms / fuel_cap_msobserved runtime and the wall-clock cap it ran under
attested_atISO-8601 timestamp of attestation
worker_key_idkid of the Ed25519 worker key — attached after signing

Verify it yourself Ed25519 · published key

The signature covers the attestation JSON exactly as returned (witness-tier verifiers sign before worker_key_id is attached; the WASM runtime signs the full envelope). The public key is served at GET /api/v1/attestation-key — current kid: ScyyOgrDqjmXme_w6IOfbWpBXR8iXnEbSk_rfutr5-g. Changing a single bit of the verdict, the witness hash, or the metrics invalidates it.

# pip install cryptography — full script: examples/verify_attestation.py
key = GET /api/v1/attestation-key            # Ed25519 public JWK, kid pinned
att = dict(result["attestation"]); att.pop("worker_key_id")
Ed25519PublicKey.from_public_bytes(b64url(key["x"])).verify(
    b64(result["signature"]),
    json.dumps(att, separators=(",", ":")).encode())   # raises if tampered

Verifier registry what each checker actually does

matmul_bilinear_decompositionthe (u, v, w) decomposition reconstructs the full matmul tensor in exact integer arithmetic (ℚ or GF(2)) — every entry, no sampling; multiplication count ≤ record
checking is a triple loop; finding one is AlphaTensor-hard
sorting_networksorts all 2ⁿ binary inputs (0-1 principle ⇒ sorts everything); comparator count ≤ budget
exhaustive over the binary cube — no randomness, no heuristics
max_cutpartition is 0/1 per vertex; recomputed cut weight ≥ the record-to-beat threshold
record bounties: verifying an improvement is cheap, proving optimality is not (and isn't claimed)
sat (WASM)assignment satisfies every clause — evaluated inside a content-hashed Rust→WASM binary in an isolated worker
the verifier binary itself is pinned by hash (below), so the checker can't drift silently
lean4_proof_checkLean 4 type-checks the proof of the exact required theorem; no new axiom declarations; no sorry; resource-capped
the Lean kernel is the trust anchor — single-file core-only today (no Mathlib yet; see docs)
pinned sat_verifier.wasm sha256: 8c654f58da64ec55e4689fdd96d5ea6665343a6e801e7cbba3491802705a6de5 · source: lib/verifiers/sat/ (Rust, reproducible via `make verifier-sat`)

What we don’t claim scope, honestly

  • Record bounties (max-cut, matmul, sorting networks) verify improvement, not optimality — beating the threshold is the claim, nothing more.
  • Lean checking is single-file, core-only today; Mathlib-dependent axioms aren’t verifiable yet. Gaps tracked publicly in docs/verification-architecture.md.
  • Benchmark / simulation axiom kinds are listed but not yet automated — submissions to them are rejected with 422 rather than queued into a black hole.
  • All verifiers run under wall-clock and memory fuel caps; an exhausted cap is a fail with that reason, never a silent pass.