RULIXY
Fairness and transparency

How Rulixy fair randomness works

A wheel can look random without being random. Rulixy separates winner selection from animation so device speed and frame timing do not choose the result.

Updated · September 16, 2026

Selection first, animation second

When you press Spin, Rulixy obtains a random value from the browser Web Crypto API. That value is converted into an entrant index. The wheel then calculates the angle needed to place that selected segment under the pointer.

Key point: the animation displays the selected result. Mouse timing, PC speed and animation frame rate do not decide who wins.

Why rejection sampling matters

A large random number does not always divide evenly by 3, 6, 10 or another entrant count. Rulixy rejects values that could create a small modulo bias and draws another secure value instead.

Why the same name can appear again

Independent random spins allow repeats. With six entrants, every new spin still has six possibilities until someone is removed. An unusual streak is not, by itself, proof of a pattern.

How to prevent repeat winners

If your rule is “one win per person,” enable Remove winner/eliminated entry after each spin. The next spin then uses the shorter list.

Shuffle does not decide the winner

Shuffle only changes list order. Since Rulixy V1.0.3 it also uses the browser secure random generator, while each actual spin still performs its own independent secure selection.

What “fair” means for a digital wheel

Fair selection does not mean that a small sample must look perfectly balanced. It means that equivalent entries are handled by the same selection rule. Streaks and repeats can happen naturally. With five names, you should not expect an orderly sequence where everyone appears exactly once before any repeat unless the application deliberately removes entries.

Why selection and animation are separated

If an animation determines the result from friction, timing or device speed, performance differences can influence behavior. RULIXY avoids that dependency: it obtains the selected index first and then calculates how the wheel should end. Animation communicates the result; it does not generate it.

Rejection sampling without formulas

Imagine the browser generates values across a huge range and you need to distribute them among seven entries. If the range is not exactly divisible by seven, some remainders can occur one extra time. Rejection sampling discards the small leftover region and requests another value, preventing that simple modulo operation from introducing a distribution bias.

What can change probability

What does not change the selected entry

Classic, Neon or Clean style, visual theme, Hype Mode, Overlay size, background color and perceived animation speed do not add entries or replace the index that was already selected. They are presentation choices.

How to explain randomness to viewers

A simple sentence is usually enough: “RULIXY chooses the result with Web Crypto first, then animates the wheel to that segment.” If you need unique winners, add that automatic removal takes the confirmed winner out of the next spin. Do not promise “no repeats” while the list stays unchanged, because that would not describe independent selection.