Live on Solana devnet

On-chain proof
of who won.

Trust is a resource. VRE helps you earn it: commit rules on-chain before the draw — anyone replays the result from a transaction signature and verifies it themselves.

outcome rt_515240d5 devnet
  1. commit artifact 4a3304a5 · weighted_random
    locked
  2. resolve slot 473 659 234 · winner Aip3wC…tPvEU
    drawn
  3. replay 47S5Q3…FHdcF · from public RPC
    rerun
match
recomputed from public RPC data — same winner, byte for byte
≤ 300ms typical replay
Open verification SDK audit the engine yourself
0 oracles public RPC is the source
Why VRE

Commit rules. Anyone verifies.

Rules are locked on-chain before the draw. After resolution, anyone — users, auditors, regulators — can replay the outcome from a transaction signature and confirm it matches.

Rules locked before the draw

Participant list, weights, and selection function are committed on-chain before resolution. No retroactive edits.

Independently replayable

Any observer replays the outcome from public RPC data. Deterministic. Reproducible. No privileged access.

One npm package

Install the SDK, define a config, run vre resolve. Node, browser, Deno — same deterministic kernel.

Drop-in for any dApp

Rewards selection, loot tables, DAO proposals, and agent routing. Use-case-neutral primitives, not a closed box.

Use cases

Same engine. Four live proofs.

Every example below is a real transaction on Solana devnet. Click any signature to verify it yourself.

See all examples →

Rewards selection

Raffles and airdrops share one primitive: pick one or N recipients from a committed weighted address list.

Trading competition

Native rank_desc formula. Highest committed scores win, with deterministic tie-break by input order.

Prediction market

Native closest_to formula. Predictions nearest the committed target win and replay exposes target and scores.

Loot

Weighted outcome tables remain available alongside W3O1 formulas — same replay flow, different committed artifact surface.

Flow

Commit, resolve, verify.

Three on-chain events. Anyone can reproduce every step from public data.

vre --cluster devnet
# 1. Lock the ruleset on-chain — participants, weights, seed function $ vre commit --config raffle.json → runtime_id: 515240d5…08e20d → artifact_hash: 4a3304a5…688ed7 → committed before the draw # 2. When it's time, resolve — the program picks deterministically $ vre resolve --runtime-id 515240d5…08e20d → outcome_id: Aip3wC…tPvEU → formula: weighted_random → drawn at slot 473659234 # 3. Anyone — not you — verifies. Public RPC is the source of truth. $ vre verify --sig 47S5Q3…FHdcF ✓ MATCH / OK rules committed before draw replay of public data reproduces the same winner

Every signature is reproducible from an RPC endpoint and the artifact hash. No sealed oracles, no off-chain state, no trust assumptions about the operator.

Get started

Commit rules, then verify.

Any outcome. Independently verifiable. Start with a devnet signature, graduate to mainnet when you're ready.