Resolution paths

Resolution paths, one program.

Draws use single-phase rng_v2: the rules are committed, three future slots are fixed, and the winners come from their hashes. Every path below runs on the same canonical devnet program, and any resolution transaction can be replayed from its signature.

Scope

Everything on this page runs on Solana devnet, on the canonical program 6QtLot…CP6B. Nothing is deployed to mainnet yet — these statuses compare paths against each other, not against a mainnet release.

PathVersionStatusWhat it is
single phase v1.2 canonical · default prepare_rng_v2 → settle_rng_v2. Winners from three future slot hashes; used by every draw endpoint. Try it →
two phase v1.3.2 canonical · opt-in seal_randomness → attest_winners. Anyone may seal; the operator stakes a bounty and cannot back out.
sortition-by-claim v1.4.0 canonical Commit-reveal ticket draw. Winners claim their own ticket against a threshold checked on-chain.
sortition economics v1.4.1 canonical Optional entry-fee and close-skim layer on top of a sortition draw.
conditions fc7/fv9 canonical · attestation-only Score committed slips (odds × proven facts) into a ranking. The engine proves the ranking; it holds no funds and executes no payout.
operator seed rng_v1 legacy The operator sets the seed when the runtime is created. Not used by the draw endpoints.
unicorn-g entropy B8 implemented · not deployed Alternative entropy source: a delay-function output verified on-chain through an embedded Groth16 verifier. The canonical program is not built with it.
Unicorn-G — why it is not deployed

It is implemented and was measured on devnet in June 2026: seal_randomness_unicorn verifies the proof on-chain, and a forged one is rejected with InvalidUnicornGProof at the pairing check. The canonical program is not built with it. Before mainnet it needs the circuit soundness fix and a trusted-setup ceremony.

Conditions

Live on the canonical program since 2026-07-03. The public scorer POST /api/conditions/score is byte-identical to on-chain resolve_conditions, and a devnet attestation replays to MATCH. Payout is pro-rata over the winners and executed by the integrator — the engine proves who won, nothing more. Score a round →

Console

Run the sortition flow

Four calls against this program — create the draw, register a ticket commitment, seal against slot hashes that do not exist yet, then claim. No key needed. It sits with the rest of the runnable examples.

Open the console