Eligibility

Since every draw counts the same, the cost of fielding a draw is where the security lives. Spek prices it in two phases, and in both the thing that makes a key eligible must be on chain before the beacon it competes against.

The seed phase: ticket records

At launch nobody holds coins, so a coin requirement would be zero and a draw would cost one key generation. The first 45 days (129,600 blocks) therefore use a different price: a RandomX ticket per round. The seed phase has 15 rounds of 8,640 blocks, 3 days each.

A ticket is a nonce for which a RandomX hash over the round, the round's seed, the miner's stake program and the nonce falls below a fixed target. The stake program is the 32-byte hidden-key program of the miner's stake address, so a ticket belongs to one key. A ticket counts only once it is recorded on chain: a 48-byte record carried in a seed-phase coinbase, at most 16 per block and one per stake program per round. Records travel on their own gossip topic, and every block producer includes pending ones.

A record counts for an epoch only if it landed below that epoch's stake cutoff. To cover a whole round it must land about two epochs before the round starts, which leaves a 48-hour search window per round. Because the ticket is committed before the beacon it competes against exists, nobody can rank free keys by their scores in a known epoch and buy tickets only for the best ones.

What "about 3 tickets per round" means for a home machine

The target was calibrated so that a 2018-era 8-core desktop running the search in its spare cycles finds about three tickets per round. One recorded ticket per round is all a key needs, so an ordinary computer can keep one key eligible, with room for an unlucky round. A round in which nobody is eligible is covered by the null block.

Searching uses RandomX's dataset of about 2 GiB; checking a ticket uses light mode, a 256 MiB cache and 15–30 ms. The RandomX instance is a Spek variant with its own parameters, so rented hash power built for other chains cannot be pointed at it.

The effect is that seed-phase draws are priced by sustained work per round rather than by a one-time key generation: a bank of keys is worthless without fresh work per key per round.

The open launch: the first 36 hours

Epochs 0–2, the first 36 hours, count only records written into the genesis block, and anyone can win one.

  1. The search opens at a pre-announced Bitcoin block. Its hash, with the network name, gives the launch key, so no ticket can exist before it.
  2. Anyone searches for a round-0 ticket under the launch key, at the same target, and submits the record to a public submission channel. The channel checks each ticket on arrival and lists every valid entry with its ticket hash, so anyone can recheck the listing.
  3. After the deadline the list is sealed: it is published with the genesis timestamp, the genesis message and the allocation, and a digest over all of them that independent witnesses record before a second pre-announced Bitcoin block is mined.
  4. The genesis block takes up to 1,973 records, one per key, chosen by lowest ticket hash, so when more are submitted than fit, searching longer buys better odds.
  5. The launch nonce is derived from the launch key, the seal digest and that second block's hash, and the genesis builder is deterministic. The launch beacons depend on a value nobody knew while any input could still change, and anyone can recompute the selection and the genesis block from public inputs.

One record is one key, and a node mines one key, so a launch seat costs what every later round costs: one ticket.

After the seed phase: one stake output

From block 129,600 a key is eligible at height h when its stake address holds one unspent output that

The stake address is a hidden-key address built from the miner's key and the commitment to its slot secrets. Nothing is locked: the output is an ordinary coin. Eligibility is judged against the parent block's ledger, so spending the output ends eligibility from the next block. Each stake output is one draw per slot, so a key with two funded horizons fields two draws, economically the same as two keys.

The requirement halves with the reward. The 0.1-coin floor only binds about nine halvings, roughly 36 years, out.

Coin requirement by halving era A bar for each halving era. The bars halve with every era on a logarithmic scale until the requirement reaches its floor, where the bar stops shrinking and is drawn dashed. era 0 40 era 1 20 era 2 10 era 3 5 era 4 2.5 era 5 1.25 era 6 0.625 era 7 0.3125 era 8 0.15625 era 9 0.1 floor
The coin requirement by halving era: 80% of the block reward, never below 0.1 coin.

Horizons and renewal

A stake output commits to one horizon: the slot secrets for 1,024 segments of 3 days, about 8.4 years. A node creates its next horizon automatically about a year before the current one ends (122 segments by default, an operator setting), with two segments of overlap so eligibility never lapses.

The stake key is public in every header and lives on the mining machine, so the node keeps exposure to one stake unit. The coinbase pays the stake address of the first horizon not yet funded, then a separate hidden-key payout address. A winner therefore funds its next horizon for free; a key that never wins renews with one ordinary transaction, which the node makes itself from any surplus at the current stake address, or which the operator funds from a wallet. The node also merges a stake address funded in pieces into a single output.

From tickets to stake

Ticket holders must fund a stake output below the cutoff of the first epoch after the seed phase. The node warns seven days ahead.

What taking part costs