Rules & Instructions

HOW TO PLAY

Stake your USDm, find Patient Zero before they turn everyone, and walk away with the pot. Activate your Shield if you're being framed — but you only get one free, so spend it wisely.

00

The Objective

☣️

Patient Zero

The original source of infection. Has the power to spread the plague each round. If eliminated, the next player in the infection chain is promoted to Patient Zero.

Win Condition

Survive until infected players strictly outnumber clean players alive.

🦠

Infected

Secretly infected by the current Patient Zero. Acts as a normal Clean player to the public while secretly working to let the infection spread. Waiting in succession to become Patient Zero.

Win Condition

Survive until infected players strictly outnumber clean players alive.

🏃

Clean

You know you're clean. Use deduction and your Shield to find the infected before they take everyone down.

Win Condition

Eliminate all infected players before rounds run out.

01

Room Lifecycle

Every game goes through four distinct statuses before it ends.

1
Waiting

The room is open. Players can join by staking the required USDm amount. Once the room fills or the host closes it, no more entries are accepted. Rooms automatically expire if not started within the configured time — all stakes are fully refunded.

  • Join by staking USDm
  • Wait for min players (4 minimum)
  • Room expires if unfilled → stakes refunded
2
Starting

The host started the game and the join window is closed. Every player has to lock in their secret role within a short window. If too few players lock in, the game ends early — the ones who locked in split the pot, the rest get refunded.

  • Set your Shield Password to lock in your role
  • Lock in fast — missing the window can end the game early
  • No new players can join
3
Active

The game is live. Rounds of Infection → Discussion → Voting → Reveal repeat until one side wins. Every action is locked in on-chain — no take-backs.

  • Infection, Discussion, Voting, Reveal phases cycle
  • Cast votes and activate Shields on-chain
  • Watch for phase-change events
4
Ended

The game is over. The smart contract has determined the winner faction and distributed the pot automatically. No admin action needed.

  • Pot distributed automatically to winners
  • Platform takes 0.3% fee from pot
  • Results finalized on-chain
02

Round Structure

Each round cycles through four phases. Understanding phase timing is critical to using proofs strategically.

🦠Auto
01

Infection

Round 1: the system selects a Clean player to infect using a deterministic hash. Round 2+: the player Patient Zero voted for in the previous round becomes the infection target (if still eligible). Only the newly infected player receives a private notification — everyone else sees nothing. This makes Patient Zero's vote a hidden strategic weapon: it openly nominates a suspect for elimination and secretly queues that same player as the next infection target.

💬60 s
02

Discussion

Players discuss and debate who might be infected. Clean players can activate a Shield to prove they're not the zombie without revealing anything else. One Shield per player per round, and the window closes the moment voting begins.

🗳️60 s
03

Voting

Every alive player casts an on-chain vote for the player they believe is infected. Any player who fails to vote before the timer expires automatically receives a self-vote — their vote is cast against themselves. Silence equals guilt; abstention is never safe.

Auto
04

Reveal

The smart contract resolves votes, applies the vote-protection rules, eliminates (or saves) a player, checks endgame conditions, and either starts the next round or triggers the final payout.

03

Patient Zero Succession

The infection has a chain of command. Eliminating Patient Zero doesn't stop the plague — it just promotes the next infected player.

  • 1Initial Patient Zero is set when the first player is ever infected.
  • 2Each newly infected player is appended to the infection chain in order.
  • 3When the current Patient Zero is eliminated, the next alive player in the chain is promoted.
  • 4Example: A infects B, B infects E, E infects C, C infects G. If A is eliminated → B becomes PZ. If B is eliminated → E becomes PZ. And so on.
  • 5The current Patient Zero address is public on-chain — players can verify it.

On-Chain Verifiable

The current Patient Zero address is stored publicly in the contract (currentPatientZero[roomId]). Any player can verify who holds the role at any time.

04

Vote Resolution Rules

The smart contract applies deterministic rules to resolve every vote. There is no ambiguity or moderator discretion.

A

Single top candidate — no Shield

Eliminated

One player got the most votes and never activated a Shield. They get kicked out of the game.

B

Single top candidate — Shield activated

Saved

One player got the most votes but activated their Shield during Discussion. They survive; the game continues normally next round.

C

Tie — at least one infected or unprotected

All vulnerable tied players eliminated

Multiple players share the top vote count. If any tied player is infected, all tied infected players are kicked out. If none are infected, all tied clean players without a Shield go down. Anyone with an active Shield is safe.

D

Tie — everyone Shielded

No elimination

Every tied top-voted player activated their Shield. Nobody goes home, and no extra infection is forced — only Patient Zero infects normally next round. The room sees a generic message; nobody learns who Shielded.

Absent Vote Rule

Any player who does not cast a vote during the Voting phase automatically has a self-vote recorded against them. Silence equals guilt — abstaining is actively dangerous regardless of who else is leading. There is no safe way to skip your vote.

05

Shields

Shields are your insurance policy. Use them wisely — they are limited.

🆓

First Shield is free

Every player gets one free Shield per game. No USDm needed.

💸

Extra Shields cost a fee

After your free one, each extra Shield costs the room's fee. The fee goes to the platform.

1️⃣

One Shield per round

Max one Shield per player per round. You can't spam them.

🔐

Only Clean players can Shield

Infected players can't fake a Shield — the math literally won't let them. If you're infected, don't try; it will fail and reveal you.

Discussion phase only

The Shield window opens when Discussion starts and slams shut the moment voting begins. Miss it and you're on your own.

🎲

Strategic gamble

You have to decide whether to Shield before you know who'll be the top vote target. Use it when safe and you waste it; don't use it when targeted and you lose the game.

Under the Hood (for the curious)

The Shield circuit (built in Noir) proves your role is CLEAN without revealing your role or your secret to anyone. Your commitment Poseidon(role, secret) was registered on-chain at game start. The nullifier Poseidon(secret, roomId, round) stops the same Shield from being replayed across rounds. The Groth16 proof is verified on-chain before the Shield is accepted.

06

Endgame & Payouts

Win conditions are checked automatically by the contract after every Reveal phase. Payouts are instant and trustless.

Clean Win

Condition

All infected players are eliminated.

Payout

The entire pot (minus 0.3% platform fee) is split equally among surviving Clean players.

☣️

Infected Win

Condition

Infected players alive > Clean players alive.

Payout

The pot is split equally among surviving Infected players.

⚖️

1 vs 1 Draw

Condition

Exactly 1 infected alive and 1 clean alive at Reveal finalization.

Payout

Draw outcome. No faction win is declared.

⏱️

Max Rounds Draw

Condition

The game reaches the maximum round limit without a decisive win.

Payout

Counts as an Infected win. The pot goes to surviving Infected players.

Platform Fee

A 0.3% platform fee is deducted from the pot at game end before distribution to winners. Proof fees (paid for proofs after your first free one) are collected separately and do not come from the pot.

07

Strategy Tips

Playing Clean

  • Save your free Shield for when you're about to be voted out.
  • Watch for players who never vote against obvious suspects — they might be covering for their team.
  • Team up with trusted clean players and focus votes decisively.
  • Shielding too early tips your hand — only do it when you need to.

Playing Infected

  • Never vote obviously against the clean side — it gives you away.
  • Vote early and convincingly against a clean player to build false trust.
  • If the current Patient Zero is under suspicion, push for their elimination — you might get promoted.
  • You can't fake a Shield — the math will reject you. Don't try; it will publicly out you.

Ready to Play?

Sign in, join a room in the lobby, and stake your USDm.