Learn

How a school enrollment lottery works with Sorteo

Running a school choice lottery by hand (a form, a random number generator, a spreadsheet) is hard to keep fair and even harder to prove fair. Here is how Sorteo runs the whole process, end to end.

1. Set up the lottery

The district defines what is being drawn: which schools and grades have open seats, how many seats per grade, and any priorities that apply, such as a sibling already enrolled or a staff member’s child. You choose when applications open and close, and when the draw will run.

2. Families apply in their language, without an account

Families fill out a short public form, rank the schools they want, and note any priority that applies to them. There is no account to create, and the form is available in English, Spanish, and French. Each family gets a receipt with a private entry code and a link to the results page.

3. Applications close and the entry list is locked

When the window closes, Sorteo freezes the exact set of entries and seat counts and publishes an input commitment: a fingerprint of everyone who is in the draw. From this point on, nobody (not the district, not Sorteo) can quietly add, drop, or reorder an entry without that fingerprint no longer matching. Sorteo also pins a specific upcoming round of the public drand randomness beacon, the source of the draw’s randomness, chosen before its value is known.

4. The draw runs

At the scheduled time, Sorteo reads the random value published by that drand round and uses it to order entries and assign seats, respecting the priorities and seat counts from step 1. The draw is deterministic: the same entries plus the same beacon value always produce the same result, which is exactly what makes it checkable. See how the draw is provably fair →

5. Offers go out, with an acceptance window

Each placed family receives an offer in their language with a deadline to accept or decline. As with applying, no account is required.

6. The waitlist advances on its own

If a family declines or an offer expires, the seat is automatically offered to the next family in line for that school. Every offer, acceptance, decline, and waitlist move is recorded.

7. Results are public and verifiable

After the draw, an anonymized results page lists every entry by its code with its outcome, alongside the beacon value, the commitment, and a downloadable transcript. Any parent, board member, or reporter can confirm the result matches the inputs and the public randomness. Families find their own line using the code from their receipt.

Ready to run a fair, automated lottery without the headaches?

Create your school lottery